硬件道路:
步: 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差很多,所以肯定会遇见不少问题,因此实践的勇气更加重要。有问题就解决问题,无数次的实验,也许是解决问题的必由之路。
[1]. pcb datasheet https://www.dzsc.com/datasheet/pcb_1201640.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。