请选择 进入手机版 | 继续访问电脑版

Exynos4412/4418/6818/i.MX6开发板俱乐部

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1910|回复: 1

嵌入式系统学习开发指导

[复制链接]

1

主题

2

帖子

9

积分

版主

Rank: 7Rank: 7Rank: 7

积分
9
发表于 2014-6-30 17:45:47 | 显示全部楼层 |阅读模式
本帖最后由 Topeet-yimu 于 2014-6-30 17:48 编辑

注:本文章部分参考摘录自:《嵌入式系统Linux内核开发实战指南(ARM平台)》

初级阶段:熟悉基本开发流程和方法阶段。

这一阶段需要掌握的知识和技能包括:1.)嵌入式系统硬件设计流程;2.)嵌入式系统硬件调试;3.)嵌入式系统软件下载、调试、固化;4.)Bootloader编译、移植、裁剪、调试、固化;5.)Linux内核交叉编译环境创建;6.)Linux内核编译;7.)Linux内核下载、调试、固化。

这一阶段需要做的事情包括:起步人员开在相关书籍(如原书)指导下,参考一套市场上成熟的嵌入式开发套件,或者直接使用相关原理图、pcb图、及相关配件(如调试器原理图、pcb),自己亲自去制板、采购元器件、焊接、调试,然后亲自编译、下载、调试、固化,自己把这个过程走一遍,就把嵌入式Linux开发流程和方法熟悉了,为以后的进一步攀登打下了坚实的基本功底。

中级阶段:经验积累、技能增长阶段。

这一阶段需要掌握的知识和技能包括:1.)嵌入式系统软硬件疑难问题调试解决;2.)Linux内核移植、裁剪、调试;3.)各种设备驱动程序开发与调试。

这一阶段需要做的事情包括:这个阶段可以在一个比较大的平台(各种外围设备如:usb接口、gps、3G、以太网口、wifi等)上开发、移植、调试各种设备驱动程序,多看一些外设芯片数据手册。多看一些接口标准和协议手册,在开发的过程中积累更多的经验和技能。

高级阶段:能够从系统原理的高度分析解决问题。

这一阶段需要掌握的知识和技能包括:1.)精通各种架构嵌入式处理器内部结构和原理,能够将它们融会贯通;2.)Linux内核疑难问题调试、解决;3.)Linux内核优化;4.)能够将Linux内核移植到Linux已经支持的某种架构的新型号处理器平台上。

这一阶段需要做的事情包括:多在一些不同架构、不同型号的处理器平台上做开发,阅读不同处理器的芯片手册,比较理解各种处理器的内部架构原理,还可以尝试修改内核源代码,加深对Linux内核的理解,优化Linux内核。

专家级别:对Linux内核各组件原理有透彻理解。

这一阶段需要掌握的知识和技能包括:1.)深入理解Linux内核的组织架构。2.)深入理解Linux内核各部分的实现原理;3.)能够根据需要随心所欲增减Linux内核组件和组件中的模块;4.)能够将Linux内核移植到Linux尚未支持的新型架构处理器平台上。

此阶段需要做的事情包括:最核心的事情就是静心阅读Linux源码,参悟其中的精髓。因为不管做了多长时间、多少项目的开发人员,其实只是增长积累了经验、技能和方法,而真正涉及Linux内核精髓,从而去改动的并不多,所以他们虽然算的上是Linux开发高手,但Linux内核理论水平并不高,这必须专门去系统阅读Linux内核,以前的经验会让你更容易理解Linux内核原理,而这又可以指导今后的开发,这样理论和实践相互促进相互提高。坚持下去,你的理论水平和实战能力终将得到质的飞跃,成为真正的嵌入式系统和Linux内核专家,那时你就能“不管风吹浪打,胜似闲庭信步” “悠哉,壮哉”

可敬的同学们,道友们,大家现在荣升到哪一界别了?

本段可能只说明了嵌入式Linux的学习提高进阶过程,但万法相通,我想,对于如今人气最旺盛的Android开发,贵族气质的IOS,再或者是不甘落后的Windows Phone等嵌入式系统都有类似的艰苦过程吧。

回复

使用道具 举报

15

主题

39

帖子

145

积分

注册会员

Rank: 2

积分
145
发表于 2014-10-22 20:17:23 | 显示全部楼层
我现在最多是初级阶段吧,悲催
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|迅为电子 ( 京ICP备12036083号-2

GMT+8, 2019-3-26 00:06 , Processed in 0.087188 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表