配置宿主机的以太网口# ifconfig eth0 down# ifconfig eth0 192.168.1.1 up (可以不配置,直接用ifconfig查看自己的IP,记住)
在宿主机上建立目录/home/nfs
编辑/etc/exports文件如下:/home/nfs *(rw,sync,no_root_squash)允许ARMer9开发系统将宿主机上的/home/nfs这个目录mount到开发系统下,即,ARMer9开发系统可以通过网络访问宿主机上的/home/nfs目录。
执行/etc/init.d目录下的程序nfs,重启NFS Server# exportfs -rv
# /etc/rc.d/init.d/portmap start (第一次刚用NFS时,这一步一定要,不然会出现这样的错误:root_nfs failed, reason given by server: 权限不够)
# /etc/rc.d/init.d/nfs start
NFS客户端的操作如下:
启动ARMer9开发系统上的Linux系统。
配置ARMer9开发系统上的以太网口 # ifconfig eth0 down # ifconfig eth0 192.168.1.2 up (可以不配置,直接用ifconfig查看自己的IP,记住)
ping一下宿主机,看ARMer9开发系统和宿主机的网络是否相通 # ping -c 5 192.168.1.1
在ARMer9开发系统中建立目录/mnt # mkdir /mnt
>> 阅读全文

500 OOPS: could not bind listening IPv4 socket问题
有人说: 要在/etc/xinetd.d/vsftpd文件中,把disable=no改成YES就行了! 还有就是在/etc/vsftpd.conf文件添加listen=yes这样就改成了
STANDALONE独立模式!因为xinetd已经启动了vsftpd,而vsftpd设置成了
stardalone模式,所以,先停止xinetd服务,service xinetd stop ,然
后 /usr/local/sbin/vsftpd & 启动ftp服务
我安装完了.没有/etc/xinetd.d/vsftpd文件.我在网上查发现好多人跟我的一样.呵呵!
现在我把我解决的方法共享如下:既然我没有那个文件那我就增加
这个文件如下:vi /etc/xinetd.d/vsftpd
service ftp{ socket_type = stream wait = no user = root server = /usr/local/sbin/vsftpd server_args = /etc/vsftpd/vsftpd.conf log_on_success += DURATION USERID log_on_failure += USERID nice = 10 disable = no}server_args请设置你的vsftpd.conf所在目录的完整文件名.
好了之后ftp可以用了..

>> 阅读全文

//*******************************************************//*2007.6.18//*******************************************************在/kernel/include/asm-arm/arch-s3c2410/bitfield.h 文件中:#ifndef __ASSEMBLY__#define UData(Data)((unsigned long) (Data))#else#define UData(Data)(Data)#endif
例:UData(5); = 5
/** MACRO: Fld** Purpose* The macro "Fld" encodes a bit field, given its size and its shift value* with respect to bit 0.** Note* A more intuitive way to encode bit fields would have been to use their* mask. However, extracting size and shift value information from a bit* field''''s mask is cumbersome and might break the assembler (255-character* line-size limit).** Input* Size Size of the bit field, in number of bits.* Shft Shift value of the bit field with respect to bit 0.** Output* Fld Encoded bit field.*/
#define Fld(Size, Shft)(((Size)
例:Fld(2,5); = 0x20005
/** MACROS: FSize, FShft, FMsk, FAlnMsk, F1stBit** Purpo...

>> 阅读全文

armlinux学习笔记--IIS音频驱动程序分析(1)
//*******************************************************//*2007.7.5//******************************************************* Linux 下的IIS 音频驱动程序主要都在/kernel/drivers/sound/s3c2410-uda1341.c 文件中。
在音频驱动程序中有2个比较重要的结构体:
typedef struct {int size;/* buffer size */char *start;/* point to actual buffer */(内存虚拟地址起始地址)dma_addr_t dma_addr;/* physical buffer address */(内存物理地址起始地址)struct semaphore sem;/* down before touching the buffer */int master;/* owner for buffer allocation, contain size when true */(内存大小)} audio_buf_t;
typedef struct {audio_buf_t *buffers;/* pointer to audio buffer structures */audio_buf_t *buf;/* current buffer used by read/write */u_int buf_idx;/* index for the pointer above */u_int fragsize;/* fragment i.e. buffer size */(音频缓冲区片大小)u_int nbfrags;/* nbr of fragments */(音频缓冲区片数量)dmach_t dma_ch;/* DMA ...

>> 阅读全文


8月6日
armlinux学习笔记--触摸屏驱动程序分析
//*******************************************************//*2007.6.26//******************************************************* Linux 下的触摸屏驱动程序主要都在/kernel/drivers/char/s3c2410-ts.c 文件中。
触摸屏的file_operations 结构定义如下:static struct file_operations s3c2410_fops = {owner:THIS_MODULE,open:s3c2410_ts_open,read:s3c2410_ts_read,release:s3c2410_ts_release,#ifdef USE_ASYNCfasync:s3c2410_ts_fasync,#endifpoll:s3c2410_ts_poll,};
在触摸屏设备驱动程序中,全局变量struct TS_DEV tsdev 是很重要的,用来保存触摸屏的相关参数、等待处理的消息队列、当前采样数据、上一次采样数据等信息,数据结构struct TS_DEV 的定义如下:typedef struct {unsigned int penStatus;/* PEN_UP, PEN_DOWN, PEN_SAMPLE */TS_RET buf[MAX_TS_BUF];/* protect against overrun(环形缓冲区) */unsigned int head, tail;/* head and tail for queued events (环形缓冲区的头尾)*/wait_queue_head_t wq;//* 等待队列数据结构spinlock_t...

>> 阅读全文

【August】【2006年11月】【linux下的触摸屏驱动开发】
这一个月忙的都是驱动,现在主要谈谈编写s3c2410的触摸屏驱动的收获。模仿已有的驱动自己也写了一个驱动,实现同样的功能。同时为了完成这个驱动,把LDD2 这本书相关部分好好的读了一遍,获益匪浅。先看看为了完成一个驱动,需要作的事吧。1.看datasheet,说白了芯片user manual,对于触摸屏,那些寄存器是主要的关注点,如ADCCON,ADCTSC…..,这些寄存器均会在驱动中使用,驱动也是全凭这些寄存器才完成与硬件的通信。这步很关键的说,虽然只用了了几笔!2.接下来应该先熟悉一下驱动中都需要定义些什么接口,如read,write,open,release,这些是基本的。见多了就不怪了,其实就是那些为上层(用户层)预留了访问内核数据的接口,比如此驱动,我在用户层调用用户层的read函数读取数据时,实际上就是在调用内核层(驱动属于内核层)的read来完成读操作。3.中断,中断,上课时看似没用的东西,现在用到了吧。啥叫中断,在此不表。怎么实现中断?还记得中断服务程序吗,就是它了。在程序的初始化函数(init)中,先使用ret=request_irq(IRQ_ADC_DONE,adc_isr_handler,SA_INTERRUPT,DEVICE_NAME,NULL);申...

>> 阅读全文

#include#include #define uchar unsigned char
/******************12864液晶端口定义*******************/sbit LCD_RS=P3^2;sbit LCD_RW=P3^1;sbit LCD_E=P3^0;#define LCD_Data P1/****************12864函数初始化*********************/void LCD_Check_Busy(void);void LCD_Write_I(unsigned char x);void LCD_Write_Data(unsigned char z);void deley(unsigned char x);
//////////////////////////主函数///////////////////////////////void main(){unsigned char code_1[]={"欢迎观看牛车"}; unsigned char code_2[]={"铁片数: "};unsigned char code_3[]={"时间: "};unsigned char code_4[]={"模式: "};unsigned char code_5[]={"路程: "};
unsigned char code_7[]={"黑线跟踪"};unsigned char code_8[]={"半圆跟踪"};unsigned char code_9[]={"躲障碍物"};unsigned char code_10[]={"光源跟踪"};unsigned char code_11[]={"谢谢观看"};unsigned char code_12[]={"米"}; LCD_Write_I(0x30); // 基本操作指令...

>> 阅读全文

解决遇到What is the location of the directory of C header files that match your running kernel?问题的良药..
Linux上正确安装vmware-tool
大概步骤分10步: 1.安装c编译器 2.安装kernel-devel 3.检查kernel跟kernel-devel的版本号(只有两个版本号相同才能成功安装..当初我就栽倒在了这里很长时间) 4.两个版本号不一致,进行升级 5.再次检查版本号,还不一致,需要重启。 6.重启后,版本号一致。 7.用ls命令查看匹配kernel的c编译器的header的路径 8.安装vmware-tool 9.选择屏幕分辨率。 10.还要修改xorg config设置 详细请看下面:: 1.安装c编译器 [root@localhost ~]# yum install gcc 2.安装kernel-devel [root@localhost ~]# yum install kernel-devel 3.检查kernel跟kernel-devel的版本号 [root@localhost ~]# uname -r 2.6.18-1.2798.fc6 [root@localhost ~]# rpm -q kernel-devel kernel-devel-2.6.18-1.2849.fc6 4.两个版本号不一致,进行升级 [root@localhost ~]# yum -y upgrade kernel kernel-devel 5.再次检查版本号,还不一致,需要重启。 [root@localhost ~]# uname -r 2.6.18-1.2798.fc6 [root@localhost ~]# rpm -q kernel-de...

>> 阅读全文