嵌入式基本学习路线

说白了,嵌入式学习路线就像攀登一座高峰,每一步都为下一步奠定坚实的基础。
我先说最重要的一点。
C语言编程是入门的基石。
比如《C程序设计语言》这本书,是经典中的经典,一定要仔细阅读。
我们去年跑的项目就是根据这个原理,进行了基础的编程练习,大概有3 000个关卡。

还有一点是,你必须有扎实的电路基础,电阻电容电感等元件,直流和交流电路原理,以及硬件开发中无处不在的万用表、示波器等工具的使用。
去年有一个项目,因为不太了解交流电路的原理,差点造成重大失败。

还有一个细节非常关键。
高级C语言编程和基础数字电路必须同时完成。
高级C语言编程,例如函数指针和动态内存分配,可以帮助您优化代码并提高嵌入式开发效率。
数字电路、逻辑门、组合逻辑等基础知识,必须通过实验来阐述。
例如FPGA/CPLD开发流程,可以通过实际操作来了解。

一开始我以为学习控制GPIO和定时器只需要用C语言编写一个微控制器,但后来我发现这是错误的。
中断和串行通信也是外设驱动程序开发中的重要元素。
去年,我们的一个温湿度采集项目是通过单片机C语言编程实现的。

运算放大器和 ADC/DAC 等模拟电路基础知识对于传感器接口开发非常重要。
Linux操作系统和LinuxC编程旨在为在嵌入式系统上开发应用程序奠定基础。
进程管理和内存管理在Linux环境中尤为重要。

等一下,还有一件事,Linux内核开发和Linux驱动开发,这是深入嵌入式开发的必由之路。
内核模块加载机制和进程调度算法对于理解操作系统的工作原理非常有用。

最后,提醒大家一个容易陷入的陷阱是不要忽视实践。
没有实践经验,嵌入式开发是完全不可能的。
多做一些动手项目,比如从简单的 LED 控制开始,逐渐进展到更复杂的项目,这样你的技能才能真正提高。
你怎么认为?

高通8797芯支持arm lⅰnuⅹ驱动编程吗?刚刚回复完整支持的。

稍等一下,昨天有朋友帮我调试了树莓派的摄像头驱动。
该板采用ARM架构处理器。
他询问为什么他的代码不能在 Raspberry Pi 上运行。
但它在另一台使用 Snapdragon 芯片的设备上运行良好。
我查资料的时候发现,不同厂商对ARM架构的优化是不一样的。
高通的8 7 9 7 芯片采用的是Cortex-A系列核心,所以在高性能计算范畴上应该和Raspberry Pi颇为相似。
然而,Raspberry Pi 的设备树配置是另一回事。
上次花了两天时间才正确安装红外传感器。
等等还有一件事。
我注意到高通官网上的文档有一个特别强的互操作性工具链;据说支持从Linux主机编译ARM架构的二进制文件,这将省去很多麻烦。
然而在实际开发中,机器树的问题往往比驱动程序本身更麻烦。
我在展会上无意中听到一位工程师说,修改设备树以适应新界面花了整整一周的时间。