嵌入式有感

时间:2019-05-12 06:27:29下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《嵌入式有感》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《嵌入式有感》。

第一篇:嵌入式有感

学嵌入式有感

电子技术、计算机技术和网络技术的飞速发展,极大的影响了人们的日常生活,甚至改变了人们的生活模式。人们到处可以见到电子设备的存在,而几乎所有的电子设备中都包含着嵌入式系统。那么嵌入式系统即一般指非 PC 系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。

它的应用几乎涉及到了生活中的所有电器设备,如掌上 PDA、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。而大部分的嵌入式系统并不需要操作系统,首先是因为没有必要,例如洗衣机和微波炉等等,它们的功能有限。这样的系统只需要一道控制程序管好几个按键、指示灯和数码管就可以了。其次是因为条件不允许。它们采用4位或8位的微处理器,有的内存少得不到1KB,根本没有操作系统生存的空间。即使要完成一些比较复杂的任务,也只能依靠程序员的技巧去精雕细琢,以弥补硬件条件的不足。随着微电子技术的不断创新和发展,大规模集成电路的集成度和工艺水平不断提高,集成电路工业已经生产了大量低成本、高可靠性和高精度的微电子结构模块,推动了一个全新的技术领域和产业的发展。

嵌入式硬件设计采用了“CPU+PLD+模拟器件”的模式,是指嵌入式系统以中央处理单元(CPU)为基础和中心,外加可编程逻辑器件(PLD)和模拟器件构成(特别小型的嵌入式设计 除外)。CPU主要包括嵌

入式微处理器(MPU)和嵌入式微控制器(MCU),PLD主要包括PAL、EPLD、CPLD、FPGA等。这种设计模式可以大大简化嵌入式系统的软硬件,嵌入式系统总体设计的难度得以降低,而系统总体设计的水平却得到提高。

这种结构是由目前集成电路的发展水平和技术现状决定的。集成电路技术的发展促成 了这种设计模式的出现,微处理器技术和器件可编程技术给嵌入式系统设计人员带来了巨大的方便,它提供了用软件来改变和实现硬件的功能,适合硬件解决的问题由硬件解决,适合软件解决的问题由软件完成。集成电路技术的发展为这种设计模式的出现提供了全方位支持,计算机硬件平台性能的大幅度提高,高性能的EDA综合开发工具(平台)得到长足发展,为复杂的嵌入式系统设计者提供了不同用途和不同级别集编辑、布局、布线、编译、综合、模拟、测试、验证和器件编程等一体化的集成开发环境。集成电路技术的技术现状决定设计模式不能抛开模拟器件,现阶段模数混合的集成电路很难设计生产,模数和数模转换器等模拟电路还只能采用传统的设计方法。

而嵌入式的核心是嵌入式微处理器。嵌入式微处理器一般具备 四个特点:(1)对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度;(2)具有功能很强的存储区保护功能,这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断;(3)可扩展的处理器结构,以能迅速地扩展出满足应用的高性能的嵌入式微处理器;(4)嵌

入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为 m W 甚至μ W 级。

我们知道嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等 Browser。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。

一般情况下,嵌入式操作系统可以分为两类,一类是面向控制、通信等领域的实时操作系统,如 WindRiver 公司的 VxWorks、ISI 的 pSOS、QNX 系统软件公司的 QNX、ATI 的 Nucleus 等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(PDA)、移动电话、机顶盒、电子书、WebPhone等。

对于非实时操作系统我们了解到早期的嵌入式系统中都没有操作系统的概念,程序员编写嵌入式程序通常直接面对裸机及裸设备。在这种情况下,通常把嵌入式程序分成两部分,即前台程序和后台程序。前台程序通过中段来处理事件,其结构一般为无限循环;后台程序则掌管整个嵌入式系统软、硬件资源的分配、管理以及任务的调度,是一个系统管理调度程序。这就是通常所说的前后台系统。一般情况下,后台程序也叫任务级程序,前台程序也叫事件处理级程序。在程序运行时,后台程序检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。对于实时性要求特别严格的操作通常由中断来完成,仅在中断服务程序中标记事件的发生,不再做任何工作就退出中断,经过后台程序的调度,转由前台程序完成事件的处理,这样就不会造成在中断服务程序中处理费时的事件而影响后续和其他中断。

实际上,前后台系统的实时性比预计的要差。这是因为前后台系统认为所有的任务具有相同的优先级别,即是平等的,而且任务的执行又是通过 FIFO 队列排队,因而对那些实时性要求高的任务不可能立刻得到处理。另外,由于前台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务队列中的其他任务得不到机会被处理,从而造成整个系统的崩溃。由于这类系统结构简单,几乎不需要 RAM/ROM 的额外开销,因而在简单的嵌入式应用被广泛使用。

而对于实时系统是指能在确定的时间内执行其功能并对外部的异步事件做出响应的计算机系统。其操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关。“在确定的时间内”是该定义的核心。也就是说,实时系统是对响应时间有严格要求的。

实时系统对逻辑和时序的要求非常严格,如果逻辑和时序出现偏差将会引起严重后果。实时系统有两种类型:软实时系统和硬实时系统。软实时系统仅要求事件响应是实时的,并不要求限定某一任务必须在多长时间内完成;而在硬实时系统中,不仅要求任务响应要实时,而且要求在规定的时间内完成事件的处理。通常大多数实时系统是两者的结合。实时应用软件的设计一般比非实时应用软件的设计困难。实时系统的技术关键是如何保证系统的实时性。

实时多任务操作系统是指具有实时性、能支持实时控制系统工作的操作系统。其首要任务是调度

一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。实时操作系统具有如下功能:任务管理(多任务和基于优先级的任务调度)、任务间同步和通信(信号量和邮箱等)、存储器优化管理(含 ROM 的管理)、实时时钟服务、中断管理服务。实时操作系统具有如下特点:规模小,中断被屏蔽的时间很短,中断处理时间短,任务切换很快。

实时操作系统可分为可抢占型和不可抢占型两类。对于基于优先级的系统而言,可抢占型实时操作系统是指内核可以抢占正在运行任务的 CPU 使用权并将使用权交给进入就绪态的优先级更高的任务,是内核抢了 CPU 让别的任务运行。不可抢占型实时操作系统使用某种算法并决定让某个任务运行后,就把 CPU 的控制权完全交给了该任务,直到它主动将 CPU 控制权还回来。中断由中断服务程序来处理,可以激活一个休眠态的任务,使之进入就绪态;而这个进入就绪态的任务还不能运行,一直要等到当前运行的任务主动交出 CPU 的控制权。使用这种实时操作系统的实时性比不使用实时操作系统的系统性能好,其实时性取决于最长任务的执行时间。不可抢占型实时操作系统的缺点也恰恰是这一点,如果最长任务的执行时间不能确定,系统的实时性就不能确定。

可抢占型实时操作系统的实时性好,优先级高的任务只要具备了运行的条件,或者说进入了就绪态,就可以立即运行。也就是说,除了优先级最高的任务,其他任务在运行过程中都可能随时被比它优先级高的任务中断,让后者运行。通过这种方式的任务调度保证了系统的实时性,但是,如果任务之间抢占 CPU 控制权处理不好,会产生系统崩溃、死机等严重后果。

嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要。

首先,嵌入式实时操作系统提高了系统的可靠性。在控制系统中,出于安全方面的考虑,要求系统起码不能崩溃,而且还要有自愈能力。不仅要求在硬件设计方面提高系统的可靠性和抗干扰性,而且也应在软件设计方面提高系统的抗干扰性,尽可能地减少安全漏洞和不可靠的隐患。长期以来的前后台系统软件设计在遇到强干扰时,使得运行的程序产生异常、出错、跑飞,甚至死循环,造成了系统的崩溃。而实时操作系统管理的系统,这种干扰可能只是引起若干进程中的一个被破坏,可以通过系统运行的系统监控进程对其进行修复。通常情况下,这个系统监视进程用来监视各进程运行状况,遇到异常情况时采取一些利于系统稳定可靠的措施,如把有问题的任务清除掉。

其次,提高了开发效率,缩短了开发周期。在嵌入式实时操作系统环境下,开发一个复杂的应用程序,通常可以按照软件工程中的解耦原则将整个程序分解为多个任务模块。每个任务模块的调试、修改几乎不影响其他模块。商业软件一般都提供了良好的多任务调试环境。再次,嵌入式实时操作系统充分发挥了 32 位 CPU 的多任务潜力。32 位 CPU 比 8、16 位 CPU 快,另外它本来是为运行多用户、多任务操作系统而设计的,特别适于运行多任务实时系统。32 位 CPU 采用利于提高系统可靠性和稳定性的设计,使其更容易做到不崩溃。例如,CPU 运行状态分为系统态和用户态。将系统堆栈和用户堆栈分开,以及实时地给出 CPU 的运行状态等,允许用户在系统设计中从硬件和软件两方面对实时内核的运行实施保护。如果还是采用以前的前后台方式,则无法发挥 32 位 CPU 的优势。

从某种意义上说,没有操作系统的计算机(裸机)是没有用的。在嵌入式应用中,只有把 CPU 嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。

当然嵌入式实时性操作系统也有其缺点,在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。但是,使用嵌入式实时操作系统还需要其额外的 ROM/RAM 开销。

通过对嵌入式系统的认识,我们也了解到了很多其有关的知识,有机构估计,全世界嵌入式系统产品潜在的市场将超过1万亿美元。随着技术的发展,业内对嵌入式系统的定义也越来越清晰。它是微处理器、大规模集成电路、软件技术和各种具体的行业应用技术相结合的结果,其中各种软件技术占了嵌入式系统80%的工作量。嵌入式系统不同于一般PC 机上的应用系统,即使是针对不同的具体应用而设计的嵌入式系统之间的差别也很大。嵌入式系统一般功能单

一、简单,且在兼容性方面要求不高,但是在大小、成本方面限制较多。可以说,嵌入式系统是不可垄断、需要不断创新的技术。

第二篇:嵌入式实验报告

目录

实验一 跑马灯实验.........................................................................1 实验二 按键输入实验.....................................................................3 实验三 串口实验.............................................................................5 实验四 外部中断实验.....................................................................8 实验五 独立看门狗实验................................................................11 实验七 定时器中断实验................................................................13 实验十三 ADC实验........................................................................15 实验十五 DMA实验........................................................................17 实验十六 I2C实验........................................................................21 实验十七 SPI实验........................................................................24 实验二十一 红外遥控实验............................................................27 实验二十二 DS18B20实验.............................................................30

实验一 跑马灯实验

一.实验简介

我的第一个实验,跑马灯实验。

二.实验目的

掌握STM32开发环境,掌握从无到有的构建工程。

三.实验内容

熟悉MDK KEIL开发环境,构建基于固件库的工程,编写代码实现跑马灯工程。通过ISP下载代码到实验板,查看运行结果。使用JLINK下载代码到目标板,查看运行结果,使用JLINK在线调试。

四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。

五.实验步骤

1.熟悉MDK KEIL开发环境 2.熟悉串口编程软件ISP 3.查看固件库结构和文件

4.建立工程目录,复制库文件 5.建立和配置工程 6.编写代码 7.编译代码

8.使用ISP下载到实验板 9.测试运行结果

10.使用JLINK下载到实验板 11.单步调试

12.记录实验过程,撰写实验报告

六.实验结果及测试

源代码:

两个灯LED0与LED1实现交替闪烁的类跑马灯效果,每300ms闪烁一次。

七.实验总结

通过本次次实验我了解了STM32开发板的基本使用,初次接触这个开发板和MDK KEILC软件,对软件操作不太了解,通过这次实验了解并熟练地使用MDK KEIL软件,用这个软件来编程和完成一些功能的实现。作为 STM32 的入门第一个例子,详细介绍了STM32 的IO口操作,同时巩固了前面的学习,并进一步介绍了MDK的软件仿真功能。

实验二 按键输入实验

一.实验简介

在实验一的基础上,使用按键控制流水灯速度,及使用按键控制流水灯流水方向。

二.实验目的

熟练使用库函数操作GPIO,掌握中断配置和中断服务程序编写方法,掌握通过全局变量在中断服务程序和主程序间通信的方法。

三.实验内容

实现初始化GPIO,并配置中断,在中断服务程序中通过修改全局变量,达到控制流水灯速度及方向。

使用JLINK下载代码到目标板,查看运行结果,使用JLINK在线调试。

四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK、示波器。软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。

五.实验步骤

1在实验1代码的基础上,编写中断初始化代码

2在主程序中声明全局变量,用于和中断服务程序通信,编写完成主程序 3编写中断服务程序

4编译代码,使用JLINK下载到实验板 5.单步调试

6记录实验过程,撰写实验报告

六.实验结果及测试

源代码:

我们将通过MiniSTM32 板上载有的3个按钮,来控制板上的2个LED,其中KEY0控制LED0,按一次亮,再按一次,就灭。KEY1 控制LED1,效果同KEY0。KEY_2(KEY_UP),同时控制LED0 和LED1,按一次,他们的状态就翻转一次。

七.实验总结

通过本次实验,我学会了如何使用STM32 的IO 口作为输入用。TM32 的IO 口做输入使用的时候,是通过读取IDR 的内容来读取IO 口的状态的。这里需要注意的是 KEY0 和KEY1 是低电平有效的,而WK_UP 是高电平有效的,而且要确认WK_UP 按钮与DS18B20 的连接是否已经断开,要先断开,否则DS18B20 会干扰WK_UP按键!并且KEY0 和KEY1 连接在与JTAG 相关的IO 口上,所以在软件编写的时候要先禁用JTAG 功能,才能把这两个IO 口当成普通IO 口使用。

实验三 串口实验

一.实验简介

编写代码实现串口发送和接收,将通过串口发送来的数据回送回去。

二.实验目的

掌握STM32基本串口编程,进一步学习中断处理。

三.实验内容

编写主程序,初始化串口1,设置波特率为9600,无校验,数据位8位,停止位1位。编写中断服务程序代码实现将发送过来的数据回送。

四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK、示波器。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。

五.实验步骤

1编写串口初始化代码

2编写中断服务程序代码

3编译代码,使用JLINK或ISP下载到实验板 4记录实验过程,撰写实验报告

六.实验结果及测试

源代码:

把代码下载到 MiniSTM32 开发板,可以看到板子上的LED0 开始闪烁,说明程序已经在跑了。接着我们打开串口调试助手,看到如下信息:

证明串口数据发送没问题。接着,我们在发送区输入上面的文字,输入完后按回车键。然后单击发送,可以得到如下结果:

七.实验总结

通过本次实验,我进一步了解了串口的使用,学会了通过串口发送和接收数据,将通过串口发送来的数据回送回去。该实验的硬件配置不同于前两个实验,串口 1 与USB 串口默认是分开的,并没有在PCB上连接在一起,需要通过跳线帽来连接一下。这里我们把P4 的RXD 和TXD 用跳线帽与P3 的PA9 和PA10 连接起来。

实验四 外部中断实验

一.实验简介

STM32 的 IO 口在本章第一节有详细介绍,而外部中断在第二章也有详细的阐述。这里我们将介绍如何将这两者结合起来,实现外部中断输入。

二.实验目的

进一步掌握串口编程,进一步学习外部中断编程,提高编程能力。

三.实验内容

初始化IO口的输入,开启复用时钟,设置IO与中断的映射关系,从而开启与IO口相对应的线上中断事件,设置触发条件。配置中断分组(NVIC),并使能中断,编写中断服务函数。

四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK、示波器。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。

五.实验步骤

1.2.3.4.编写中断服务程序代码 使用ISP下载到实验板 测试运行结果

记录实验过程,撰写实验报告

六.实验结果及测试

源代码:

打开串口助手。

七.实验总结

首先需要将IO设置为中断输入口: 1)初始化 IO 口为输入。

2)开启 IO 口复用时钟,设置 IO 口与中断线的映射关系。

3)开启与该 IO口相对的线上中断/事件,设置触发条件。

4)配置中断分组(NVIC),并使能中断。

5)编写中断服务函数。

这一节,使用的是中断来检测按键,通过 WK_UP 按键实现按一次 LED0 和 LED 1 同时翻转,按 KEY0 翻转 LED0,按 KEY1 翻转 LED1。

试验中外部中断函数不能进入的原因分析 : 1)GPIO或者AFIO的时钟没有开启。2)GPIO和配置的中断线路不匹配。3)中断触发方式和实际不相符合。

4)中断处理函数用库函数时,写错,经常可能出现数字和字母之间没有下划线。5)外部中断是沿触发,有可能不能检测到沿,比如 中断线是低电平(浮空输入),触发是下降沿触发,可能会出现一直是低电平,高电平的时候是一样的情况,电平持续为高电平。

6)没有用软件中断来触发外部中断,调用函数EXTI_GenerateSWInterrupt;,因为软件中断先于边沿中断处理。

实验五 独立看门狗实验

一. 实验简介

独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。窗口看门狗由从APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作。

二.实验目的

通过编程,编写一个独立看门狗驱动程序

三.实验内容

启动 STM32 的独立看门狗,从而使能看门狗,在程序里面必须间隔一定时间喂狗,否则将导致程序复位。利用这一点,我们本章将通过一个 LED 灯来指示程序是否重启,来验证 STM32 的独立看门狗。

四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。

五.实验步骤

1.2.3.4.参考教材独立看门狗部分,编写独立看门狗驱动程序。建立和配置工程 编写代码

使用ISP下载到实验板

记录实验过程,撰写实验报告

六.实验结果及测试

源代码:

在配置看门狗后,看到LED0 不停的闪烁,如果WK_UP 按键按下,就喂狗,只要WK_UP 不停的按,看门狗就一直不会产生复位,保持LED0 的常亮,一旦超过看门狗定溢出时间(Tout)还没按,那么将会导致程序重启,这将导致LED0 熄灭一次。

七.实验总结

通过本次实验,我掌握了启动独立看门狗的步骤: 1)向 IWDG_KR 写入 0X5555。2)向 IWDG_KR 写入 0XAAAA。3)向 IWDG_KR 写入 0XCCCC。

通过上面 3个步骤,启动 STM32 的看门狗,从而使能看门狗,在程序里面就必须间隔一定时间喂狗,否则将导致程序复位。利用这一点,本章通过一个LED 灯来指示程序是否重启,来验证 STM32 的独立看门狗。在配置看门狗后,LED0 将常亮,如果 WK_UP 按键按下,就喂狗,只要 WK_UP 不停的按,看门狗就一直不会产生复位,保持 LED 0 的常亮,一旦超过看门狗溢出时间(Tout)还没按,那么将会导致程序重启,这将导致 LED 0 熄灭一次。

实验七 定时器中断实验

一. 实验简介

STM32 的定时器是一个通过可编程预分频器(PSC)驱动的 16 位自动装载计数器(CNT)构成。STM32 的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)等。使用定时器预分频器和 RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几微秒到几毫秒间调整。STM32 的每个通用定时器都是完全独立的,没有互相共享的任何资源。

二.实验目的

熟练掌握定时器中断,学会对定时器中断的编程操作。

三.实验内容

使用定时器产生中断,然后在中断服务函数里面翻转 LED1 上的电平,来指示定时器中断的产生,修改中断时间。

四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。

五.实验步骤

1.参考教材定时器中断部分,编写定时器中断的驱动程序。2.编写主程序

3.编译代码,使用JLINK或ISP下载到实验板 4.记录实验过程,撰写实验报告

六.实验结果及测试

源代码:

七.实验总结

通过本次实验,认识到时间中断来控制LED灯的闪烁,同时也可以将时间中断应用到控制其他的程序块。

以TIME3为例产生中断的步骤为 1)TIM3 时钟使能。

2)设置 TIM3_ARR 和 TIM3_PSC 的值。

3)设置 TIM3_DIER 允许更新中断。

4)允许 TIM3 工作。

5)TIM3 中断分组设置。6)编写中断服务函数。

在中断产生后,通过状态寄存器的值来判断此次产生的中断属于什么类型。然后执行相关的操作,我们这里使用的是更新(溢出)中断,所以在状态寄存器 SR 的最低位。在处理完中断之后应该向 TIM3_SR 的最低位写 0,来清除该中断标志。

实验十三 ADC实验

一.实验简介

通过DAC将STM32系统的数字量转换为模拟量。使用ADC将模拟量转换为数字量。

二.实验目的

掌握DAC和ADC编程。

三.实验内容

编写代码实现简单的DAC单次发送

编写代码实现ADC采集DAC发送的数据,并发送到串口

四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。

五.实验步骤

1编写主程序

2编译代码,使用JLINK或ISP下载到实验板,使用串口调试助手观察数据 3记录实验过程,撰写实验报告

六.实验结果及测试

源代码:

七.实验总结

本节将利用 STM32的 ADC1 通道 0 来采样外部电压值,并在串口调试助手中显示出来。步骤如下:

1)开启 PA 口时钟,设置 PA0 为模拟输入。

2)使能 ADC1 时钟,并设置分频因子。

3)设置 ADC1 的工作模式。

4)设置 ADC1 规则序列的相关信息。

5)开启 AD 转换器,并校准。

6)读取 ADC 值。

在上面的校准完成之后,ADC 就算准备好了。接下来我们要做的就是设置规则序列 0 里面的通道,然后启动 ADC 转换。在转换结束后,读取 ADC1_DR 里面的值。

通过以上几个步骤的设置,可以正常的使用 STM32 的 ADC1 来执行 AD 转换操作。

通过本次实验的学习,我们了解了STM32 ADC的使用,但这仅仅是STM32强大的ADC 功能的一小点应用。STM32 的ADC 在很多地方都可以用到,其ADC 的DMA 功能是很不错的,实验十五 DMA实验

一. 实验简介

直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。

二.实验目的

熟练掌握DMA编程,学会对EPC02的读写操作,学习双缓冲兵乓操作,理解互斥资源。提高编程能力。

三.实验内容

利用外部按键KEY0 来控制DMA 的传送,每按一次KEY0,DMA 就传送一次数据

到USART1,然后在串口调试助手观察进度等信息。LED0 还是用来做为程序运行的指示灯。

这里我们使用到的硬件资源如下: 1)按键KEY0。2)指示灯LED0。

3)使用串口调试助手观察数据

四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、网络调试助手。

五.实验步骤

1编写主程序

2编译代码,使用JLINK或ISP下载到实验板,使用串口调试助手观察数据 3记录实验过程,撰写实验报告

六.实验结果及测试

源代码:

伴随 LED0 的不停闪烁,提示程序在运行。我们打开串口调试助手,然后按KEY0,可以看到串口显示如下内容:

七.实验总结

本节利用 STM32 的 DMA 来实现串口数据传送,DMA通道的配置需要: 1)设置外设地址。

2)设置存储器地址。

3)设置传输数据量。

4)设置通道 4 的配置信息。

5)使能 DMA1 通道 4,启动传输。

通过以上 5 步设置,我们就可以启动一次 USART1 的 DMA 传输了。

DMA控制器对DMA请求判别优先级及屏蔽,向总线裁决逻辑提出总线请求。当CPU执行完当前总线周期即可释放总线控制权。此时,总线裁决逻辑输出总线应答,表示DMA已经响应,通过DMA控制器通知I/O接口开始DMA传输。

DMA控制器获得总线控制权后,CPU即刻挂起或只执行内部操作,由DMA控制器输出读写命令,直接控制RAM与I/O接口进行DMA传输。

在DMA控制器的控制下,在存储器和外部设备之间直接进行数据传送,在传送过中不需要中央处理器的参与。开始时需提供要传送的数据的起始位置和数据长度。

当完成规定的成批数据传送后,DMA控制器即释放总线控制权,并向I/O接口发出结束信号。当I/O接口收到结束信号后,一方面停 止I/O设备的工作,另一方面向CPU提出中断请求,使CPU从不介入的状态解脱,并执行一段检查本次DMA传输操作正确性的代码。最后,带着本次操作结果及状态继续执行原来的程序。

由此可见,DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,使CPU的效率大为提高。

实验十六 I2C实验

一.实验简介

编程实现对使用I2C接口的EPC02芯片进行写和读操作。

二.实验目的

熟练掌握I2C编程,学会对EPC02的读写操作。

三.实验内容

编写I2C驱动程序,使用驱动程序初始化EPC02,判断设备正确性。

写256个0x5A到EPC02,读出并发送给串口,通过串口调试助手判别是否读到的都是0x5A.四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。

五.实验步骤

1参考教材I2C部分,编写I2C驱动程序。2编写主程序

3编译代码,使用JLINK或ISP下载到实验板 4记录实验过程,撰写实验报告

六.实验结果及测试

伴随 LED0 的不停闪烁,提示程序在运行。我们先按下KEY0,可以看到如下所示的内容,证明数据已经被写入到24C02了。

接着我们按KEY2,可以看我们刚刚写入的数据被显示出来了,如下图所示:

源代码:

七.实验总结

IIC是由数据线 SDA 和时钟 SCL 构成的串行总线,可发送和接收数据。在 CPU 与被控 IC 之间、IC 与 IC 之间进行双向传送,高速 IIC 总线一般可达 400kbps 以上。

IIC总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。这些信号中,起始信号是必需的,结束信号和应答信号,都可以不要。程序在开机的时候会检测 24C02 是否存在,如果不存在则会在TFTLCD 模块上显示错误信息,同时LED0 慢闪。大家可以通过跳线帽把PC11 和PC12 短接就可以看到报错了。通过本次实验,我掌握了如何使用IIC写入与读出数据,学习了编写I2C驱动程序,使用驱动程序初始化EPC02,判断设备正确性,以及如何在助手上显示。

实验十七 SPI实验

一.实验简介

编程实现对SPI接口的W25Q64进行读写操作。

二.实验目的

熟练掌握SPI编程,学会对的W25Q64读写操作。

三.实验内容

1.2.3.4.5.编写SPI驱动程序 初始化SPI接口

读取SPIFLASH的ID,如果正确继续,否则报错

向SPIFALSH地址0x12AB00开始写一串字符,再读出比较判断是否与写入的一致 向SPIFALSH地址0x12AB00开始写连续256个字节的0x5A,然后读出并发送给串口,通过串口调试助手判别是否读到的都是0x5A.四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。

五.实验步骤

1参考SPI及SPI FLASH部分,编写SPI及SPI FLASH驱动程序(可参考书上代码)。2编写主程序

3编译代码,使用JLINK或ISP下载到实验板 4记录实验过程,撰写实验报告

六.实验结果及测试

源代码:

伴随 LED0 的不停闪烁,提示程序在运行。我们先按下KEY0,可以看到如图13.17.4.2 所示的内容,证明数据已经被写入到W25X16了。

接着我们按KEY2,可以看我们刚刚写入的数据被显示出来了,如下图所示:

七.实验总结

SPI 接口主要应用在EEPROM,FLASH,实时时钟,AD 转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为 PCB 的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,STM32 也有 SPI 接口。

SPI 的设置步骤:

1)配置相关引脚的复用功能,使能 SPI时钟。

2)设置 SPI 工作模式。

3)使能 SPI。

程序在开机的时候会检测 W25X16 是否存在,如果不存在则会在TFTLCD 模块上显示错误信息,同时LED0 慢闪。大家可以通过跳线帽把PA5 和PA6 短接就可以看到报错了。通过本实验,我掌握了编写SPI程序写入和读取FLASH的方法,掌握了对学会对的W25Q64读写操作。对STM32开发板有了进一步的了解。

实验二十一 红外遥控实验

一. 实验简介

编程实现通过在 ALIENTEK MiniSTM32 开发板上实现红外遥控器的控制。

二.实验目的

掌握编程实现红外遥控控制开发板的方法。

三.实验内容

1.编写红外遥控驱动程序 2.编写红外遥控程序代码 3.使用红外遥控控制开发板

四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。

五.实验步骤

4.编写红外遥控驱动程序 5.编写红外遥控程序代码

6.编译代码,使用JLINK或ISP下载到实验板 7.记录实验过程,撰写实验报告

六.实验结果及测试

源代码:

使用串口调试助手观察数据

七.实验总结

红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。

通过本节实验,我学习到了如何编程使用红外遥控控制,在本程序中只是简单地输出一个数值,在以后的应用中可以实现更强大的功能,比如用红外远程输入控制开发板进行一些操作。对STM32有了进一步的认识。

实验二十二 DS18B20实验

一. 实验简介

一. 在ALIENTEK MiniSTM32 开发板上,通过 DS18B20 来读取环境温度值。

二.实验目的

巩固SPI编程。掌握使用感应器获取环境温度的方法。

三.实验内容

1.复位脉冲和应答脉冲

2.写时序

3.读时序

四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。

五.实验步骤

1.2.3.4.参考教材DS18B20编程部分,编写DS18B20驱动程序 编写主程序

编译代码,使用JLINK或ISP下载到实验板 记录实验过程,撰写实验报告

六.实验结果及测试

源代码:

使用串口调试助手观察数据:

七.实验总结

DS18B20 是由 DALLAS 半导体公司推出的一种的“一线总线”接口的温度传感器。与传统的热敏电阻等测温元件相比,它是一种新型的体积小、适用电压宽、与微处理器接口简单的数字化温度传感器。

通过本次实验,我认识到STM32的强大,在开发板上可以添加其他感应器从而实现更强大的功能。添加了DS18B20后的开发板可以感应外界的温度,通过公式计算显示出来。

第三篇:嵌入式学习心得

LPC2136是ARM7架构,是32位地址总线和数据总线,可以寻址的范围为2的32次方

=4GB(0x00000000~0xFFFFFFFF)

我们的程序在哪里运行?

还记得我们在做“跑马灯”和“蜂鸣器”两个实验,用ads1.2中建立工程文件的时候有设置三个地址:

RO Base :0x40000000

RW Base :0x40001000

Image entry point :0x40000000

开始没有讲为什么,通过上面的系统存储器映射图解不知大家是否有所悟。LPC2136内部自带32KB RAM和256KB FLASH。

32KB RAM分布在整个CPU存储器空间的0x40000000~0x40007FFF;

256KB FLASH分布在整个CPU存储器空间的0x00000000~0x0003 FFFF;

RO Base是告诉编译系统把编译生成的目标码放在0x40000000起始的位置,也就是代码段存放在0x40000000开始的位置。

RW Base告诉编译系统把各种变量(常量放在RO开始的位置),堆栈放在0x40001000起始的位置。

Image entry point:是告诉编译系统程序入口点在0x40000000,即程序从这个地址开始执行。(此部分在附录二中细说)

Flash与RAM的区别

通过以上所说,好像FLASH在这里没什么用,如果你的RO地址定位在RAM中,那么FLASH确实没有用。但FLASH是必须的功能部件。

Flash的作用也许要从其与RAM的区别说起:

区别一:RAM是易失性存储器,Flash是非易失性存储器。通俗的说,存储在RAM中的数据掉电后数据丢失;而存储在FLASH中的数据掉电后任然保持。(必须通过工具或特殊命令来擦除)

区别二:RAM是可读写存储器,Flash只读存储器。(也许有人要问,Flash难道不能写吗?Flash可以写,但不能象RAM一样做简单赋值操作,必须通过Flash写命令写,而且写入数据的最小单位为512字节,即一个扇区)

区别三:RAM访问速度快,而Flash访问速度慢的多。

区别四:RAM价格昂贵,Flash便宜。

FLASH有何用途

我们一般在调试程序的时候为了提高开发进度,都把程序放在RAM中调试,在RAM中调试有一个缺陷就是每次上电必须下载程序到板子上,当产品的各个模块调试OK,产品就要实现脱机功能,即把程序烧写到FLASH中,这样就不需要每次上电加载程序。我们手中拿的手机,在开发阶段都是在RAM(SDRAM)中调试的,开发完成,要发布的时候就把程序烧到FLASH,这样我们开机有能运行FLASH的程序。

第四篇:嵌入式实验报告

嵌入式系统及应用课 程设计报告

姓名:陈宥祎

班级:14级计算机01班 学号:1255010116 指导老师:黄卫红

按键输入实验

一.实验简介

在实验一的基础上,使用按键控制流水灯速度,及使用按键控制流水灯流水方向。

二.实验目的

熟练使用库函数操作GPIO,掌握中断配置和中断服务程序编写方法,掌握通过全局变量在中断服务程序和主程序间通信的方法。

三.实验内容

实现初始化GPIO,并配置中断,在中断服务程序中通过修改全局变量,达到控制流水灯速度及方向。

使用JLINK下载代码到目标板,查看运行结果,使用JLINK在线调试。

四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK、示波器。软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。

五.实验步骤

1在实验1代码的基础上,编写中断初始化代码

2在主程序中声明全局变量,用于和中断服务程序通信,编写完成主程序 3编写中断服务程序

4编译代码,使用JLINK下载到实验板 5.单步调试

6记录实验过程,撰写实验报告

六.实验结果及测试

源代码:

我们将通过MiniSTM32 板上载有的3个按钮,来控制板上的2个LED,其中KEY0控制LED0,按一次亮,再按一次,就灭。KEY1 控制LED1,效果同KEY0。KEY_2(KEY_UP),同时控制LED0 和LED1,按一次,他们的状态就翻转一次。

七.实验总结

通过本次实验,我学会了如何使用STM32 的IO 口作为输入用。TM32 的IO 口做输入使用的时候,是通过读取IDR 的内容来读取IO 口的状态的。这里需要注意的是 KEY0 和KEY1 是低电平有效的,而WK_UP 是高电平有效的,而且要确认WK_UP 按钮与DS18B20 的连接是否已经断开,要先断开,否则DS18B20 会干扰WK_UP按键!并且KEY0 和KEY1 连接在与JTAG 相关的IO 口上,所以在软件编写的时候要先禁用JTAG 功能,才能把这两个IO 口当成普通IO 口使用。

串口通信

一.实验简介

编写代码实现串口发送和接收,将通过串口发送来的数据回送回去。

二.实验目的

掌握STM32基本串口编程,进一步学习中断处理。

三.实验内容

编写主程序,初始化串口1,设置波特率为9600,无校验,数据位8位,停止位1位。编写中断服务程序代码实现将发送过来的数据回送。

四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK、示波器。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。

五.实验步骤

1编写串口初始化代码

2编写中断服务程序代码

3编译代码,使用JLINK或ISP下载到实验板 4记录实验过程,撰写实验报告

六.实验结果及测试

源代码:

把代码下载到 MiniSTM32 开发板,可以看到板子上的LED0 开始闪烁,说明程序已经在跑了。接着我们打开串口调试助手,看到如下信息:

证明串口数据发送没问题。接着,我们在发送区输入上面的文字,输入完后按回车键。然后单击发送,可以得到如下结果:

七.实验总结

通过本次实验,我进一步了解了串口的使用,学会了通过串口发送和接收数据,将通过串

口发送来的数据回送回去。该实验的硬件配置不同于前两个实验,串口 1 与USB 串口默认是分开的,并没有在PCB上连接在一起,需要通过跳线帽来连接一下。这里我们把P4 的RXD 和TXD 用跳线帽与P3 的PA9 和PA10 连接起来。

外部中断

一.实验简介

STM32 的 IO 口在本章第一节有详细介绍,而外部中断在第二章也有详细的阐述。这里我们将介绍如何将这两者结合起来,实现外部中断输入。

二.实验目的

进一步掌握串口编程,进一步学习外部中断编程,提高编程能力。

三.实验内容

初始化IO口的输入,开启复用时钟,设置IO与中断的映射关系,从而开启与IO口相对应的线上中断事件,设置触发条件。配置中断分组(NVIC),并使能中断,编写中断服务函数。

四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK、示波器。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。

五.实验步骤

1.2.3.4.编写中断服务程序代码 使用ISP下载到实验板 测试运行结果

记录实验过程,撰写实验报告

六.实验结果及测试

源代码:

打开串口助手。

七.实验总结

首先需要将IO设置为中断输入口: 1)初始化 IO 口为输入。

2)开启 IO 口复用时钟,设置 IO 口与中断线的映射关系。

3)开启与该 IO口相对的线上中断/事件,设置触发条件。

4)配置中断分组(NVIC),并使能中断。

5)编写中断服务函数。

这一节,使用的是中断来检测按键,通过 WK_UP 按键实现按一次 LED0 和 LED 1 同时翻转,按 KEY0 翻转 LED0,按 KEY1 翻转 LED1。试验中外部中断函数不能进入的原因分析 : 1)GPIO或者AFIO的时钟没有开启。2)GPIO和配置的中断线路不匹配。3)中断触发方式和实际不相符合。

4)中断处理函数用库函数时,写错,经常可能出现数字和字母之间没有下划线。5)外部中断是沿触发,有可能不能检测到沿,比如 中断线是低电平(浮空输入),触发是下降沿触发,可能会出现一直是低电平,高电平的时候是一样的情况,电平持续为高电平。

6)没有用软件中断来触发外部中断,调用函数EXTI_GenerateSWInterrupt;,因为软件中断先于边沿中断处理。

独立看门狗实验

一. 实验简介

独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。窗口看门狗由从APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作。

二.实验目的

通过编程,编写一个独立看门狗驱动程序

三.实验内容

启动 STM32 的独立看门狗,从而使能看门狗,在程序里面必须间隔一定时间喂狗,否则将导致程序复位。利用这一点,我们本章将通过一个 LED 灯来指示程序是否重启,来验证 STM32 的独立看门狗。

四.实验设备

硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。

软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。

五.实验步骤

1.2.3.4.参考教材独立看门狗部分,编写独立看门狗驱动程序。建立和配置工程 编写代码

使用ISP下载到实验板

记录实验过程,撰写实验报告

六.实验结果及测试

源代码:

在配置看门狗后,看到LED0 不停的闪烁,如果WK_UP 按键按下,就喂狗,只要WK_UP 不停的按,看门狗就一直不会产生复位,保持LED0 的常亮,一旦超过看门狗定溢出时间(Tout)还没按,那么将会导致程序重启,这将导致LED0 熄灭一次。

七.实验总结

通过本次实验,我掌握了启动独立看门狗的步骤: 1)向 IWDG_KR 写入 0X5555。2)向 IWDG_KR 写入 0XAAAA。3)向 IWDG_KR 写入 0XCCCC。

通过上面 3个步骤,启动 STM32 的看门狗,从而使能看门狗,在程序里面就必须间隔一定时间喂狗,否则将导致程序复位。利用这一点,本章通过一个LED 灯来指示程序是否重启,来验证 STM32 的独立看门狗。在配置看门狗后,LED0 将常亮,如果 WK_UP 按键按下,就喂狗,只要 WK_UP 不停的按,看门狗就一直不会产生复位,保持 LED 0 的常亮,一旦超过看门狗溢出时间(Tout)还没按,那么将会导致程序重启,这将导致 LED 0 熄灭一次。

第五篇:嵌入式学习心得

嵌入式学习心得

当今社会,嵌入式系统已经渗透到人们工作、生活中的各个领域,嵌入式处理器已占分散处理器市场份额的94%。而嵌入式Linux系统也蓬勃发展,不仅继承了Linux源码开放、内核稳定高效、软件丰富等优势,还具备支持广泛处理器结构和硬件平台、占有空间小、成本低廉、结构紧凑等特点。

我很幸运接触了嵌入式,在嵌入式实验我知道了构建嵌入式系统的开发环境明白了交叉编译:交叉编译的环境建立在宿主机上,而对应的开发板为目标机。为了使宿主机上开发的程序能够方便的下载到目标机上运行,一般还要在宿主机上配置好网络,使其支持NFS或tftp等网络服务,从而达到两台机器之间的文件共享,知道了宿主机与目标机之间的关系:在嵌入式系统开发过程中,由于可执行程序的编译过程和执行过程分别在宿主机和目标机上完成,因此实现宿主机和目标机之间的实时交互能够大幅度提高嵌入式系统开发的效率。由于目标机也带有操作系统,因此可以通过实现不同机器之间的网络共享来完成实时交互。宿主机开发程序,而目标机作为最后的执行机。两者在开发时需要交替结合进行。知道了UBOOT移植、UBOOT编译、UBOOT烧写。LINUX内核的移植、LINUX内核烧写。LINUX驱动程序的编写系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口.设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作.设备驱动程序是内核的一部分,它完成以下的功能:对设备初始化和释放、把数据从内核传送到硬件和从硬件读取数据、读取应用程序传送给设备文件的数据和回送应用程序请求的数据、检测和处理设备出现的错误.在Linux操作系统下有两类主要的设备文件类型,一种是字符设备,另一种是块设备.字符设备和块设备的主要区别是:在对字符设备发出读/写请求时,实际的硬件I/O一般就紧接着发生了,块设备则不然,它利用一块系统内存作缓冲区,当用户 进程对设备请求能满足用户的要求,就返回请求的数据,如果不能,就调用请求函数来进行实际的I/O操作.块设备是主要针对磁盘等慢速设备设计的,以免耗费 过多的CPU时间来等待.、DM6446 USB驱动编写。ARM+DSP双处理器开发实验。在这些实验当中我遇到了很多问题,因为是第一次接触linux,很多命令都不清楚,操作起来很不方便,使实验进度很慢,并且很多命令也是比葫芦画瓢,根本不知道为什么这么用,所以导致命令不熟练,下次操作时依然需要回忆。在程序开发中我在课下熟悉了shell命令以后,对一般的操作也算了解,我明白了问题就如爬山:不怕慢就怕站,只要我慢慢积累我就会学到应该如何编写我自己的程序,搭建我自己的嵌入式系统。尽管我们已经懂得了一些皮毛但是前方的路依然任重道远,要想把我们专业的优势发挥出来就需要软硬件结合,这无疑是一次巨大的契机,我感觉在结

课以后我们一定仔细想在实验中做的不足,以及实验中给我的资源我如何合理的应用。毕竟学无止境,我也看看其他论坛上应该建议我们如何学习嵌入式,但是众说纷纭,我不应该关注别人做了什么,但是我应该明白我的每一次付出会有什么收获,毕竟再多的参考也比不上你的实际情况,正如我们的dm6446它的学习方式与一般的arm还是有区别的,所以要因材施教。其实在你想做嵌入式Linux的时候,要对自己有信心。很可能自己以前学习的不是这个专业或者以前没有接触过,就像我一样,我以前也没接触过嵌入式,一旦我们确定了自己要做嵌入式,我想摆在我们面前的最大的一个难题就是,嵌入式对我们很模糊,好想心理面有好多好多阴霾,不用怕,请相信自己,新手都是这样,有疑团,才会激发我们探索的动力和激情。相信自己,在不久的将来自己会摸到嵌入式的棱角的,摸清他的面貌的。把学习穿插到日常生活中。一旦决定要学,就从现在开始学习,永远不要希望人的一生会腾出一段时间来让你去专门学习嵌入式的,就像当你出生的时候,永远不可能会专门腾出一段时间来让你专门学走路,最终情况是你学走路的同时很可能也在学习说话,学习吃饭。所以,对于学生来说,永远不要试图把学习嵌入式挪到假期,因为你不能预料到假期你会发生什么而耽误你学习的时间。需要用到什么学什么。不要企图把Linux,arm等所谓的什么教程之内的书看完了再去做开发。个人觉得Linux,只要知道大概,只要知道简单的命令,会用就可以了,但是gcc,gdb一定要掌握,然后就是要掌握嵌入式Linux和Linux开发环境的配置。嵌入式Linux是在开发板里面的Linux。而单纯的说Linux说的是PC上的Linux。遇到问题,我们就去解决,要解决,我们就可以翻书,查资料,这样既可以缩短项目开发周期,又可以学习,这样就避免了可能你把一本关于Linux的书看完了,你还不知道如何去做嵌入式Linux开发。不管你要做什么开发,装上Linux后,请安装英文版的,并且尽量在无图形界面写工作。因为很多公司都明确禁止用Linux图形界面和中文版的。不管做什么开发,应用开发,或者是驱动开发,都要先编译内核,因为有好多文件是只有你编译内核之后才能产生的,而这些文件,很可能就是你要用的。做应用开发,首先用从读懂驱动入手。不要求你会写驱动,但是起码要读懂驱动,这样才有助于应用开发除非你的嵌入式开发板是跑裸机,也就是没有Linux系统,你可以操作arm的寄存器,可以直接操作硬件,比如JTAG仿真就是。其他情况,一旦你有Linux系统,你的程序时不可能直接操作硬件的。明白这一点,你就不会向我一样,开始做嵌入式Linux应用的时候以为可以和单片机一样,直接控制引脚来写程序了。有了Linux,用主要用的系统提供给用户的接口。

要时刻把握每一次提高自己的机会!

下载嵌入式有感word格式文档
下载嵌入式有感.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    嵌入式心得体会

    这学期才接触嵌入式系统感觉还称不上入门,我通过学习知道了嵌入式的发展前景很大,各个领域都用到了嵌入式,学好嵌入式不愁没饭吃。 广义上讲,凡是带有微处理器的专用软硬件系统......

    嵌入式工程师(范文)

    什么是嵌入式工程师?与JAVA等通常的软件工程师有什么区别?嵌入式软件指嵌入在硬件中的非PC操作系统和开发工具软件,它在产业中的关联关系体现为:芯片设计制造\嵌入式系统软件\嵌入......

    嵌入式报告

    嵌入式实训报告姓名:张龙班级:电气803学号:08010270嵌入式系统学习体会 一、 嵌入式发展前景 嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特......

    嵌入式实验报告

    西安邮电大学 嵌入式处理器及应用实验报告书 学院名称学生姓名专业名称班级 : : : :实验一ADS 1.2 集成开发环境练习一、实验目的: 了解ADS 1.2 集成开发环境的使用方法。 二、......

    嵌入式报告

    目录 引言 ............................................................................................................................... 2 1. ARM概述 ...............

    嵌入式总结报告

    嵌入式实验报告期末论文 学生姓名: 杨佳洁 学 号: 11570118 班 级: 11计算机2班 指导教师: 黄 静 2014年5月20日 嵌入式程序设计与应用课程主要以理论与实验结合的方式讲授,包......

    嵌入式总结

    一、嵌入式系统原理与应用课程总结 这个学期我学习了《嵌入式原理与应用》这门课程,虽然这个学期马上就要结束了,对嵌入式的学习也要告一段落了,但是我觉得收获还是很大的。学......

    嵌入式实验报告

    实验一 ARM汇编语言程序设计 一、 实验目的 1. 了解IAR Embedded Workbench 集成开发环境 2. 掌握ARM汇编指令程序的设计及调试 二、 实验设备 1. PC操作系统WIN98或WIN2000......