romfs.img如何拼接到linux.bin后面?变成image.bin
将romfs.img拼接在linux内核二进制文件linux.bin后面,形成可烧写文件image.bin,是通过u-boot还是其它工具?烧写内容是只有boot.bin和image.bin嘛? 本帖最后由 john_light 于 2010-1-11 10:54 编辑
一般说来,BootLoader是第一个要烧写进Flash的,它负责对外设进行简单的配置,接受用户的其它操作。
Kernel和RootFS不必拼成一个文件,可以由BootLoader分别写入预定的地址。 就是无法拼接吧.
这两个文件的内部格式好像是不同的. 看看文件名也知道,
一个是fs.img一个是bin. 我用的是u_boot,不是说需要一个压缩的文件吗,用ulinux生成了romfs.img,linux.bin两个文件,不知道怎么把它们放到那里
我是按AN_Getting started uClinux with LPC22xx.pdf里步骤弄的,
u-boot可以用,当不知道把里面说的生存的roms.img和linux.bin下载到哪里 本帖最后由 john_light 于 2010-1-12 09:12 编辑
看了一下你提供的LPC22xx文档,我觉得没有Atmel提供的那么详细。当然,我没在LPC22xx上跑过Linux。
ATMEL Linux for SAM
不同厂家在Linux上的应用方案有很多共通之处,差别主要是RAM、FLASH还有外设的布局及大小不一。 单纯的Linux内核肯定没有什么意义,它要和根文件系统配合应用起来。
但是Linux内核加上文件系统往往体积不小,因此多把它们复制到外部扩展的RAM中再运行(如果是压缩的还要先解压)。
Linux跑起来之前,外部动态RAM等等资源需要初始化(比如配置动态刷新外部RAM),否则什么都存不了,更别说运行起来。
初始化的活基本上由BootLoader来干,解压搬运甚至更新内核或根文件亦然。
我们常用的BootLoader往往能设置一些参数或者脚本,让它初始化完成后从什么地址到什么地址搬运数据。这些地址和你所使用的芯片及硬件设计密切相关。它还要给Linux内核传递运行参数,告诉内核根文件系统在什么地方等等。
-----------------------------------------------------------------------------
于是,一上电,BootLoader先跑起来,初始化需要的外设,扛着内核到某地,再扛着根文件到某地,然后告诉内核说,行了,该你跑了,你找根文件耍去吧…… :lolLS幽默.
在lpc22xx上跑uclinux,那是蛋疼. 你先把这些全写到cpu里去 ,然后读出来生产bin 自己写个小工具,创建一个空文件,然后把各个模块放到其偏移地址上…… 资源少啊,我只有一个lpc2200的板子
norflash 是16M,是地址是0x80000000
ram是8M地址是0x81000000
我照上面用uboot 的loadb命令
把linux.bin下载到0x81008000
roms.img下载到81200000
然后go 0x81008000结果串口输出是乱码
uboot的拨特率设置的是19200,不知道linux里有没有拨特率设置的?
出现乱码不知道是怎么回事?
页:
[1]