
单片机 嵌入式 底层 从零开始学习 推荐
没有任何单片机基础,求单片机从零开始学习的相关教才
最好是电子书,请附上地址,实体书请写上书名和作者
ps:c语言已经熟悉、汇编在学感觉良好
-----------------------------------------
zero 展开
首先C语言,这个是毋庸置疑的,不管是做嵌入式软件还是硬件开发的人员,对C语言的掌握这个是必需的,特别是对于以后致力于嵌入式软件开发的人,现在绝大部分都是用C语言,你说不掌握它可以吗?至于如何学习C语言,我想这些基础的知识每个人都有自己的方法,关键要去学习,看书也好,网上找些视频看也好。很多人会问,C语言要学到怎么样,我觉得这没有标准的答案。我想至少你在明白了一些基础的概念后,就该写代码了,动手才是最重要的,当你动手了,遇到问题了,再反过来学习,反过来查查课本,那时的收获就不是你死看书能得到的。
其次,应该对操作系统有所了解,这对你对硬件和软件的理解,绝对有很大的帮助。应该把系统的管理理解一下,比如进程、线程,系统如何来分配资源的,系统如何来管理硬件的,当然,不是看书就能把这些理解透,如果不是一时能理解,没关系,多看看,结合以后的项目经验,会有更好的理解的。
还有应该学习嵌入式系统,如linux或者wince下的编程,这些对以后做应用的编程很有帮助,当然,如果做手机的话,那可以学习MTK、塞班、Android等操作系统,Android是以后发展的趋势,现在很热门,Android也是基于linux系统封装的,所以建议先学习下linux。
还有,应该学习下单片机或者ARM或者MIPS,很多人说我没有单片机的经验,直接学ARM可以吗?我觉得那完全没有问题的,当然如果你学习过单片机,那最好不过了,以后学习ARM就更简单了。
最后如果你把以上的知识都有所了解后,就该去阅读阅读一些优秀的代码,比如结合arm芯片手册学习去学习下UBOOT的源代码,了解下最小的系统开发,那对你整个嵌入式开发的非常有帮助的,可以的话,还可以学习下linux的源代码,当然如果你直接阅读2.6的代码,我想你会很痛苦的,可以先看看linux 代码早期的版本,比如0.12 的代码等等,麻雀虽小,五脏俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程师。
至于上面说的知识如何学习呢?每个人都应该去找自己最好的方法,所谓的最好的方法就是最适合自己的方法。很多人看不进书,那就去看看视频吧。视频也应该要选择,不是随便看看,应该要有所选择,有所挑选。我也是这样一路走过来的,不过我这人比较懒,我看不进书,一看书我就想睡觉,所以这几年我都是看视频过来的,现在也算学有所成,但也不敢说是高手吧。
我在网上看到,有人把自己学习嵌入式的视频总结出来,嵌入式系列实践和视频教程,大家可以看看网址http://www.003r.com/embedvideo.htm
我仔细看了觉得很不错,我本来也想整理下,可是奈何我自己的电脑硬盘空间才40G,没有办法,时间也是不够,心有余而力不足,我不是在帮他做广告,虽然要花钱,我觉得算不错,至少自己不用去整理和花大量的时间去找资源,当然如果网上有的下,你网速和硬盘都够的话,我建议大家自己网上下也好。想想我自己该开始学的时候,那时视频资源少之又少,我买书和买视频至少花了几千块,但是我觉得那很值,至少我现在赚回来了很多知识。
最后,希望这篇文章对热爱嵌入式,想致力于嵌入式开发的朋友有所帮助。送给大家一句简单而又朴素的话,坚持就是胜利,贵在坚持,也可以看看如何坚持嵌
转自嵌入式学习网

2025-08-04 广告
汇编在微机原理课程里应该学了,不要太深究。以后学单片机还是要学它们的指令和汇编编程的。不同的是单片机程序要考虑具体的硬件,没中扩展芯片的操作时序不同,所以单片机程序是在实现每种扩展芯片的性能。
书嘛,去北航看看,那里的这种书很好。
恩就这么多了,一分也不给。。。。。
上海灵训IT教育 单片机培训中心,可能是你一个不错的选择
嵌入式底层开发需要学哪些知识点?
嵌入式底层开发是一个广泛而深入的领域,它涉及到多个不同的技术方向。例如内核及驱动开发、系统移植、ARM开发,每个都有其特定的知识点和技术要求。
内核及驱动开发
操作系统原理:理解操作系统的内部工作原理,包括进程管理、内存管理、文件系统、输入输出系统等。
C语言:掌握C语言是必须的,因为大多数嵌入式系统和内核代码都是用C语言编写的。
数据结构与算法:良好的数据结构和算法基础可以帮助你更好地理解和设计复杂的内核模块。
硬件知识:了解计算机体系结构,特别是处理器架构(如ARM、x86等)。
驱动程序开发:熟悉设备驱动模型,了解如何编写和调试驱动程序。
内核调试技巧:学会使用GDB、JTAG等工具进行内核级的调试。
实时操作系统(RTOS):对于需要实时响应的应用场景,理解RTOS的工作机制是非常重要的。
交叉编译环境搭建:学会为不同目标平台构建交叉编译工具链。
Bootloader:了解U-Boot等引导加载程序的工作原理及其配置方法。
文件系统:熟悉各种嵌入式文件系统(如YAFFS2、JFFS2、EXT4等)的特点和使用。
设备树:对于现代的Linux内核,了解设备树的概念和配置是必要的。
硬件适配:能够根据目标硬件平台的特点调整和优化系统设置。
性能调优:掌握系统启动时间、内存使用等方面的优化技巧。
ARM架构:深入理解ARM架构的不同版本(如ARMv7, ARMv8等),以及它们之间的区别。
汇编语言:虽然现在大部分代码都用高级语言编写,但是了解一些ARM汇编对于底层开发仍然很有帮助。
嵌入式Linux:ARM处理器在嵌入式Linux中应用广泛,因此熟悉Linux下的开发流程是必要的。
电源管理:了解ARM处理器中的电源管理特性,这对于移动设备尤其重要。
多核编程:随着多核处理器的普及,掌握多线程编程和并行处理技术变得越来越重要。
系统移植
ARM开发
以上就是针对嵌入式底层开发中几个主要方向所需学习的知识点。