Share the embedded learning guide


        Recently, many students are asking about how to get started with embedded, how to learn, what good learning methods are recommended, and the learning route for embedded entry. Today, I will take everyone's problems and solve them one by one.

        First of all, although the embedded threshold is high, it is not unbreakable like other things. As long as we treat it with heart, the winter snow will eventually melt away, and the spring breeze will surely blow. The embedded learning plan or route I recommend is as follows:


       1. Basic knowledge of C language, which must be mastered, recommends "C language" Tan Haoqiang version; "C programming language" Xu Baowen translated Machinery Industry Press  , there are already many online tutorial videos about C language, you can Learn by watching instructional videos, and here are a few questions to ask those who have learned C language, such as:

       Can you tell the difference between an array of pointers and an array pointer?

       Do you know function pointers?

       Can you tell the difference between the space allocated by the system when a variable is defined and the space allocated to a variable with the malloc() function? 


    2.  Knowledge of data structure, which is the way a computer stores and organizes data. A data structure is a collection of data elements that have one or more specific relationships to each other. Often, a well-chosen data structure can lead to higher operational or storage efficiency. I have seen a sentence before that said, " If various programming languages ​​are the tricks of programmers, then data structures and algorithms are equivalent to the internal skills of programmers. If you want to write refined and excellent code, without constant tempering, it is Hard to do.

The purpose of opening this series is for self-accumulation. You can't go a thousand miles without accumulating a few steps. 

" Here I recommend a C language version of "Data Structure" edited by Huang Guoyu and Ye Naiqing, Tsinghua University Press. Can you close the book and use C language to implement the singly linked list and double linked list data structure in the book? 


      3、C++语言,这也是必须掌握的,C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。

在这里推荐一本《C++ Primer》,《C++ Primer》是2006年6月1日人民邮电出版社出版图书,作者Stanley B. LippmanBarbara E. Moo JoséeLaJoie 。



4、微机原理、编译原理

 
 

“微机原理与系统设计”,主要是以Intelx86CPU 为主线,系统介绍微型计算机的基本知识、基本组成、体系结构和工作模式,从而使学生能较清楚地了解微机的结构与工作流程,建立起系统的概念。在此基础上,课程详细介绍了微机中的常用接口电路原理和应用技术,并对现代微机系统中涉及的总线技术、高速缓存技术、数据传输方法、高性能计算机的体系结构和主要技术作了简要分析。对于嵌入式学习的我们对于微机原理也是要了解的,
在这里推荐一本书,《微机原理与接口技术》是由周明德主编,蒋本珊著的图书,本版本根据微处理器的最新发展(超线程技术、双核技术),从Intel系列微处理器整体着眼,又落实到最基本、最常用的8086处理器,介绍了微机系统原理、Intel系列微处理器结构、8086指令系统和汇编语言程序设计、主存储器及与CPU的接口、输入输出、中断以及常用的微机接口电路和数模(D/A)转换与模数(A/D)转换接口。


         编译原理大家也可以了解下,编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。。



            5、学习单片机,最好是买一个51单片机开发板,先从51单片机开始学习,,自己动手,编译,调试,实现各个功能。选择51单片机原因 一个是寄存器少操作起来比较简单、二是目前51单片机学习教程已经非常之多了,大家可以上网找找。

          刚入门是最好是跟着教程来,一步一步的来,学习过程中要结合硬件原理,对于简单识图能力还是要掌握的。

        在这里就推荐一本51单片机学习的书,《手把手教你学51单片机》是2009年1月1日电子工业出版社出版的图书,作者是惠仇。该书讲述了单片机的基本结构和工作原理、主要开发语言以及项目开发中常用的工具等内容。


           6、进一步的提升,学习16位单片机,这个有个个人的建议,

           如果你向往汽车电子,可以X学习飞思卡尔MC9S12XS128 16位单片机芯片,笔者就是从飞思卡尔开始学习的。飞思卡尔MC9S12XS128功能还是比较强大的,输入捕获、输出比较、TIME、CAN、SPI、SCI、PWM、RTI、PIT等等,大学期间也做过智能车。《MC9S12XS单片机原理及嵌入式系统开发》是2011年电子工业出版社出版的图书,作者是张阳、 吴晔、 滕勤。


        如果你向往物联网方向的,你可以学习STM32,STM32互联型系列产品强化了音频性能,采用一个先进的锁相环机制,实现音频级别的I2S通信。结合USB主机或从机功能,STM32可以从外部存储器(U盘或MP3播放器)读取、解码和输出音频信号。设计人员还可以在新系列微控制器上开发人机界面(HMI)功能,如播放和停止按键,以及显示器界面。这个功能使其可用于各种家庭音响设备,如音响底座系统、闹钟/音乐播放器和家庭影院。

        如果你向往电机控制,可以学习下DSP相关芯片,如DSP28335,DSPIC33等,在这里我就不一一列举了。


        7、嵌入式操作系统,嵌入式操作系统(Embedded Operating System,简称:EOS)是指用于嵌入式系统的操作系统。

        嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。

       它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前在嵌入式领域广泛使用的操作系统有:嵌入式实时操作系统µC/OS-II、嵌入式Linux、Windows Embedded、VxWorks等,以及应用在智能手机和平板电脑的Android、iOS等。

        在这里推荐一本linux学习书籍,《鸟哥的Linux私房菜》《鸟哥的Linux私房菜》是2010年人民邮电出版社出版的图书,作者是鸟哥。



       8、如果自己想做点东西,可以学习下,PCB板设计开发,可以学习下

Altium Designer这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。




关注“嵌入式软件开发学习圈”获取更多嵌入式学习资料。

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324601564&siteId=291194637