vivi源代码中添加自己的分区信息,然后编译,将生成的vivi通过JTAG烧写进目标板,在超级终端中进入vivi,重新bon分区flash,这是十分必要的,相当于重新分区并格式化了整个flash区,当bon分区后flash里面的数据将全部丢失,所以要再把前面 新生成的vivi烧入目标板上,当然现在就可以只通过串口把vivi烧写进去,不用像第1步那样操作烧写vivi,但是注意bon命令重新分区后千万不要 断电了再烧写vivi,否则就不能通过串口烧vivi了,具体步骤如下:
(1)这里将flash分成4个区(vivi和param只占一个区),输入bon分区命令:
#bon part 0 192K 2M 4M
解释一下上面的命令:
第1个分区从0开始;
第2个分区从0x30000(即192K)开始;
第3个分区从0x200000(即2M)开始;
第4个分区从0x400000(即4M)开始.
(2)分区成功后,可以通过命令bon part info或者bon part show来查看bon分区信息,接下来不要断电,直接通过串口下载vivi,但是要注意的是,在linux下用xmodem协议下载文件很有可能出现传输 过程中断线或者连不上的情况,但是在windowsXP的附件中的超级终端下通过xmodem传输文件过程却是十分的理想,所以我建议从前面的第3步一开 始就都在windowsXP环境下的超级终端里进行操作,输入命令:
#load flash vivi x
然后点击终端窗口中的传送下的发送文件,采用xmodem协议,选择要下载的vivi码即可.
(3)等待文件传输完毕后,输入boot重启目标板,并按住空格键重新进入vivi模式下,输入命令:
#part show
即可看到重新的分区表:
vivi> part show
mtdpart info. (5 partitions)
name offset size flag
------------------------------------------------
vivi : 0x00000000 0x00020000 0 128k
param : 0x00020000 0x00010000 0 64k
kernel : 0x00030000 0x001f0000 0 1M+960k
root : 0x00200000 0x00400000 4 4M
user : 0x00400000 0x04000000 0 64M
vivi>
以上就是整个分区过程了.
但是输入bon part 0 192k 2m的时候如果就出现了如下错误提示:
Could not found 'bon' command
If you want to konw available commands, type 'help'
则是vivi没装bon命令。
请看源代码是否提供bon命令的相关代码,如果提供了,一般文件名是:bonfs.h, bon.c。再看command.c是否有:
#ifdef CONFIG_CMD_BONFS
extern user_command_t bon_cmd;
#endif
在config文件(如果你用的是缺省的配置文件,请打开/vivi/arch/def-configs/smdk2410),从中添加CONFIG_CMD_BONFS=y。
然后再重新编译vivi。
不过请留意,你vivi源代码是否是板上可以运行的vivi的源码。不然要修改很多地方才能用,如时钟频率、内存配置参数等等。
阅读(1556) | 评论(0) | 转发(0) |