- 首先分了三个版本,一个是在ram中运行,一个是从nand上启动,一个作为主分支,用于备份
- 因为nor上烧写了uboot,而2440的中断向量表又不能移动到ram中,所以在ram中运行的时候无法使用中断,所以需要一个从nand上启动的版本
- 需要中断是因为DM9000貌似要使用外部中断来通知cpu接收数据,另外lwip协议栈需要一个定时器,那么定时器也需要一个中断来更新系统变量达到定时效果
目前使用旧编译器生成的启动代码可以稳定启动,而使用同样的链接脚本,新编译器生成的代码有很多冗余,目前还是尽量能用旧编译器就用旧的
nand版本使用的就是旧编译器,目前还要解决的就是,添加lwip代码后,通过链接脚本将初始化相关函数定位到前4k字节,具体说就是nand的相关操作函数
- 编译了新的交叉编译工具,现在链接没有问题,printf也可以正常使用了
- 接下来编写dm9k的驱动,包括定时器的实现