今天搜索vivi的时候竟然发现现在vivi的源代码里面已经有了带usb驱动的, 以前可是保密源码的. 当时我就是因为vivi拿不到源码无法更改内核的分区所以放弃而转入u-boot的. 因为开发板给的linux2.4的系统, 而我想移植最新的2.6的linux. 所以1M空间是不够滴....必须改这部分代码.
学习环境依然是xp+vmware+linux2.4
虽然拿到了vivi with usb support. 但是仍然从裸体的vivi开始, 我要自己弄. 要吸收成自己的东西.
移植vivi首先就是改最外层 makefile文件, 有3个编译路径需要配置, 就是编译环境了. 作为vivi的结构来说 arch里面就是2410的配置, 也就是说这个文件夹就是2410的支持文件. 如果需要支持2440那就需要只重写这个文件夹的内容. drivers里面就是将来需要添加 网卡驱动和 usb驱动的地方. 目前的目标就是这3个地方.
先看 詹先生的文章. 经典. bootloader的第一阶段 第二阶段分别干什么每个部分干什么. 虽然以前都看过, 但是时隔好久, 温故而知新.
另外参考了博文 http://blog.chinaunix.net/u/21948/showart.php?id=376062 受益匪浅.
关于steppingstone 重新理解一下.
steppingstone 是 2410内部的一个 SRAM缓冲器,系统启动的时候,NANDFLASH最前面的4K字节自动载入到 STEPPING STONE里面, 然后系统自动执行这些代码.一般来说这4K代码会将nandflash中的程序copy到sdram中, 然后当steppingstone执行完了之后跳转到SDRAM中执行.