嵌入式操作系统VxWorks中TFFS文件系统的构建
.write=mx29lvWrite;
vol.erase=mx29lvErase;
在mx29lvWrite()函数中主要是实现将数据写到flash中。首先需要对扇区进行解锁,然后写入写命令,之后才能进行数据的写入。最后需要判断数据是否写完。为了确保操作成功,我们应该在写完每个数据后进行数据的比较,比较正确后方能进行下一个数据的操作。
在mx29lvErase()函数中主要是实现f
lash扇区的擦除。如今的flash一般都是按照扇区进行擦除操作的。在擦除操作之前也应该首先对扇区进行解锁,然后写擦除建立和扇区擦除命令。擦除成功后,flash中的内容应该是0xffff。所以为了确保成功,我们还是应该在擦除后进行比较,比较正确后方能进入下一个扇区的擦除操作,否则返回擦除错误标志。
所以,对于MTD驱动的调试,基本上就是调试写和擦除两个函数。在调试过程中,我们可以在这两个函数相应位置加入打印语句来调试。为了能调试这两个函数,我们通过在shell上输入命令tffsDevFormat来格式化flash,tffsDevFormat最终会调用mx29lvErase和mx29lvWrite函数,如果成功就会返回0,否则返回-1。当然也可以调用tffsDevCreate函数来验证我们的写和擦除函数的正确性。图2说明了tffsDevCreate调用过程。
在shell上利用tffsShow来验证mx29lvMtdIdentiy。
ètffsShow
0:socket=RFA:type=0x2249,unitSize=0x10000,mediaSize=0x1f0000
value=49=0x31="1"
说明已正确识别到MX29LV160BT设备,设备号为0x2249。
三、建立TFFS设备
1、挂接设备名
MTD驱动调试成功后,我们就可以给flash设备挂接上dos设备名,如下操作:
格式化:
ètffsDevFormat
value=1
èusrTffsConfig0,0,”/tffs0”
value=0
然后通过devs来查看挂接的设备名。
èdevs
drvname
0/null
1/tyCo/0
1/tyCo/1
5host:
6/pty/rlogin.S
7/pty/rlogin.M
3/tffs0/
8/vio
value=25=0x19
看到/tffs0/说明挂接设备已经成功,接下来就可以利用dosFs文件系统相关命令来操作flash了。如,ls、copy等。
2、从Flash中启动并下载VxWorks映像
要从flash中下载VxWorks映像,首先需要把VxWorks映像拷贝到flash中,在shell中的操作命令为copy“VxWorks”,”/tffs0/VxWorks”,然后修改config.h文件中引导行,如下:
#defineDEFAULT_BOOT_LINE\
"tffs=0,0(0,0)host:/tffs0/VxWorksh=192.168.0.153e=192.168.0.154u=tar 《嵌入式操作系统VxWorks中TFFS文件系统的构建(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/141644.html
vol.erase=mx29lvErase;
在mx29lvWrite()函数中主要是实现将数据写到flash中。首先需要对扇区进行解锁,然后写入写命令,之后才能进行数据的写入。最后需要判断数据是否写完。为了确保操作成功,我们应该在写完每个数据后进行数据的比较,比较正确后方能进行下一个数据的操作。
在mx29lvErase()函数中主要是实现f
lash扇区的擦除。如今的flash一般都是按照扇区进行擦除操作的。在擦除操作之前也应该首先对扇区进行解锁,然后写擦除建立和扇区擦除命令。擦除成功后,flash中的内容应该是0xffff。所以为了确保成功,我们还是应该在擦除后进行比较,比较正确后方能进入下一个扇区的擦除操作,否则返回擦除错误标志。
所以,对于MTD驱动的调试,基本上就是调试写和擦除两个函数。在调试过程中,我们可以在这两个函数相应位置加入打印语句来调试。为了能调试这两个函数,我们通过在shell上输入命令tffsDevFormat来格式化flash,tffsDevFormat最终会调用mx29lvErase和mx29lvWrite函数,如果成功就会返回0,否则返回-1。当然也可以调用tffsDevCreate函数来验证我们的写和擦除函数的正确性。图2说明了tffsDevCreate调用过程。
在shell上利用tffsShow来验证mx29lvMtdIdentiy。
ètffsShow
0:socket=RFA:type=0x2249,unitSize=0x10000,mediaSize=0x1f0000
value=49=0x31="1"
说明已正确识别到MX29LV160BT设备,设备号为0x2249。
三、建立TFFS设备
1、挂接设备名
MTD驱动调试成功后,我们就可以给flash设备挂接上dos设备名,如下操作:
格式化:
ètffsDevFormat
value=1
èusrTffsConfig0,0,”/tffs0”
value=0
然后通过devs来查看挂接的设备名。
èdevs
drvname
0/null
1/tyCo/0
1/tyCo/1
5host:
6/pty/rlogin.S
7/pty/rlogin.M
3/tffs0/
8/vio
value=25=0x19
看到/tffs0/说明挂接设备已经成功,接下来就可以利用dosFs文件系统相关命令来操作flash了。如,ls、copy等。
2、从Flash中启动并下载VxWorks映像
要从flash中下载VxWorks映像,首先需要把VxWorks映像拷贝到flash中,在shell中的操作命令为copy“VxWorks”,”/tffs0/VxWorks”,然后修改config.h文件中引导行,如下:
#defineDEFAULT_BOOT_LINE\
"tffs=0,0(0,0)host:/tffs0/VxWorksh=192.168.0.153e=192.168.0.154u=tar 《嵌入式操作系统VxWorks中TFFS文件系统的构建(第4页)》