硬件道路: 第一步: pcb 设计,一般为开发板的电路裁减和扩充,由开发板原理图为基础,画出 PCB 和封装库,设计自己的电路
第二步: SOPC 技术,一般为 FPGA,CPLD 开发,利用 VHDL 等硬件描述语言做专用芯片开发,写出自己的逻辑电路,基于 ALTER 或 XILINUX 的 FPGA 做开发
第三步: SOC 设计,分前端,后端实现,这是硬件设计的核心技术:芯片设计
能做到这步,已经不属于平凡的技术人员
软件道路: 第一步:bootloader 的编写,修改, 通过这步熟悉 ARM 硬件结构,学习 ARM 汇编语言,阅读 ARM 的芯片手册,感觉就是像操作 51 单片机一样操作 ARM 芯片
这一步最好的两个参考资料就是:芯片手册和 bootloader 源代码
第二步:系统移植, 驱动开发, 我只做过 linu x 方向,所以也推荐学习嵌入式linu x 系统,作为标准体系,他开源而且可以获得大量学习资料
操作系统是整个计算机科学的核心,熟悉 kernel 实属不易,kernel, 驱动开发的学习,没有什么捷径,只有多读代码,多写代码,熟悉系统API
u nderstanding linu x kernel , linu x dev ice driv er 都是不可多得的好书,值得一看
第三步:应用程序的编写,各种GUI 的移植,qt , minigu i 都被大量采用,两种思想都类似,熟悉一种就可以
软件道路中,驱动,系统应该是最深入的部分,不是短时间可以掌握的,需要有勇气和耐心
嵌入式开发,软硬结合,因为硬件条件比PC 差很多,所以肯定会遇见不少问题,因此实践的勇气更加重要
有问题就解决问题,无数次的实验,也许是解决问题的必由之路
嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类
一类是学电子工程、通信工程等偏硬件专业出身的人