嵌入式系统设计课心得体

前言

嵌入式开发就是指在嵌入式操作系统下进行开发,包括在系统化设计指导下的硬件和软件以及综合研发。除暂且分离硬件的EDA研发以外,侧重的就是在一定硬件条件下的系统化设计和软件研发

什么是嵌入式开发

嵌入式是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。

简单地说,嵌入式系统是由软件与硬件两部分组成,它以具体应用为中心,可实现软硬件剪裁。

软件包含:具体的业务应用程序以及操作系统(简单应用可无操作系统)

硬件包含:存储器,信号处理器,通信模块,。。。等等

嵌入式技术近年来得到了飞速的发展,嵌入式产业涉及的领域也非常广泛,彼此之间的特点也相当明显。例如很多行业:手机、PDA、车载导航、工控、军工、多媒体终端……

学习嵌入式需要掌握哪些知识

首先可以看一下这个思维导图,大概写了一下嵌入式学习设计的知识点:

C语言是嵌入式开发必备的技能,这个基础一定要牢固!!!

主流平台

主流的嵌入式平台有三种:ARM平台、DSP平台和FPGA平台。

一、ARM

ARM微处理器是由ARM公司提供IP(Intellectual Property,知识产权)授权,交付多个芯片设计厂商整合生产的。在2007年,意法半导体ST)公司成为第一个引入ARM Cortex-M授权的半导体厂商,开启了高性能、低成本、低功耗的ARM嵌入式芯片新时代,其生产的STM32系列微处理器是最流行的Cortex-M微处理器。ARM嵌入式系统广泛应用于自动检测与控制、智能仪器仪表、机电一体化设备、汽车电子及日常消费电子产品中。

二、DSP平台

嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP),是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,芯片内部采用程序和数据分开存储及传输的哈佛结构,具有专门硬件乘法器,采用流水线操作,提供特殊的DSP指令,可用来快速地实现各种数字信号处理算法,具有很高的编译效率和指令的执行速度,在数字滤波FFT谱分析等各种仪器上获得了大规模的应用。

三、FPGA平台

随着平台级FPGA产品的出现和EDA设计工具软件的不断发展,利用现有的FPGA和EDA工具,人们也可以很方便地在FPGA中嵌入RISC(Reduced Instruction Set Computer,精简指令集)处理器内核、DSP算法、存储器、专用ASIC模块、其它数字IP Core以及用户定制逻辑等,构建成一个可编程的片上系统(SOPC),把原来需要在PCB上采用处理器、DSP、若干ASIC芯片才能实现的功能全都集成到了单片FPGA上。

FPGA内部嵌入了丰富的乘法器(DSP)资源、高速收发器(GTP/GTX)资源、以太网MAC资源、嵌入式处理器(Power PC)资源、时钟及锁相环资源、存储器(BRAM)资源等,甚至在Xilinx公司最新推出的Zynq-7000系列芯片之中嵌入了ARM资源,将传统的FPGA演变成了ARM+FPGA的扩展开发平台。这些嵌入的硬件资源极大地增强了传统FPGA的功能,提升了FPGA的工作效率和灵活性,使得一块FPGA平台就可适用于多种产品,进行各种扩展。开发者只需要掌握Verilog HDL硬件描述语言嵌入式系统开发的相关知识,就可对整个系统进行编程和控制。 

关键技术

1.开发过程中的相关技术

嵌入式系统开发过程中,主要包括宿主机与目标机两个部分的开发,宿主机能够对嵌入式系统中的代码编译、定址及链接进行执行,而目标机则是嵌入式系统中的硬件平台。在对嵌入式系统进行开发时,需要将应用程序转换成相应的二进制代码,这些二进制代码能够在目标机中运行。在上述开发过程中,主要可分为三个步骤,分别是编译过程;链接过程与定址过程,其中,嵌入式系统中的交叉编译器能够进行编译,交叉编译器属于一种计算机平台中的代码生成编译器,较为常见的交叉编译器是GNU C/C++gcc),它会将所有编译完成的目标文件均和一个目标文件进行链接,这便是链接过程。而定址过程则会在目标文件的各个偏移位置对相应的物理存储器地址进行指定,在定址过程中所生成的文件便是二进制文件。在嵌入式系统调试过程中,主要是利用交叉调试器来进行,其调试方式通常采用宿主机-目标机形势,宿主机与目标机之间的连接是通过以太网串行口线来实现的,在交叉调试任务中,主要包括任务级调试、汇编级调试与源码级调试,在调试过程中需要将宿主机中存储的系统内核与应用程序分别下载到目标机当中的RAM或ROM当中。当目标机运行后,会对宿主机中的调试器控制命令进行接收,同时配合调试器来对应用程序进行下载、运行与调试,然后将调试信息发送到宿主机当中。

2.软件移植技术

在嵌入式系统开发中,软件移植技术无疑是其中的一项关键技术,其是以移植协议来完成软件功能移植的,在移植协议中主要包括三个部分,分别是字节顺序字节对齐位段空间分配。在字节顺序中,现有的字节顺序主要包括小段字节与大段字节两种方式,小段字节顺序是依据存储地址中的数据排列顺序来实现的,也就是低地址用于存储低字节数据,高地址则用于存储高字节数据。而大段字节则恰好与小段字节的排序顺序是对调的。在字节对齐方面,现有的字节对齐方式非常多,其主要是以GCC中的MakeFile命令来编译字节,然后对这些字节进行对齐,不过这种对齐方式会存在一些缺陷,因此需要在收数据包位置与发数据位置中分别加入相应的拆包函数与组包函数,以此提高嵌入式系统中软件的互通性与移植性。位段空间分配也是软件移植技术中的重要因素,通常在对位段进行分配时,其顺序应从左至右进行,也有一部分系统是从右向左进行的。通过位段排序来确保嵌入式系统对数据进行准确保存,并利用编程方法来编译位段排序,这样在位段排序过程中只需要将对应的程序进行直接调用即可  。

总结

通过这学期对嵌⼊式的学习,我发现⾃⼰尚未掌握的知识点还是蛮多的。我对嵌⼊式在概念上有了⼀个⽐较精确的了解。嵌⼊式是指以应⽤为中⼼,以计算机为基础,并且软硬件可裁剪,适⽤于对功能、可靠性、成本、体积和功耗有严格要求的专⽤计算机系统。它由硬件平台和系统软件组成。硬件平台指嵌⼊式处理器和与之通过接⼝连接的外围硬件平台。系统软件是指实时操作系统和⽤户应⽤软件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值