VIVI 分区的内容一定要和内核分区一致! 不然会导致挂载文件系统或者其他失败!
vivi启动在flash map 之后报错,我的解决方法在配置的时候把一项关于nor flash去掉!
参照别人的教程,改写自己的分区,可是却发现是错的!虽然vivi里面分区的名称已经改了,分区大小(size和offset都改了),下载到板子上却发现还留有原来分区的名称,虽然有些分区大小改了,但是比如ucos却是错的!不明白出在哪儿,怎么会有这样的奇怪现象!以前自己也改过,却没有发现这样的现象!
做嵌入式实验的时候,比如公司提供的文档有一个简单的命令:vivi>bon part 0 128k 192k 1216k 4288k:m 64704k 虽然你看着它简单,可是你自己改源代码的时候要清楚一些必要的知识点!比如:
进入vivi/arch/s3c2410/smdk.c修改mtd nand default partion这个函数,里面有name,有size,offset,和flag!flag又分:“BONFS” —— 作为BONFS 文件系统的分区;
“JFFS2” —— 作为JFFS2 文件系统的分区;
“LOCK” —— 该分区被锁定了;
“RAM” —— 该分区作为RAM 使用。!
而且不要粗心,我刚才有一次试的时候,root的flag就没有写MF这个前缀,而且这个还要大写!
还有你编译vivi的时候会遇到错误,就拿到我的这个vivi0.1,4,在我的red hat linux9 2。4。18内核上编译就要用2.95.2交叉编译器,3.3.2和3.4.1不行,编译器过新,不利于一些代码的优化和编译。还有一些选项不需要选,如果你选你要懂得内在的关连,当然这需要你要懂bootloader和硬件了!修改vivi的(顶层的makefile的时候要修改交叉编译器路径和include包含文件库!例如我的(CROSS_COMPILE = /opt/host/armv4l/bin/armv4l-unknown-linux-;LINUX_INCLUDE_DIR = /opt/host/armv4l/include/;还有体系结构:ARCH:=arm
下一步修改内核分区也要和VIVI一致!linux 2.6.14(arch/arm/mach-s3c2410/devs.c修改分区文件)我另外一个PXA 270 linux 2.6.9应该到(/drivers/mtd/maps/pxa27x-flash.c)!
去吃饭!然后继续!:》