第一篇:嵌入式系统移植+心得
嵌入式系统作为近年来新兴的且发展很快的学科,它的应用越来越受到广大技术人员的重视。尤其起可移植性,显著的区别了通用操作系统。一款嵌入式操作系统通常运行在不同体系结构的处理器和开发板上,极大的方便了开发者开发与应用,节约了成本。嵌入式操作系统作为移植支持嵌入式系统应用的操作系统软件,被广泛的运用于不同应用领域。纵观嵌入式系统40多年的历史,从无操作系统的嵌入式算法阶段到简单监控式的实时操作系统,一步又一步的到现在的以Internet为标志的嵌入式系统,一批又一批的先辈为其努力而奋斗。科技的革新,带动着社会的发展,人类的进步。大数据的时代必定属于我IT人。以下我们聊一聊嵌入式系统及其移植性。嵌入式操作系统大体分为商用型和免费型。商用型主要是WindowsCE。Psos.os-9.qnx等其价格较为昂贵,开发成本高,广泛运用于通信。军事。航天等高端技术领域
免费型主要为Linux等主要运用于没有存储器管理单元的处理器而设置。嵌入式基本操作共四步
主机和目标机的连接方式;
UARA最经典90%的板子上,都支持的方式叫异部串行接口,也就是我们所说的串口。USB串行接口 TCP/IP网络接口 Debug Jtag调试接口
补充说明
1.对于串口,通常用的有串口调试助手,putty工具等,工具很多,功能都差不多,会用一两款就可以;
2.对于USB线,当然必须要有USB的驱动才可以,一般芯片公司会提供,比如对于三星的芯片,USB下载主要由DNW软件来完成;
3.对于网线,则必须要有网络协议支持才可以
安装交叉编译器
方法一:分步编译和安装交叉编译工具链所需要的库和源代码,最终生成交叉编译工具链。该方法相对比较困难,适合想深入学习构建交叉工具链的读者。如果只是想使用交叉工具链,建议使用下列的方法二构建交叉工具链。
方法二:通过Crosstool-ng脚本工具来实现一次编译,生成交叉编译工具链,该方法相对于方法一要简单许多,并且出错的机会也非常少,建议大多数情况下使用该方法构建交叉编译工具链。
方法三:直接通过网上下载已经制作好的交叉编译工具链。该方法的优点不用多说,当然是简单省事,但与此同时该方法有一定的弊端就是局限性太大,因为毕竟是别人构建好的,也就是固定的,没有灵活性,所以构建所用的库以及编译器的版本也许并不适合你要编译的程序,同时也许会在使用时出现许多莫名其妙的错误
搭建主机 一般情况下在嵌入式中我们用的比较多的服务就两个 在Linux下一个叫TFTP一个叫NFS,TFTP顾名思义就是FTP的一个简版,它是基于UDP传输的,相当于它的协议比较简单。NFS它的全名叫做网络文件系统,这个网络文件系统主要是Linux和Linux之间做挂载用的。
烧写测试
以上为嵌入式基本操作的四个步骤
嵌入式Linux系统移植主要由四大部分组成:
一、搭建交叉开发环境
综上所述
二、Boot loader的选择和移植
boot loader基本概念:就是在操作系统内核运行之前运行的一段小程序。
通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境,他就是所谓的引导加载程序(Boot Loader)。
三、kernel的配置、编译、和移植
1将下载好的linux-2.6.35.tar.bz2拷贝到主目录下解压
2修改顶层目录下的Makefile,主要修改平台的体系架构和交叉编译器 3拷贝标准版配置文件,目的是得到跟我们开发板相关的配置信息 4配置内核 5编译内核
6通过tftp网络服务下载测试内核
四、根文件系统的制作
flash芯片的驱动程序是由系统来提供,所以它的存取特点完全是flash自身的特点,这时最好有更加适合flash的文件系统——Jffs、Yaffs、Cramfs和Romfs。这些文件系统都是嵌入式Linux系统中常用的文件系统,可以根据特点来选择使用它们,特点如下:
共同点
基于MTD驱动 Jffs
A.针对NOR Flash的实现
B.基于哈希表的日志型文件系统
C.采取损耗平衡技术,每次写入时都会尽量使写入的位置均匀分布
D.可读写,支持数据压缩
E.崩溃/掉电安全保护
F.当文件系统已满或接近满时,因为垃圾收集的关系,运行速度大大放慢 Yaffs
A.针对Nand Flash的实现
B.日志型文件系统
C.采取损耗平衡技术,每次写入时都会尽量使写入的位置均匀分布
D.可读写,不支持数据压缩
E.挂载时间短,占用内存小
F.自带Nandflash驱动,可以不使用VFS和MTD Cramfs
A.单页压缩,支持随机访问,压缩比高达2:1
B.速度快,效率高
C.只读,有利于保护文件系统免受破坏,提高了系统的可靠性,但是无法对其内容进行扩充
Romfs
A.简单的、紧凑的、只读的文件系统
B.顺序存放数据,因而支持应用程序以XIP(execute In Place,片内运行)方式运行,在系统运行时,节省RAM空间
特有的文件系统类型:Ramdisk文件系统 在Linux系统中,内存经常用于存储文件系统,这种叫做Ramdisk,Ramdisk有两种,一种是完全把内存看成物理存储介质,利用内存模拟磁盘,运用磁盘的文件系统类型;另一种只是在内存中存储了文件系统逻辑结构,运用tmpfs&ramfs文件系统类型:
tmpfs&ramfs
1.概述
用物理内存模拟磁盘分区,挂载这种分区后,就可以跟读写磁盘文件一样读写这里面的文件,但是操作速度要比磁盘文件快得多;所以一般应用在下面几个方面:
1)读写速度要求快的文件应该放在这种文件系统中
2)磁盘分区为flash的情况下,把需要经常读写的文件放在这种文件系统中,然后定期写回flash
3)系统中的临时文件,如/tmp、/var目录下的文件应该放在这种文件系统中
4)/dev设备文件(因为设备文件随驱动和设备的加载和卸载而变化),应该放在这种文件系统中
2.特点
1)由于数据都存放在物理内存中,所以系统重启后,这个文件系统中的数据会全部丢失
2)ramfs在没有指定最大的大小值情况下,会自动增长,直到用掉系统中所有的物理内存为止,这时会导致系统的崩溃,建议挂载时最好限定其最大的大小值
3)tmpfs如果指定了大小值,自动增长至大小值后,系统会限定它的大小;这个文件系统占用的物理内存页可以背置换到swap分区,但是ramfs不行
由于嵌入式技术发展飞速,新技术不断涌现。大数据时代的IT人更该更加努力。发愤图强。嵌入式兼顾硬件和软件更加考验我们的能力,需要更多的基础知识。天下英豪出我辈,一入IT岁月催。加油了!
第二篇:学习嵌入式系统心得
学习嵌入式系统心得
说实在话在没有学习之前,以及在学之前通过一些口中得知这是一门很不错,很有意思的一门课。而且目前是十分吃香的一门课程,如果学好了工作很好找并且待遇也很好。听到这些,我内心非常期待上这门含金量如此之高的一门技术课。据我了解,嵌入式系统是一个很有前景的行业。学会嵌入式技术,就相当于给自己创造了更多的机会。那么,在可以预计的将来,嵌入式技术的应用会越来越广泛。(大量的人才需求,未来五年内,国内LINUX嵌入式软件开发的人才缺口达到120万)
说实在的,第一天,我满怀期望的去上这门课。可是一上课听到老师的介绍,我就头昏脑胀了。这是什么课啊,谁会听得懂。犹如天书一般。
实事求是的说,嵌入式技术的全面掌握是有相当难度的。可以轻轻松松学会嵌入式技术的说法是夸大其词了。这个就像学英语一样,学英语无论怎样学,不管是“疯狂学”还是用新理念来学,真正掌握的话还是需要一步步积累才能熟练掌握。在此,我们通过短短的几个星期简单的了解和学习一下嵌入式,想成为这方面的高手。这些想法本身是不太现实的。我心里清楚我们需要做的是:
第一:把心踏实下来,做好打硬仗的准备。
第二:注意学习方法。尽量不要走弯路,争取一鼓作气入门。一旦入门了以后呢就好办了。嵌入式技术的掌握,本身呢就比较难,要是再走些弯路,时间上会浪费,甚至会影响学习的信心。
这就是我这段时间的学习心得。
鲁增庆 110402110 A11电气
第三篇:嵌入式系统硬件项目设计心得
嵌入式系统硬件项目设计心得【转】 硬件, 设计, 解决方案, 处理器, 嵌入式
第一点:在从事设计之前,你必须充分了解各方的设计需求,确定合适的解决方案
启动一个硬件开发项目,原始的推动力会来自于很多方面,比如市场的需要,基于整个系统架构的需要,应用软件部门的功能实现需要,提高系统某方面能力的需要等等,所以作为一个硬件系统的设计者,要主动的去了解各个方面的需求,并且综合起来,提出最合适的硬件解决方案。比如A项目的原始推动力来自于公司内部的一个高层软件小组,他们在实际当中发现原有的处理器板IP转发能力不能满足要求,从而对于系统的配置和使用都会造成很大的不便,所以他们提出了对新硬件的需求。根据这个目标,硬件方案中就针对性的选用了两个高性能网络处理器,然后还需要深入的和软件设计者交流,以确定内存大小,内部结构,对外接口和调试接口的数量及类型等等细节,比如软件人员喜欢将控制信令通路和数据通路完
全分开来,这样在确定内部数据走向的时候要慎重考虑。项目开始之初是需要召开很多的讨论会议的,该尽量邀请所有相关部门来参与,好处有三个,第一可以充分了解大家的需要,以免在系统设计上遗漏重要的功能,第二是可以让各个部门了解这个项目的情况,提早做好时间和人员上协作的准备,第三是从感情方面讲,在设计之初各个部门就参与了进来,这个项目就变成了大家共同的一个心血结晶,会得到大家的呵护和良好合作,对完成工作是很有帮助的。
第二点、发挥于“拿来主义”之上,拿捏好原理图设计中要注意的问题
原理图设计中要有“拿来主义”,现在的芯片厂家一般都可以提供参考设计的原理图,所以要尽量的借助这些资源,在充分理解参考设计的基础上,做一些自己的发挥。当主要的芯片选定以后,最关键的外围设计包括了电源,时钟和芯片间的互连。
电源是保证硬件系统正常工作的基础,设计中要详细的分析:系统能够提供的电源输入;单板需要产生的电源输出;各个电源需要提供的电流大小;电源电路效率;各个电源能够允许的波动范围;整个电源系统需要的上电顺序等等。比如A项目中的网络处理器需要1.25V作为核心电压,要求精度在+5%--3%之间,电流需要12A左右,根据这些要求,设计中采用5V的电源输入,利用Linear的开关电源控制器和IR的MOSFET搭建了合适的电源供应电路,精度要求决定了输出电容的ESR选择,并且为防止电流过大造成的电压跌落,加入了远端反馈的功能。
时钟电路的实现要考虑到目标电路的抖动等要求,A项目中用到了GE的PHY器件,刚开始的时候使用一个内部带锁相环的零延时时钟分配芯片提供100MHz时钟,结果GE链路上出现了丢包,后来换成简单的时钟Buffer器件就解决了丢包问题,分析起来就是内部的锁相环引入了抖动。
芯片之间的互连要保证数据的无误传输,在这方面,高速的差分信号线具有速率高,好布线,信号完整性好等特点,A项目中的多芯片间互连均采用了高速差分信号线,在调试和测试中没有出现问题。
第三点、明确PCB设计中的问题,设计完善准确的PCB,助你“决胜千里”
PCB设计中要做到目的明确,对于重要的信号线要非常严格的要求布线的长度和处理地环路,而对于低速和不重要的信号线就可以放在稍低的布线优先级上。重要的部分包括:电源的分割;内存的时钟线,控制线和数据线的长度要求;高速差分线的布线等等。
A项目中使用内存芯片实现了1G大小的DDR memory,针对这个部分的布线是非常关键的,要考虑到控制线和地址线的拓扑分布,数据线和时钟线的长度差别控制等方面,在实现的过程中,根据芯片的数据手册和实际的工作频率可以得出具体的布线规则要求,比如同一组内的数据线长度相差不能超过多少个mil,每个通路之间的长度相差不能超过多少个mil等等。当这些要求确定后就可以明确要求PCB设计人员来实现了,如果设计中所有的重要布线要求都明确了,可以转换成整体的布线约束,利用CAD中的自动布线工具软件来实现PCB设计,这也是在高速PCB设计中的一个发展趋势。
第四点、千万不要忽视检查和调试,免得一失足.....当准备调试一块板的时候,一定要先认真的做好目视检查,检查在焊接的过程中是否有可见的短路和管脚搭锡等故障,检查是否有元器件型号放置错误,第一脚放置错误,漏装配等问题,然后用万用表测量各个电源到地的电阻,以检查是否有短路,这个好习惯可以避免贸然上电后损坏单板。调试的过程中要有平和的心态,遇见问题是非常正常的,要做的就是多做比较和分析,逐步的排除可能的原因,要坚信“凡事都是有办法解决的”和“问题出现一定有它的原因”,这样最后一定能调试成功。
总结的话(发自肺腑的)
现在从技术的角度来说,每个设计最终都可以做出来,但是一个项目的成功与否,不仅仅取决于技术上的实现,还与完成的时间,产品的质量,团队的配合密切相关,所以良好的团队协作,透明坦诚的项目沟通,精细周密的研发安排,充裕的物料和人员安排,这样才能保证一个项目的成功。
一个好的硬件工程师实际上就是一个项目经理,他/她需要从外界交流获取对自己设计的需求,然后汇总,分析成具体的硬件实现。还要跟众多的芯片和方案供应商联系,从中挑选出合适的方案,当原理图完成后,他/她要组织同事来进行配合评审和检查,还要和CAD工程师一起工作来完成PCB的设计。与此同时,还要准备好BOM清单,开始采购和准备物料,联系加工厂家完成板的贴装。在调试的过程中他/她要组织好软件工程师来一起攻关调试,配合测试工程师一起解决测试中发现的问题,等到产品推出到现场,如果出现问题,还需要做到及时的支持。所以做一个硬件设计人员要锻炼出良好的沟通能力,面对压力的调节能力,同一时间处理多个事务的协调和决断能力和良好平和的心态等等。
细心和认真永远是我和我的老师,老师的老师告诫别人,同时告诫自己的最后一句话!
因为硬件设计上的一个小疏忽往往就会造成非常大的经济损失,比如以前碰到一块板在PCB设计完备出制造文件的时候误操作造成了电源层和地层连在了一起,PCB板制造完毕后又没有检查直接上生产线贴装,到测试的时候才发现短路问题,但是元器件已经都焊接到板上了,结果造成了几十万的损失。至今心有余悸!
最后还是那句 细心和认真永远是正确的!所以细心和认真的检查,负责任的测试,不懈的学习和积累,才能使得一个硬件设计人员持续不断的进步,而后术业有所小成。
看着有些罗嗦,说实话写文章对我来说的确有难度,哈哈
第四篇:嵌入式系统实验报告
嵌入式系统实验报告
学
号:
姓
名:
班
级:13电子信息工程
指导老师:
苏州大学 电子信息学院
2016年12月
实验一:一个灯的闪烁
1、实验要求
实现PF6-10端口所连接的任意一个LED灯点亮
2、电路原理图
图1 LED灯硬件连接图
3、软件分析
RCC_Configuration();/* 配置系统时钟 */
GPIO_Configuration();
/* 配置GPIO IO口初始化 */
for(;;)
{
GPIOF->ODR = 0xfcff;
/* PF8=0--> 点亮D3 */
Delay(1000000);
GPIOF->ODR = 0xffff;
/* PF8=1--> 熄灭D3 */
Delay(1000000);
4、实验现象
通过对GPIOF8的操作,可以使LED3闪烁
5、实验总结
这是第一次使用STM32开发板,主要内容是对IO端口进行配置,点亮与IO端口相连接的LED灯,闪烁周期为2S。通过本实验对STM32开发板的硬件原理有了初步了解。
实验二:流水灯
1、实验要求
实现PF6-10端口所连接的5个LED灯顺次亮灭
2、电路原理图
图1 流水灯硬件连接图
3、软件分析
int main(void){
RCC_Configuration();/* 配置系统时钟 */
GPIO_Configuration();/* 配置GPIO IO口初始化 */
for(;;)
{
GPIOF->ODR = 0xffbf;
/* PF6=0--> 点亮LED1 */ Delay(5000000);GPIOF->ODR = 0xff7f;
}
/* PF7=0--> 点亮LED2 */ Delay(5000000);
GPIOF->ODR = 0xfeff;
/* PF8=0--> 点亮LED3 */ Delay(5000000);
GPIOF->ODR = 0xfdff;
/* PF9=0--> 点亮LED4 */ Delay(5000000);
GPIOF->ODR = 0xfbff;
/* PF10=0--> 点亮LED5 */ }
4、实验现象
LED1~LED5依次点亮,亮灭的时间间隔都为1S。
5、实验总结
本次实验对STM32开发板的GPIO端口进行进一步学习,通过程序可以实现流水灯的闪烁。
实验三:单级外部中断
1、实验要求
按下某个按键,触发中断,中断服务程序改变LED灯状态
2、电路原理图
图3 SW1硬件原理图
3、软件分析
int main()
{
RCC_Configuration();
GPIO_Configuration();
GPIO_Write(GPIOF,0xffff);Delay(5000);
while(1)
{
}
/* 配置系统时钟 */
/* IO口初始化 */
/* 全灭 */
if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8)==0)/* 如果SW1 PA8=0 */ {
GPIO_SetBits(GPIOF, GPIO_Pin_6);
/* LED1点亮 */
Delay(0x1FFFFF);
GPIO_ResetBits(GPIOF, GPIO_Pin_6);
/* LED1 熄灭 */ Delay(0x1FFFFF);} }
4、实验现象
原来5个LED灯都处于熄灭状态,按下SW1,触发中断程序,LED1点亮。
5、实验总结
通过本次实验,可以对某一状态通过外部中断,改变其当前状态。
实验四:多中断嵌套
1、实验要求
按下某个按键,触发中断,中断服务程序改变LED灯状态
2、电路原理图
图4 SW1,SW2,SW3硬件原理图
3、软件分析
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQChannel;
//设定中断源为PA0 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;//中断占优先级为0 NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQChannel;
//设定中断源为PD3 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;//中断占优先级为1 NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQChannel;//设定中断源为PA8 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;//中断占优先级为2 void EXTI0_IRQHandler(void){ int i=0;if(EXTI_GetITStatus(EXTI_Line0)!= RESET){ for(i=0;i<10;i++){
GPIO_Write(GPIOF,0xffff);
GPIO_SetBits(GPIOF, GPIO_Pin_6);/* LED1 点亮 */ Delay(0x5fFFFF);GPIO_ResetBits(GPIOF, GPIO_Pin_6);/* LED1 熄灭 */
Delay(0x5fFFFF);EXTI_ClearITPendingBit(EXTI_Line0);} } }
void EXTI3_IRQHandler(void)if(EXTI_GetITStatus(EXTI_Line3)!= RESET){ {
int i=0;for(i=0;i<10;i++){
GPIO_Write(GPIOF,0xffff);
GPIO_SetBits(GPIOF, GPIO_Pin_7);/* LED2 点亮 */ Delay(0x5fFFFF);GPIO_ResetBits(GPIOF, GPIO_Pin_7);/* LED2 熄灭 */ Delay(0x5fFFFF);EXTI_ClearITPendingBit(EXTI_Line3);} } } void EXTI9_5_IRQHandler(void){ int i=0;
if(EXTI_GetITStatus(EXTI_Line8)!= RESET){
for(i=0;i<10;i++){
GPIO_Write(GPIOF,0xffff);
GPIO_SetBits(GPIOF, GPIO_Pin_8);/* LED3 点亮 */
Delay(0x5fFFFF);
GPIO_ResetBits(GPIOF, GPIO_Pin_8);/* LED3 熄灭 */
Delay(0x5fFFFF);
EXTI_ClearITPendingBit(EXTI_Line8);} } }
4、实验现象
中断优先级从高到低依次为:SW3,SW2,SW1 原来5个LED灯都处于熄灭状态,按下SW1,LED3应该闪烁10次,当其闪烁5次后按下SW2,LED2也应该闪烁10次,当其闪烁4次后按下SW3,LED1也应该闪烁10次,则当LED1闪烁完10次后,LED2继续闪烁6次,之后LED1继续闪烁5次。
5、实验总结
通过本次实验,可以对LED状态实行中断嵌套,由以上实验现象,得出以下结论:高中断优先级可以打断低优先级,中断系统正在执行一个中断服务时,有另一个优先级更高的中断提出中断请求,这时会暂时终止当前正在执行的级别较低的中断源的服务程序,去处理级别更高的中断源,待处理完毕,再返回到被中断了的中断服务程序继续执行,反之,低中断优先级不可以打断高优先级。
实验五:TIM2的基本应用
1、实验要求
TIM2定时器将LED灯定时点亮和熄灭一定的时间
2、电路原理图
3、软件分析
TIM_Cmd(TIM2, ENABLE);
/* TIM2 enable counter */ TIM_TimeBaseStructure.TIM_Period = 1999;
TIM_TimeBaseStructure.TIM_Prescaler = 35999;
//定时时间为1s void TIM2_IRQHandler(void){ TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
GPIO_WriteBit(GPIOF, GPIO_Pin_6,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOF, GPIO_Pin_6)));}
4、实验现象
LED1灯按照1S的定时时间不断闪烁
5、实验总结
通过本次实验,可以实现对LED灯进行定时控制其闪烁,而不需要延时函数控制了,定时时间较为精准。实验六:TIM2,TIM3,TIM4多定时器的应用
1、实验要求
利用TIM2,TIM3,TIM4定时器使LED灯以不同的频率闪烁
2、电路原理图
3、软件分析
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;此处比上一个实验增加了2个定时器,同时又增加了一个优先级
4、实验现象
中断优先级从高到低依次为:TIM2,TIM3,TIM4 首先LED1以1S的定时时间闪烁5次,之后LED2以2S的定时时间闪烁5次,最后LED3以3S的定时时间闪烁5次
5、实验总结
利用定时器可以同时使LED灯按照不同的频率闪烁,但是为了现象明显,可以加一个优 先级,分别观察现象。
实验七:串口USART1读取CPU的ID号
1、实验要求
通过USART1读取 CPU 的 96 bit ID
2、电路原理图
图 开发板USART原理图
3、软件分析
void Get_ChipID(void)/* 获取芯片ID */ { ChipUniqueID[0] = *(u32 *)(0X1FFFF7F0);/* 高字节 */ ChipUniqueID[1] = *(u32 *)(0X1FFFF7EC);
ChipUniqueID[2] = *(u32 *)(0X1FFFF7E8);/* 低字节 */ } void USART_Configuration(void){
USART_InitTypeDef USART_InitStructure;
USART_InitStructure.USART_BaudRate = 115200;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(USART1, &USART_InitStructure);
USART_ITConfig(USART1, USART_IT_TXE, ENABLE);
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
USART_ClearFlag(USART1, USART_FLAG_TC);
USART_Cmd(USART1, ENABLE);
/* Enable USART1 */ }
4、实验现象
PA9连接的是USART1 Tx,PA10连接的是USART1 Rx,再通过串口调试助手就可 以在电脑上面显示出CPU的ID以及flash容量大小。
5、实验总结
本次实验实现了串口和PC机的传输,可以通过USART1将CPU的ID在电脑上显示出来。
实验八:异步通信USART2的重映射
1、实验要求
实现异步通信USART2的重映射,将数据传送到PC机上
2、电路原理图
图 开发板USART原理图
3、软件分析
void GPIO_Configuration()
/* IO口初始化 */ {
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
/* USART2 Tx--> PD05 */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;/* PD05--> JP7 WR */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
/* USART2 Rx--> PD06 */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOD, &GPIO_InitStructure);GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);} 该程序将USART2重映射到PD05,PD06引脚
4、实验现象
PD05连接的是USART2 Tx,PD06连接的是USART2 Rx,通过串口调试助手就可以在电脑上面显示Program Running!
5、实验总结
通过本次实验,可以实现对异步通信USART2的重映射,再通过串口调试助手在电脑上显示出来。
第五篇:嵌入式系统调查报告
“嵌入式系统在企业中的应用”调查报告
工学院范裕婷
内容提要:现今,全过程自动化产品制造、大范围电子商务活动、高度协同科学实验以及现代化家庭起居,是嵌入式系统在企业中应用的大好时机。2012年7月3-6日及7月13-14日,丽水学院工学院“嵌入式系统在企业中应用”调查团一行7人赴丽水市相关地区进行实地走访调查,走访不同类型的相关企业,通过召开座谈会、与公司负责人及技术人员面对面交流、察看应用嵌入式系统设备等多种途径,在此基础上,随队指导老师还给我们讲解嵌入式系统的几大应用及其发展趋势。整体上把握、从细处入手,本文较为系统地分析目前丽水市相关企业对于嵌入式系统应用的情况及存在的问题,并针对丽水的地理等特点,实事求是地提出了推进丽水市相关企业嵌入式系统应用的水平,需要进一步提高对嵌入式系统应用领域及趋势的认识,增强技术设备等对策和建议。
关键词:企业 嵌入式系统一、调查背景
嵌入式系统在工业领域中,一直有着控制的需求。最早的年代是用机械的方式来达到这样的需求;随着时代的进步,进化到使用电子式的控制。在最近几十年中计算机的出现,更使得控制进化到使用计算机,也使得控制可以自动化,而不需要人工操纵。然而计算机最早的设计并不是为了工业自动控制而设计的,但计算机可以做一些类似人类思考的行为或运算,因而工业自动控制不得已只好使用商用计算机。
丽水地处浙西南,浙西南是欠发达地区,和省内先进城市相比,整体水平还比较落后,企业工业化建设与经济社会发展要求还存在一定差距。一方面,丽水围绕“生态立市、工业强市、绿色兴市”三市并举战略以实现跨越式发展,其中,要保证工业化的飞跃发展,就必须大力发展像嵌入式系统等技术型的企业,要打出旅游“金名片”,就要在发展的同时加强对企业技术化发展,以其作为坚强的后盾力量;另一方面,努力发展企业技术化发展,引入技术性设备等发展更高层次的工业化,可以促进丽水在发展“绿谷”文化的同时,还可以拥有坚固的后翼,加快城乡一体化发展,缩小贫富差距。
“嵌入式系统在企业中应用”调查团是丽水学院暑期实践项目。丽水学院是一所市属本科院校,作为智囊团和点子库,为丽水市的发展提供重要参考。为了组织好此次暑期社会实践,在上级团组织和分院党总支的领导下,调研团统筹规划、周密部署、精心实施,由丽水学院工学院嵌入式系统专业课老师任指导老师,电信专业、数控专业、计算机专业等7名同学为队员,大家各司其职,分工明确,认真落实实践前后各项工作。
二、嵌入式系统在企业中应用总体情况
过去:嵌入式系统通常是深嵌于最终产品之中,以系统控制为基础,一般不与外界连接。其微控制器在一个相当封闭的系统中工作,定时查询外设、收集数据、完成简单的处理工作,以及控制开关和LED指示灯。此外,微控制器也进行少量的数据操作或数据传输。由于它们不会与局域网(LAN)或互联网(Internet)连接,所以不存在保安的问题。比如:此次调研位于南山工业园的永通科技公司,此公司以生产LED等各种灯具为主,其中,就用到嵌入式系统编程控制进行一系列生产线作业。
现在:现今的嵌入式系统一般都要连接到局域网,这样就有数
十、甚至上百个控制器连接在一起。举例说,汽车制造和工业控制领域中的CAN有上百个微控制器在相互作用;ZigBee 无线控制网络也有若多数量的微控制器互连在一起。而且,随着嵌入式网络越来越复杂(因此需要更大的网络带宽和更远的传输距离),嵌入式以太网也开始涉足于工业控制、建筑物自动化、医疗和保安产品市场。目前市场的发展趋势是将这些局域网需要通过企业内联网或外联网特别是互联网与外界连接。嵌入式系统联网要求的不断增加,导致微控制器必须具备更多性能,更强的互连性,增加程序和数据内存空间来支持相应的通信协议,提高性能和处理带宽以进行系统传输数据、执行通信协议和提供严密的保安能力。在需要通过内联网或互联网监控CAN或ZigBee 网络的应用环境中,嵌入式微控制器必须能支持10/100M以太网、CAN、ZigBee 网络以及其他网络协议,更必须具有先进的安全加密算法。
另一个影响嵌入式系统的因素是通用串行总线(USB)的快速普及,尤其是在 PC 及其外设领域。与提供基本通信链路的传统通用异步收发器(UART)接口
不同,USB是一种内置丰富驱动程序的即插即用式总线接口,能缩短开发周期和设备安装时间。不但设计人员喜欢这种接口,终端用户也因为不必为新购的外设安装加载新的设备驱动程序而乐于使用。再考虑到采用笔记本电脑对复印机、自助售货机、ATM机,工厂自动化设备、家用安全系统等完成系统设置和现场服务,可以预计USB在嵌入式系统将占一重要席位。新款的笔记本电脑都只配备了USB接口,所以由它们服务的系统也必须有USB接口,否则这些系统便得采用旧款PC或USB适配器。
“信息家电——数字机顶盒”、“嵌入式应用——汽车电子”、“智能玩具与机器人”、“工业控制——机床、电子、交通、航空航天等”等都是嵌入式系统现在的应用。
将来:2012年8月30日,微软在广州召开嵌入式研讨会,与来自金融、电子、教育、医疗等行业客户一同探讨嵌入式技术的发展趋势,体验微软全新的嵌入式平台。随着Windows 8即将发布,对应的嵌入式的Windows平台也一定会带来全新的用户体验。威创、广电运通、天河弱电、海格通信、金鹏集团、广有通信等业内150多位客户代表共同分享了微软领先的嵌入式创新平台及成功的行业解决方案。
2012年8月21日 至23日,深圳国际工业计算机及嵌入式系统展览会由深圳市创意时代会展有限公司在深圳会展中心举办。此展会是中国唯一专著于IPC与嵌入式系统的技术型展会。汇集最新IPC与嵌入式系统产品与技术,推动IPC行业向开放、融合、标准化方向发展,展现物联网、智能电力、智能交通、智能安防、汽车电子等行业应用方案,立足深圳,影响中国。还同期举办更多高端论坛,汇聚行业智慧。这次的主打产品是目前最具有发展潜力的固态硬盘。
因为现代加工技术发展,过去那种设定程序后就让其固定地按程序运行的方式已经不能满足人们对现代产品加工的要求了,人们迫切的希望嵌入式系统具有人机交互的功能。例如我们传统的电视、电冰箱其中也嵌有处理器,但是这些处理器过去只是在控制方面应用。而现在只有按钮、开关的电器显然已经不能满足人们的日常需求,具有用户界面,能远程控制,智能管理的电器是未来的发展趋势。这也是嵌入式系统外设发展的一个原因。
三、目前存在的主要问题
企业真正的需求是什么?
第一,IPC 并未完全符合工业真正的需求。首先在工业领域中,使用的设备通常会是一天24 小时,一年365 天永不停机的运作,而在这运作期间不能有设备损坏的情形发生,所以它所需要的是高稳定性,不是像商业所使用的一般稳定就可以了,例如我们在看电视时,如果电视突然无法看了,于是拍两下就可以看了,这是我们可以接受的;又计算机在开机或使用到一半时发生当机,重新开机之后就可以使用了,这也是可以被接受的,但是以上情形在工业的领域中是无法接受的。
那么要如何达到高稳定性呢?最基本的需求是不要有风扇,而且是在整个设备中都不要有风扇,因为风扇会将环境的灰尘吸入,造成设备损坏,所以没有风扇的设备将会增加其稳定性;另外设备也必须要是密闭式的,也是在防止灰尘以及其它脏乱所侵害;再来工业所需要的设备最好是愈省电愈好,因为用电量高相对的会增加成本;另一个工业需求是体积越小越好,因为体积小相对的在同一个空间中所能摆放的设备比较多,代表可以增加产能。
第二,技术人才队伍数量上有所提升,但基础仍非常薄弱,特别是复合型人才非常缺乏,不少人存在着从小城市跳槽到大城市的想法,导致人才流失。目前我市虽有3所大专院校设置了相关专业,每年为丽水培养信息技术类本专科毕业生1000多人。
第三,资金投入力量不足,应用程度不一致。一方面丽水工业还处于初步阶段,企业发展势头虽好,但规模尚未壮大;另一方面,多数管理者对技术化与企业发展的关系认识不足,因此对企业技术化的投入也很少。
四、对存在问题提出的对策建议
信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,从中我们可以看出未来嵌入式系统的几大发展趋势:1,网络互联成为必然趋势;2,精简系统内核、算法,降低功耗和软硬件成本;3提供友好的多媒体人机界面;相信将来市场会出现更多,功能强大嵌入式系统产品。现提出以下建议:
一、政府引导与政策支持相结合。在要组织各种类型的研讨会和培训班,使管理者进一步了解企业技术化工作的重要性和紧迫性,特别是丽水位于浙西南欠
发达低于,信息相比较为闭塞。要通过国内外的典型案例分析,使企业真正受到教育和启发。同时各级政府在政策上也要对企业进行引导和支持,把技术化建设列为技术改造的一个重要部分,从政策调控上促进企业的技术化建设。
二、加强优化人才建设。企业技术型建设光靠设备更新是远远不够的,企业中,需要有一批既精通技术、又懂得企业经营管理的优秀专业人才来长期培训和帮助企业的所有其他相关人员,指导他们的各项工作,同时还要保证各个系统的正常运行和对系统的完善与维护工作。因此,培养多层次的人才是企业取得成功的必要条件,也是企业长远发展的客观要求。丽水虽是欠发达地区,但要有吸引人才的源动力。
三、走校企联合之路。
(1)充分利用现有资源促进信息化建设。高校在企业信息化建设中扮演了一个极其重要的角色,高校的优势体现在:人才优势(科技人员众多,各种专业人才聚集);知识与科技优势;创新优势。高校的技术和人才可以较好地弥补中小企业技术人才不足的劣势。实践中,一方面,高校通过对企业人才需求信息及创新需求信息的捕捉,及时调整专业、课程及高校研究方向与内容,主动为企业创新活动服务。另一方面,企业可以通过设立奖学金、基金或订单培养等方式与高校共同培养适应于本企业自身需求特征的人才,同时开展创新合作。
(2)走以竞促教、竞教结合的道路。参加各类竞赛不仅可以真正提高学生的动手能力,培养学生创新意识,也能培养学生很多非智力能力,例如展示能力、写作能力、团队合作等。对学校和教师而言,竞赛也可以反馈教学中的诸多不足,进而促进教学体制的改革。丽水学院可以参加嵌入式比赛,条件成熟后可组织参加全国大学生嵌入式物联网设计大赛。