嵌入式学习的路径
来源:互联网 发布:瑞狮网络 编辑:程序博客网 时间:2024/05/21 07:51
从去年做嵌入式项目到今天,已经快一年时间了,经历了从PCB设计, bootloader修改,核心移植, 文件系统移植,驱动开发,QT开发,几乎嵌入式开发的全过程. 回想起一年前,对嵌入式的感受大不一样,只庆幸是在学校,才能经历如此完整的项目流程.看到admin如此认真的写帖,感慨万千,将自己的很多想法写出来,希望对后来者有些帮助. ..如此,心足慰也。
第一个话题,嵌入式学习的路径有哪些...
这是一个初学者常问的问题,也是初学者问嵌入式该如何入门的根源..我感觉有两个方面,偏硬和偏软.我不认为嵌入式开发软件占绝对比重,相反,软硬件都懂,才是嵌入式高手所应该追求的,也是高手的必由之路.
硬件道路:
第一步: pcb设计,一般为开发板的电路裁减和扩充,由开发板原理图为基础,画出PCB和封装库,设计自己的电路.
第二步: SOPC技术,一般为FPGA,CPLD开发,利用VHDL等硬件描述语言做专用芯片开发,写出自己的逻辑电路,基于ALTER或XILINUX的FPGA做开发.
第三步: SOC设计,分前端,后端实现,这是硬件设计的核心技术:芯片设计.能做到这步,已经不属于平凡的技术人员.
软件道路:
第一步:bootloader的编写,修改, 通过这步熟悉ARM硬件结构,学习ARM汇编语言,阅读ARM的芯片手册,感觉就是像操作51单片机一样操作ARM芯片.这一步最好的两个参考资料就是:芯片手册和bootloader源代码.
第二步:系统移植, 驱动开发, 我只做过linux方向,所以也推荐学习嵌入式linux系统,作为标准体系,他开源而且可以获得大量学习资料.操作系统是整个计算机科学的核心,熟悉kernel实属不易,kernel, 驱动开发的学习,没有什么捷径,只有多读代码,多写代码,熟悉系统API.. understanding linux kernel , linux device driver 都是不可多得的好书,值得一看.
第三步:应用程序的编写,各种GUI的移植,qt , minigui都被大量采用,两种思想都类似,熟悉一种就可以.
软件道路中,驱动,系统应该是最深入的部分,不是短时间可以掌握的,需要有勇气和耐心..
嵌入式开发,软硬结合,因为硬件条件比PC差很多,所以肯定会遇见不少问题,因此实践的勇气更加重要.有问题就解决问题,无数次的实验,也许是解决问题的必由之路..
前路甚远,吾将前行不已.
嵌入式开发人员,有很大一部分都是从单片领域转过来的,做51系列的开发后,最需要的是买一块开发板,然后调通所有示例代码,由此跨入arm的开发.
我买了一本《嵌入式实时操作系统uC/OS2》看了几天懂了个大概,原来我以前做的叫前后台系统
而这个嵌入式我感觉主要是对任务的管理,而且里面系统函数很多,原来做的程序除了用几个include包含几个函数,其他的都是自己去定义,然后程序的结构也是按着要求在那里循环
把uc/os2的代码移植到板子上,让它跑起来....
如果你能做到这步,那么已经对嵌入式开发有基本了解了。
入门之后,其实在实际的开发中重中之重是应用程序的开发和驱动程序的开始;
- 嵌入式学习的路径
- 嵌入式学习路径
- HQ嵌入式学习路径
- 嵌入式的学习
- 嵌入式学习的规划
- 执着的嵌入式学习!
- 嵌入式学习的基础知识
- 嵌入式的学习
- 学习嵌入式的网站
- 嵌入式的学习总结
- 嵌入式学习的步骤
- 嵌入式的学习
- 嵌入式学习的规划
- 学习嵌入式的建议
- 嵌入式的学习规划
- 学习嵌入式的捷径
- 学习嵌入式的感受
- 嵌入式的学习规划
- 《彻底搞定C指针》第5篇:函数参数的传递(下)
- 《彻底搞定C指针》第6篇 指向另一指针的指针
- C常规错误
- Good books
- PB自动升级的实现
- 嵌入式学习的路径
- 浅谈如何学习linux
- 嵌入式系统综述
- 关于抽象类和接口之间的区别
- C语言高效编程技巧
- 半夜被逼出来的第一篇博客-谈谈女朋友
- 多级关联菜单数据库版
- JAVA基础知识精华总结
- jFreeReport显示非英文字符的解决办法