STM32单片机 |
1.库函数编程以及寄存器操作 |
书+开发板 正点原子,资料齐全,视频配套 博客+自己做笔记 |
cortex M3内部结构 | STM32的内部结构和cortex M3内核结构 | 《cortex M3/M4权威指南》 |
C语言进阶 | C指针、数据结构 |
《C和指针》 《C primer》 《数据结构与算法分析》 |
实时操作系统 |
freertos 或者 ucos操作系统 下载源码,学会移植,学习操作系统基本结构,深入掌握操作系统调度和内存管理 |
源码+手册+大佬博客 |
应用层 | 学习一点C++或者C#,常识写上位机程序,Windows的应用程序 |
一般嵌入式的大厂大都要求有Linux开发经验,
按照顺序:先学会使用Linux,再学习Linux内核。Linux十分庞大,弄懂一个组件或者一项就能找个不错的工作。
Linux应用层编程、Linux系统编程、ARM体系结构(嵌入式一般先学ARM架构,其他架构工作中再学)
Linux驱动、Linux内核基本模块:内存管理,任务调度,文件系统。弄懂一个需要很多时间。
书籍:
《Unix环境高级编程》【】
《Linux内核设计与实现》【】
《Linux系统编程》【】
《深入理解Linux内核》【】
《Linux设备驱动开发详解》【】
《Linux设备驱动程序内核机制》【】
《Linux内核情景分析》【】
《ARM体系结构与编程》【】
《ARM嵌入式系统开发:软件设计与优化》【】
______________________________________________________________
来源:https://www.zhihu.com/question/322341076/answer/1068611110
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
______________________________________________________________
建议:
1.多参加比赛,配合软硬件开发调试的经历对今后发展很有帮助
2.开发板购买资料齐全的
3.进阶时最好不要按某模块顺序学习,而是先定需求再学模块(从目标到学习,效果更好)
需求的例子:
①用串口完成PC和设备通讯
②串口使用自定义协议,包含起始位、地址、数据、结束位、CRC校验
③通过串口管理外部设备如复位、蜂鸣器、设置DA输出、获取AD值,并在界面显示
④支持串口在线升级,存储使用外部FLASH,下载支持断点重传,版本检验和完整性检验
⑤上位机开发支持自定义串口协议软件,用常用的可以实现图像界面的语言和框架,如c#,c++,python
⑥支持自定义协议替换为FreeModbus协议,使用宏切换
……
用Web端,通过浏览器实现上述功能
【分解为小模块进行实现】
4.总结!写文档或写博客发表,完成比完美更好。调试成功了AD、串口通讯协议等等都可以发,分享开发心得和解决问题的思考过程与步骤。能写出来讲给别人听一定是经过思考的。
5.早点定位行业,积累工作经验!
来源:玩嵌入式,一般怎么入门? - 听心跳的声音的回答 - 知乎
标签:编程,东西,Linux,系统,嵌入式,内核,串口,ARM From: https://www.cnblogs.com/asandstar/p/17658016.html