全部博文(404)
分类: LINUX
2008-09-25 17:41:39
原来一直不知道 nandboot 是干什么用的,反正老师说要和uboot合在一起,才能用. 对此一直有疑问
在网上搜索关于nandboot 的资料,基本上什么也没有,所以只有读取源代码,才能解决我这个疑问 后来费了很大劲才弄明白,是这么回事(也不知道对不对,有错的话,一定要给我指出来) 是否用 nandboot 跟硬件设计有关系,有的系统 只有nand flash 没有nor flash 有nor flash 的从nor flash启动的 OM1和OM00 应该接成01的模式 没有nor flash 的从nand flash启动的 OM1和OM00 应该接成00的模式 没有nor flash 的从nand flash启动的,需要nandboot程序, 有nor flash 的从nor flash启动的不需要nandboot程序 2410中ncgs0 指向的地址在 OM1和OM00 应该接成00的模式下有 4k的sram 可以映射 flash 低4k 的内容 上电首先运行这4k的内容,所以 nandflash必须写在nandflash的第0块,而且不能大于4knandboot 源程序代码并不多,文件解压后得到以下几个目录(为什么,我nandboot的源码传不上来?)
image文件夹 (存放编译完成后的bin文件) /nandboot.bin obj文件夹 (存放编译过程中的目标文件) include文件夹 (头文件-定义宏) 2410addr.h(定义cpu内部寄存器的地址的宏) 2410lib.h(调用的函数声明) 2410slib.h( MMU_EnableICache(void);函数声明) k9s1208.h def.h memcfg.h (内存寄存器数值定义) option.h (内存分配 映射表) src文件夹 (c源文件) 2410init.S (cpu初始化 引导文件,最早运行的程序) 2410lib.c 2410loader.c (主程序) k9s1208.c (flash 读写驱动程序) Makefile