任何学习一定要有路线图,根据同学,网上搞C和搞硬件的,结合自己的思考整理了一份嵌入式学习路线,之前整理了一份不是很满意,现在又整理了一份。
嵌入式开发学习路线份三个阶段:
第一阶段、 C语言
- 基础
菜鸟教程C语言(网站)《C程序设计语言 (第2版)》《C Primer Plus 第6版》《C程序设计第5版-谭浩强》
- 进阶
《C和指针》《征服C指针》《C语言进阶》《C 陷阱与缺陷》C语言从入门到精通(第5版)《C 学习笔记》《C++ primer》
- 高级
《高质量C语言编程思想》《C专家编程(异步图书) (C和C++经典著作)》《C语言核心技术(原书第2版)》《C高级编程:基于模块化设计思想的C语言开发》《郝斌C语言详细笔记(附源码) (郝斌) 》《嗨翻C语言》《C语言宝典》《C语言非常道》
- 经典案例
1. 学员成绩管理系统2. 计算器3. 电子词典 4. 文件压缩器
- 阅读开源代码
github,gitee,《30天自制操作系统 (图灵程序设计丛书) - 川合秀实》
第二阶段、基础四大件
- 数据结构/算法
《大话数据结构 (程杰)》《漫画算法:小灰的算法之旅》《数据结构与算法图解》《算法(第4版)》《数学之美 (吴军)》《算法导论》
- 操作系统
《深入理解计算机系统 原书第3版》《计算机组成原理》《现代操作系统》《linux就该这么学》《鸟哥的Linux 私房菜-基础学习篇》《Linux与Unix Shell 编程指南》《Linux命令行与shell脚本编程大全》
- 计算机网络
《图解TCP/IP:第5版》《计算机网络:自顶向下方法(第七版)》《图灵程序设计丛书图解TCPIP(第5版) (村山公保竹下隆史苅田幸雄荒井透)》《图解HTTP》《TCP/IP详解 卷1,2,3》
- 设计模式
《大话设计模式》《设计模式:可复用面向对象软件的基础(典藏版)》《Head First 设计模式(中文版)》《设计模式之禅》《漫谈设计模式:从面向对象开始》
第三阶段、嵌入式
- 基础
《单片机原理及应用——C语言程序设计与实现(第2版)》《零基础学单片机C语言程序设计》《手把手教你学单片机C程序设计》《rtx51小型实时操作》
- 进阶
《Keil Software –Cx51 编译器用户手册 中文完整版》《STC8H 系列单片机技术参考手册》《 ARM嵌入式系统开发-软件设计与优化》《嵌入式Linux 应用开发完全手册》《嵌入式Linux基础教程》《嵌入式Linux应用程序开发详解》
- 视频
1.嵌入式扫盲篇——十问嵌入式 2.ARM体系结构与Bootloader开发 3.嵌入式ARM Linux开发——ARM汇编
- 高级
《51单片机C语言学习之道》《51单片机C语言程序设计经典实例》《risc-v 架构》
- 嵌入式应用开发
经典学习视频推荐:Linux环境高级编程《GNU Make》《Debugging with GDB》《POSIX多线程程序设计》《Linux高级程序设计》《UNIX环境高级编程》《UNIX网络编程》《嵌入式Linux基础教程》《嵌入式Linux应用开发完全手册》《嵌入式Linux应用程序开发详解》《linux高性能服务器编程》
- 经典案例:
1、串口监听程序 2、图片浏览器3、MP3播放器4、聊天程序 5、 ftp程序6、音频广播程序 7、ping的实现 8、DDos攻击程序 9、ARP攻击程序//------------------------------------------------------------------------------------1. ARM模拟器开发2. Watchdog控制程序3. RTC时钟控制程序4. Uart控制程序2. LCD控制程序6. 触摸屏控制程序7. DMA控制程序8. 音频控制程序 9. 网卡控制程序10. 文件系统制作 11. ARM-Linux移植
- 嵌入式低层开发(内核、驱动)
- 内核
《深入理解Linux内核》《Linux内核源代码情景分析》《Linux内核设计与实现》
- 驱动
《Linux设备驱动程序》《Linux设备驱动开发详解》《Linux驱动开发入门与实战》《精通Linux驱动程序开发》
- 经典案例
1. GPIO驱动2. RTC时钟驱动 3. WatchDog驱动 4. Udev移植 5. 触摸屏输入设备驱动6. LCD显示设备驱动 7. DMA驱动8. 音频设备驱动 9. Nand Flash块设备驱动10. 网络设备驱动
- 硬件/数字电路
《数字逻辑电路与系统设计第二版》《数字集成电路--电路、系统与设计》《手把手教你学高速电路信号仿真》
《道德经》老子说:
合抱之木,生于豪末;九层之台,起于累土;千里之行,始于足下;难作于易,大作于细!
慎终如始,则无败事; 牢记,共勉!