BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #1836同步于 2008/10/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

【嵌入式学习入门 一】嵌入式开发如何入门[原创]

ccliu
2008/10/26镜像同步63 回复
如今,嵌入式行业发展十分迅速,从业人数激增的同时仍存在很大的人才需求,这是一个令人激动的行业,它的前景十分广阔。做为一个想要进入嵌入式开发领域的新手来说,静下心来了解一下入门所必须知道的一些事是十分有必要的。下面以嵌入式Linux系统开发为例,结合多位过来人的看法,和大家分享那些入门必要的事儿。 嵌入式Linux系统开发与传统的桌面PC开发有什么不同? 嵌入式Linux系统开发就是定制特定用途的设备开发。既然是设备当然有软有硬,硬件不像PC机那样通用兼容,这就要示根据特定的需求构造自己的硬件。嵌入式Linux系统开发的底层软件因为硬件的不统一也呈现出非一致性,也要根据特定设备需求进行裁剪。 嵌入式Linux系统开发的开发环境是什么样子的?作为一名嵌入式Linux系统开发者应当如何建立自己的开发环境? 嵌入式Linux系统开发采用的是交叉编译环境,如下图所示,所谓的交叉,是指在你熟悉的PC机和你的开发对像-----嵌入式目标系统之间交叉。传统的PC开发,通过开发工具得到的成果在PC上就能验证,不需转移到其它设备上验证,嵌入式系统开发则不一样,PC主机上的交叉编译工具开发所得的结果在PC上是运行不了的,你得把它放到嵌入式目标系统上去运行,进行调试。两者交叉连接的手段如图中所列出的几种常见手段,各有各的用途。 工作环境搭建好了以后,一个系统开发可以分成好几个层次的开发,你是全盘通吃呢?还是选择感兴趣的一部分深入研究? 以Linux操作系统为核心的嵌入式Linux系统所会涉及到的开发工作可以用下图所示的一个分层结构展示出来:大致可分为三层。  底层软硬结合部分,引导装载程序和驱动程序的移植开发。做这一部分开发工作,要有硬件架构基础,如常见的X86、ARM、PPC的硬件知识,基本指令集。Linux驱动开发这不用多说,是一个选择方向。  裁剪Linux内核,以Linux内核为基础构建嵌入式Linux系统特有的设备系统,这可看着是桌面PC上Linux的一个定制,因为桌面PC的许多功能在嵌入式设备上并不需要。这部分开发,操作系统的知识你得有点吧,Linux操作系统得会玩吧!  上层应用开发,这一层的工作更多,开发者的目标是,桌面PC能有的应用,只要用户有需要,都可以移植到嵌入式设备上来实现。 任何一门技术都是理论和实践的学习才能有效果。对嵌入式Linux系统开发更是这样,你只有一台PC也许是不够的。了解了上面所提及的一些事实后,试着动手实践一下吧,踏上你的嵌入式开发学习之路,一路肯定不会顺风的,不要闭门造车,有空多出去透透风风吧,如果你多参与一些嵌入式相关的技术社团或讨论小组,那里或许有热心的人会和你交流的,在交流中你会学得更快。 以上没有谈到任何一点有关具体技术实现的方法和步骤,只是希望读者能了解到要做嵌入式Linux系统开发,你应该知道的一些事。个人观点,与大家分享一下,希望热心人多多交流,但愿拍砖的能轻点啊! [em4]
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
sweetfly机器人#1 · 2008/10/26
聪聪同学是花了很大的心血才做好的,建议初学者好好看下,我们还有后续继续的学习方法,请大家多多关注。
michealyao机器人#2 · 2008/10/26
赞~~~
hobby机器人#3 · 2008/10/26
写的真好,希望大家一起努力,把我们这个版块做的更好 让它真正的成为一个嵌入式知识交流的有效平台
DusTin机器人#4 · 2008/10/26
赞,不过第一句话到现在还没有体验到。。。
hobby机器人#5 · 2008/10/26
【 在 DusTin 的大作中提到: 】 : 赞,不过第一句话到现在还没有体验到。。。 呵呵
tonney机器人#6 · 2008/10/26
ding
sweetfly机器人#7 · 2008/10/26
赫赫 争取做一个合格的板块~~
ocean117机器人#8 · 2008/10/26
赞!
lullaby机器人#9 · 2008/10/26
赞个~