|
楼主 |
发表于 2005-2-21 11:51:16
|
显示全部楼层
继续请教
想用syeye来模拟at91的那个板子。按照板子的手册设定flash基址为0x010000,size 0x00200000,sram基址为0x02000000,size为0x00200000.
这几天看了些帖子,说romfs地址在bklmem.c里面可以设定。比如这个root=dev/rom0,这个rom0应该是在加载文件系统时确定的大小吧,而不是在memory初始化确定的。
根据别人的例子在blkmeme_init()中加入
arena[0].length = (unsigned long)(-1);
arena[0].address = (unsigned long)0x02000000;
接着下面有一个条件是若arenalength==-1,那么在arena.address+8找arena的length。
但是编译过后运行kernel找不到romfs的地方,感觉romfs并没有放在该地址(附图romfs);
这个arena数组元素的多少在kernel初始化是怎么确定的呢?
我想这个aren0就是rom0吧,是有多少个设备就是i多大吗?
又想在blkmem.c里面有
#if defined(CONFIG_ARCH_DSC21) || defined(CONFIG_ARCH_ATMEL)
#define FIXED_ROMARRAY (char *)(FLASH_MEM_BASE)
#endif
把#define FIXED_ROMARRAY (char *)(FLASH_MEM_BASE)
改为{0,0x02000000,-1},也出错编译编译不了。
这个ROMARRAY是什么意思,这里把设定为FLASH_MEM_BASE是什么意义?
还有就是我在特定架构arh.c里面加入MACHINE_START里面加入BOOT_PARAMS(0x01000100),意思是bootloader放的参数在这个地方,但是一编译就出错。也不知道对不对?
以上就是菜鸟遇到的问题,因为没有开发板,只是想了学一下uclinux怎么在ARM上跑起来的,再加上用的是vmware,很艰难啊。希望哪位能解惑啊?感激不尽 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|