嵌入式系统学习开发指导
2015-06-24 13:41
337 查看
本文转自迅为开发板论坛:http://www.topeetboard.com
注:本文章部分参考摘录自:《嵌入式系统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等嵌入式系统都有类似的艰苦过程吧。
注:本文章部分参考摘录自:《嵌入式系统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等嵌入式系统都有类似的艰苦过程吧。
相关文章推荐
- CorePlot学习 使用技巧
- java 枚举类型
- [Win32SDK基本]Static Control(2)Image Static Control
- [一起学Hive]之四-Hive的安装配置
- Java线程面试题 Top 50 (转载)
- int与long long之间的转换
- [转]Linux中设置服务自启动的三种方式
- Makefile
- 织梦5.7下载远程图片和资源无效全套最新解决方案
- MySQL删除存储过程和函数
- iOS开发之打包上传到App Store——(一)各种证书的理解
- 加密技术在信息安全领域的重要作用
- [NOIP2008] 笨小猴
- cocoapods安装与使用
- 启动Tomcat时报Caused by: java.lang.ClassNotFoundException: FilterConfig异常
- the assignment of reading paper
- 我要阻止做java开发的男朋友去创业型公司工作吗?
- 功率W与dBm的对照表及关系(转)
- MIT python 第二课最后一个例子 求整数的平方数
- 基于html5 canvas 的客户端异步上传图片的插件,支持客户端压缩图片尺寸