嵌入式 友善之臂ARM2440烧写程序注释

Linux OS 是安装在NAND flash里面的,在烧制LinuxOS时候是用nor flash启动的
从nand flash启动后,首先要有bootloader来引导系统
我们这里安装的bootloader是supervivi(并不开源),系统还可以实用vboot

第一步:下载supervivi到nandflash
第二步:下载Linux kernel  系统内核 zImage格式的文件,下载完毕后,BIOS会自动把内核烧到flash中分区中
第三步:下载安装文件系统,我们使用的是yaffs文件系统,下载完毕后,BIOS会自动把文件系统烧到nand flash分区中

 

烧写后可以选择nand flash启动或者nor flash启动,从nand flash启动,要先把Linux OS和file system下载到nand flash中,当然少不了 bootloader否则,无法直接通过s2开关选择从nand flash启动,但是可以通过nor flash启动,然后选择命令b   boot system来启动,

板子会把Linux内核加载到ram中,然后启动

或者不用每次都烧到flash中去运行程序,只需要把内核下载到ram中,指定的位置,然后boot就可以了

 

因为file system无法通过usb直接下载到内核中运行,所以我们说从ram中运行程序,一般指的是内核,就是zImage文件,文件系统可以使用NFS或者烧写yaffs文件系统,不过我想因该也可以把使用与ram中的文件系统下载到ram中运行,就是ramdisk文件系统,我们可以把制作好的文件系统通过工具制作成ramdisk,然后下载到ram中,这样flash里面只需要运行内核就可以了,当然也可以使用nfs文件系统,使用那一种文件系统需要在内核中配置指定,ramdisk和nfs运行在内存中的,实际上是ext2文件系统,这和ysffs文件系统不一样,yaffs是通过下载到flash中,然后把文件系统独到内存中去运行的,同样的是cramfs文件系统,但是cramfs文件系统却是只读的。下载的方式我们也可以使用tftp,但是需要bootloader来支持tftp下载,但是我们可以通过tftp来调试自己的应用程序,或者使用nfs文件系统来调试自己的应用程序。

关于这写文件系统的不同,详见http://www.examda.com/linux/redflag/fudao/20070920/112511683.html

你可能感兴趣的:(linux,File,Flash,嵌入式,System,linux内核)