折腾了一天 看了很多文章 加上和HB的讨论 口干舌燥的我们 终于差不多弄清楚了 keil option 的配置,换句话说就是scatter文件的配置。
网上都有的 我就不写了。
重点是 scatter的作用
scatter 是 指定我将要加载的地址(加载域,ro,rw,zi),以及运行的地址。
仅仅是指定,并没有帮助我们将相应的程序和数据搬运过去,我们要手动用程序搬运!!
nand flash 的启动过程是, 先在nandflash 里 进行arm初始化,再将全部代码搬运到sdram中,再在sdram中根据我们在scatter文件中配置的
段的基地址,手工进行搬运程序。
我们根据 网上已有的域地址搬运代码,推出,编译器生成的bin文件,烧写在nandflash时,就是按照已有的段的大小分布的,RO+RW,而这个ro,rw的段的大小
等于我们在scatter中配置的最大size!!!因此,并不是我们所设想的ro,rw段里的内容都是满的,实际上,后面ro,rw段后面还是有很多无效内容的。
具体是否是这样,我们会在后期验证的!!!
ok,继续进行,下一步是把裸板串口驱动搞好。