现在的位置: 首页 > 综合 > 正文

如何走进嵌入式开发[1] — 基本组成

2013年09月04日 ⁄ 综合 ⁄ 共 999字 ⁄ 字号 评论关闭

首先需要申明的是,本人也还是X鸟级,说的只是现阶段粗浅想法,可能明年就不是这样想了,一个朋友让我给介绍下如何入门,在此就总结关于这个话题的经验。

 

记得毕业设计时,觉得嵌入式这个名字比较高级,主要是以前没怎么听过,毕设就选了个相关题目,结果那叫惨不忍睹呀,只能靠文档充数。

 

鬼使神差,第一份工作做的竟然也是嵌入式相关,我就带着从学校里学得的XX理论,加入嵌入式新兵行列。

 

感觉,总的下来,是学到不少东西,确实是比当年从容了许多,我入门了~估计!

 

由于本人比较偏软件,硬件许多东西还想不清楚,这归为我的先天不足吧,需要提高。

 

下面就从带有偏见的角度说说,我们从基本组成开始:

1. toolchain;

2. boot loader;

3. kernel;

4. rootfs;

 

这几个基本就够成了整个嵌入式开发所接触的东西了,其中基本东西都在BSP中,所以真正要做的东西不是很多。当然如果想提高,可以都自己弄弄。

 

工具链:其实没什么需要弄的,我们的板子是ARM的,就随便找来个ARM工具链,基本都是能用的;自己编的话相当麻烦,记得也就是做LFS时,对着文档时成功过一次。

 

boot loader:用u-boot的比较多,代码可以看看,主要就是2块,一个汇编部分,一个是c部分,汇编部分偏底层。我认为把u-boot代码弄一弄还是很有必要的,起码说板子的内存分布,基本操作都了解了,几个硬件驱动也都能做了,内核做的一部分工作和这个也是一样的。当然,u-boot代码结构相当不好,一点就是,和这个板子不相关的驱动,它都会编译,这完全体现不出模块化,因此,我们改写了u-boot,加入KCONFIG, 弄得和内核一样。

 

kernel:如果只是一般应用,应该不太涉及修改内核,BSP的拿来直接用,不过如果遇到和我们一样不太负责的BSP提供商,就需要好好弄弄了,不过确实可以学到不少,最主要的是内核结构,硬件结构,接口啥的,写驱动的话,这个很有帮助。至于内核修改,那就说不完了。内核有的尽管用,内核没得想法加。

 

rootfs:就是那个东西!

 

 组成说完了,这就算入门了吗?我感觉是。好像没啥东西,不过我感觉我现在能做的也就是这些:

用我们自己的bootloader,在自己的内核加入自己的功能,跑自己的rootfs,一条龙了。

 

暂时休息,下回补充。。。

 

加句话:理论的内容应该会比较少,这里只是实际过程的总结,“这话不能说得太细”~。!

抱歉!评论已关闭.