单片机/MCUwilliam hill官网
直播中

静水竹林

8年用户 53经验值
擅长:嵌入式技术 处理器/DSP
私信 关注
[问答]

嵌入式应用层开发要学习什么?

最近想学习嵌入式方面的,大家给给建议学习路线什么的,在这里先谢谢了!

回帖(11)

gjianw217

2015-11-15 09:27:47

最佳答案

如果从应用层的应用开发出发,建议先熟悉API函数,推荐《UNIX环境高级编程》,现在应该是第3版了,如果从应用层的界面开发出发,则建议学习Qt,WinCE或Android等。
但真实的嵌入式开发,熟悉以上还是远远不够的,建议如下学习曲线

第一节段 熟练使用Linux操作系统
学习Linux操作系统的概念和安装方法,理解Linux下的基本命令、管理配置和编辑器,包括VI编辑器,GCC编译器,GDB调试器和 Make 项目管理工具等知识。

第二阶段 精通linux下C语言
通过大量编程实例重点学习C语言的高级编程知识,包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识,另外,还要学习数据结构的基础内容,包括链表、队列、栈、树、哈希表、图等内容。

第三阶段 嵌入式Linux应用编程
精通嵌入式Linux下的程序设计,精通嵌入式Linux开发环境,强化对Linux应用开发的理解和编码调试的能力,包括系统编程、文件I/O、多进程和多线程、网络编程、GUI图形界面编程、数据库。

第四阶段 嵌入式入门阶段-ARM体系结构
ARM处理器体系结构、编程环境、指令集、寻址方式、调试、汇编和混合编程。ARM的常用接口开发及硬件威廉希尔官方网站 设计基础(包括IO、串口、看门狗、实时时钟、SPI、IIC、扫描键盘、FLASH操作等),为以后的设备驱动的学习打好基础。

第五阶段 嵌入式高级阶段-Linux内核和驱动开发
深入内核细节,了解Linux相关运行机理,为后面的驱动开发打好理论基础,内容包括内核源码结构、内存管理、进程管理、中断管理、系统调用、内核同步、时钟和定时器管理、信号、调度、进程间通信、文件系统和I/O设备管理等方面的内容。

第六阶段 嵌入式硬件开发(学软件的可以不学,但了解硬件对学嵌入式软件有更深入的了解,尤其对系统的理解更深入。)
内容包括单片机的学习,威廉希尔官方网站 分析和威廉希尔官方网站 的原理,PCB设计,主要包括Altium Designed,电子设计基础知识,原理图初步设计,进阶,提高,深入,pcb库的设计,集成库的作用和制作,pcb设计初步,PCB设计提高,PCB深入,对FPGA和CPLD系统的相关基础概念等

第七阶段 嵌入式深入阶段
变成高手,你还要进一步学习内核和系统,内容包括计算机系统结构和汇编,linux内核编程,linux内核的基础知识,汇编及保护模式,linux内核体系结构,linux引导程序分析,linux内核代码分析,linux块设备驱动程序分析等

第八阶段  实践阶段
其实就是循序渐进,先学好基础理论知识,然后动手试验,最后总结试验结果,验证所学知识并积累经验

希望对你有帮助,加油!
举报

24不可说

2015-11-18 17:17:58
数电、模电、C语言、威廉希尔官方网站 是基础,然后从基础入门的开发板开始有针对性的学习
举报

静水竹林

2015-11-18 20:47:58
引用: 24不可说 发表于 2015-11-18 17:17
数电、模电、C语言、威廉希尔官方网站 是基础,然后从基础入门的开发板开始有针对性的学习

恩恩 谢谢!
举报

MR Wang

2015-11-24 08:45:25
先买个开发板,根据开发板里面资源练手。
举报

白彬彬

2015-11-24 09:27:24
分偏硬和偏软两个方面,偏硬的话就是楼上说的数模电,C语言,威廉希尔官方网站 ,可以考虑往驱动走,偏软的话,就是比较偏应用,主要是C语言,数据结构,网络编程,Linux基础,脚本和界面相关的设计(QT,java,HTML等),就看你个人爱好了。
举报

huhaohan1993

2016-1-4 11:21:05
学习嵌入式的软件需要有硬件平台作为支持和实践。不过如果想锻炼嵌入式的编程也可以用Microsoft Visual Studio进行学习,不过前提是会C语言!
举报

柠檬守护

2016-1-4 12:11:10
应用层的部分, 你需要多了解如何去调用底层的API, 然后就是如何创新。
举报

ex3

2016-1-15 18:18:36
说说个人经验 51系列单片机 计算机组成原理 + ucos源码的一本书 + linux基本使用&开发 基本上就可以嵌入式应用开发了
举报

静水竹林

2016-1-15 23:42:37
引用: gjianw217 发表于 2016-1-15 10:54
如果从应用层的应用开发出发,建议先熟悉API函数,推荐《UNIX环境高级编程》,现在应该是第3版了,如果从应用层的界面开发出发,则建议学习Qt,WinCE或Android等。
但真实的嵌入式开发,熟悉以上还是远远不够的,建议如下学习曲线

非常感谢!说的很详细,看来还有好多要学的
举报

静水竹林

2016-1-15 23:43:24
引用: 813136083 发表于 2015-11-24 09:27
分偏硬和偏软两个方面,偏硬的话就是楼上说的数模电,C语言,威廉希尔官方网站 ,可以考虑往驱动走,偏软的话,就是比较偏应用,主要是C语言,数据结构,网络编程,Linux基础,脚本和界面相关的设计(QT,java,HTML等),就看你个人爱好了。 ...

应该会偏软方面的
举报

gjianw217

2016-1-16 00:57:37
引用: 静水竹林 发表于 2016-1-15 23:42
非常感谢!说的很详细,看来还有好多要学的

嗯嗯,慢慢来,以后多交流!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分