卢家顺的笔记 https://bbs.21ic.com/?513681 [收藏] [复制] [RSS]

日志

学习嵌入式linux的方法初探

已有 1374 次阅读2009-8-9 08:45 |个人分类:嵌入式linux开发|系统分类:嵌入式系统| linux, uboot, bootloader, 文件系统, 内核

本人是linux方面的一个菜鸟,arm9没有用过,也没有移植过什么bootloader或者linux什么,对linux的内核等也是很粗浅的认识。但是linux是一个潮流,需要掌握理解它。我在空闲的时候,经常到南京图书馆和新华书店去看资料,在加上网上的搜索,对学习linux的方法,有一定的见解。希望和大家探讨一下,也为了总结一下,加深理解,防止遗忘。


首先,我要给出一个嵌入式linux开发的公式:
        嵌入式linux开发 = bootloard移植 + linux 内核裁剪 + 文件系统裁剪 +应用程序开发
1)boartloard,类似于pc的BIOS.所做的工作,大致上是设置cpu参数,串口,网络初始化,解压和加载内核,将设置好的参数传递给内核,然后启动内核。这些参数应该包括内存,外存,文件系统位置的参数。有2中传递方式,推荐tag方式。比较流行的有uboot,vivi,redboot等。学习uboot,我认为要了解一下gcc的c语言扩展功能。还要学习在特殊段的定义,这对理解链接文件lds很有帮助。
2)内核 根据软件进行裁剪,记住gcc是arm-gcc等。
3)文件系统 这个需要自己制作,有工具busybox可用。
4)应用程序 当你写好应用程序的时候,需要把它编译成arm可执行文件,然后拷贝到文件系统里。这是应用程序还不能自动运行,需要你设置里面的一个文件,让它开机自动运行。
把bootloader,内核,文件系统通过isp,jtag或者网络烧写进去就可以了。


嵌入式linux开发涉及的东西很多,上面我给出了全局性的东西。然而上面的任何东西都不是轻而易举可以做到的,都要下苦功夫:shell编程;make工具;linux操作系统的原理;驱动开发;文件系统理解;学习一种arm9开发板;研习bootloarder。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)