嵌入式需要学什么?
相当广泛,主要包括基本电路知识、基本语言知识(尤其是C语言)、单片机、ARM9/ARM11裸机学习以及Linux系统等方面,以下是经过修饰和补充的内容:
嵌入式系统简介
嵌入式系统是以应用为中心,以现代计算机技术为基础的专用计算机系统,能够根据用户需求灵活裁剪软硬件模块,它由硬件和软件组成,软件内容仅包括软件运行环境及其操作系统,硬件则包含信号处理器、存储器、通信模块等,相较于一般计算机处理系统,嵌入式系统存在显著差异性,因其存储功能受限,大部分采用E-PROM、EEPROM DENG等存储介质,软件部分则以API编程接口作为开发平台的核心。
1、基本电路知识:嵌入式硬件由电路搭建而成,学习者需具备电路基本知识,了解常用基本器件及仪器使用,并具备基本的电路分析能力。
2、基本语言知识:嵌入式驱动程序编写需用到C语言,因此学习者应熟练掌握C语言基本语法,并能编写普通程序代码,养成良好的编程习惯对后续程序准确性影响重大。
3、单片机学习:从基于单片机的设计开始,自行绘制电路图、焊接或生产PCB板,设计小型电子系统,首先使用51单片机学习编写流水灯、按键扫描、数码管、液晶显示、AD/DA采样等程序,在掌握一定基础后,可以进一步设计寻线小车、温度采集、时钟显示等嵌入式系统,之后可以选择学习430单片机、STM32以及Cortex-M3处理器等,作为学习嵌入式操作系统前的过渡。
4、ARM9/ARM11裸机学习:裸机程序编写是为了熟悉ARM架构和寄存器,对后续的驱动程序编写有很大帮助。
5、Linux系统学习:嵌入式系统学习的难点在于Linux系统移植和系统裁剪,学习者需搭建嵌入式操作系统的开发环境,即交叉编译环境,然后编写底层驱动程序并验证其正确性。
学习难点及解决方法
学习单片机编程需要一定的基础和方法,常见的问题包括C语言掌握不足、单片机知识点未掌握以及未入门等,解决方法包括:
1、熟练掌握C语言基础,了解单片机C语言与普通C语言语法的差异。
2、具备一定硬件知识,理解三极管、高低电平、电压电流等基本概念,并能使用工具进行调试。
3、拥有一块合适的开发板进行实践和操作。
为了熟练编写单片机程序,学习者需要掌握一系列入门级别的知识点,如开发环境搭建、端口IO输出输入、串口输入输出、定时器功能、IIC时序操作以及实时时钟芯片的应用等,在此基础上,多学习、多看教学资料和视频,多练习并思考总结,将消耗吸收变成自己的知识。
综合实验建议:根据所学知识点完成一个带定时闹钟功能的实时时钟,包括通过按键设置闹钟并存储在EEPORM中、对ds1302的操作、时间计数的累加、切换显示模式以及数码管显示等功能,完成此实验将大大提升单片机编程能力。