《嵌入式原理和设计》实验讲义
《嵌入式系统的原理及应用》课程讲义_5-8
《嵌入式系统的原理及应用》课程讲义5-8目录第3章嵌入式Linux应用程序开发 (2)3.1 Linux开发环境的建立 (2)3.2 交叉编译器和工程管理器make (3)3.2.1 GNU gcc (3)3.2.2 编写Makefile文件 (9)3.3 嵌入式Linux系统的开发 (15)3.3.1 编写BootLoader (15)3.3.2 嵌入式Linux2.6系统的裁减 (21)3.3.3 根文件系统的裁减 (28)3.4 嵌入式Linux应用程序的开发流程 (30)3.4.1 开发方式 (30)3.4.2 应用程序实例 (33)第5次课:嵌入式Linux应用程序开发(10学时)主要介绍3个方面的内容:(1) Linux开发环境的建立;(2) GNU gcc交叉编译器;(3) Makefile文件书写规则。
第3章嵌入式Linux应用程序开发传统的嵌入式开发环境需要单片机的仿真器,包括C语言、汇编语言、调试工具等的集成开发环境IDE、实时操作系统等。
购买一个仿真器一般要花上千元,购买C编译器或IDE也要花几千元以上,而购买实时操作系统则要花上十万元乃至几十万元。
由于Flash技术的发展,特别是一些CPU可以用JTAG口在背景模式BDM(Back ground Debug Mode)下调试,故仿真器已可以省去。
随着BDM调试工具的标准化,BDM调试工具会变得越来越简单、越来越通用,一些BDM调试工具已经简单到仅仅在PC机并行口和单片机的JTAG接口之间加一道5~3.3V的缓冲,自制BDM调试工具变得越来越容易。
软件方面,Linux下的自由软件GNUgcc可以完成几乎所有知名CPU以及DSP的交叉C编译和调试,故IDE可以省去。
至于操作系统,uClinux、RTLinux、μC/OS等源码开放的、免费的嵌入式操作系统也都性能稳定可靠。
因此,全部使用遵循GPL的自由软件开发嵌入式应用无疑是一种不错的选择。
《嵌入式系统原理与实验》实验教学大纲
PC 机中下载文件或数据。 实验仪器设备:ARM 嵌入式系统教学实验平台、虚拟仪器一套(含存储示波器、 频谱分析仪、逻辑分析仪)、ADS 或 SDT 集成开发工具软件、PC 机、网线、串口 连接线、电源。
显示。编写程序,在 8×8LED 点阵上显示一个数字或字母。 实验仪器设备:ARM 嵌入式系统教学实验平台、虚拟仪器一套(含存储示波器、 频谱分析仪、逻辑分析仪)、ADS 或 SDT 集成开发工具软件、PC 机、ARM 开发板、 网线、串口连接线、电源。
实验项目五 实验名称:实时时钟(RTC)及定时器中断实验 实验目的:了解实时时钟在嵌入式系统中的应用,学习定时器的工作原理和应 用,掌握定时器中断的处理程序的编程。 实验类型:验证 实验学时:3 学时 每组人数:2 人 实验内容及方法:编程实现实时时钟的功能,每秒钟显示实时的时钟。编写一
《嵌入式系统原理与实验》实验教学大纲
一、面向专业:电子信息工程、通信工程 二、实验总学时:9 学时(根据教学进度情况,选择其中 3 个实验项目做。不独 立开课,占总成绩 30%) 三、实验中心(室):电子信息工程实验教学中心 四、实验目的:
使学生掌握 ARM 嵌入式系统的基本原理及其项目设计的开发方法,了解各类 ARM 嵌入式芯片主要技术指标和性能。掌握嵌入式系统的程序设计和开发技术, 掌握实时操作系统在 ARM 上的移值,让学生接触与掌握当今电子科技前沿的最新 技术,进而有效培养学生的创新能力。 五、实验项目:
行口的收发功能,接收来自串口(通过超级终端)字符并将 接收到的字符发送到超级终端。
嵌入式系统原理与设计-嵌入式系统讲义1_01-712
2020/8/19
© 国防科技大学计算机学院601室
3
第一章 嵌入式系统概论
1.2 嵌入式系统的定义
计算机分类
➢ 从通用性角度来分类:通用计算机和嵌入式计算机
通用计算机系统
➢ 巨型机、大型机、小型机、微型机 ➢ 服务器、工作站、台式机、笔记本计算机
嵌入式系统
➢ 坦克、导弹、飞机、军舰、雷达 ➢ DVD机、电视机、微波炉、洗衣机、电冰箱、热水器 ➢ 手机、MP3播放器、数码相机、数码摄像机、机顶盒 ➢ 键盘、鼠标、 闪存盘、CD-ROM、交换机、路由器
• 星载遥感图像处理系统 • 星载ATM交换机
2020/8/19
© 国防科技大学计算机学院601室
12
第一章 嵌入式系统概论
2020/8/19
© 国防科技大学计算机学院601室
13
第一章 嵌入式系统概论
1.4 嵌入式系统的特点
面向特定应用
➢ 嵌入式处理器与通用处理器的最大不同就是嵌入式处 理器工作在针对特定用户设计的系统中
幼苗到参天大树
➢ 经过三十多年的发展,嵌入式系统从最开始的涓涓细 流,发展壮大成了目前数量最多,使用范围最广的电 子信息系统
➢ 在人们的日常生活中,嵌入式设备几乎随处可见,已 经成为生活的重要组成部分
嵌入式系统虽然数量众多,但却往往不为人所知
➢ 嵌入式计算机系统一般隐藏在产品中 ➢ 在使用过程中主要完成无形的信息处理,用户不容易
第一章 嵌入式系统概论
主要内容
1.1 引言 1.2 嵌入式系统的定义 1.3 嵌入式系统的体系结构 1.4 嵌入式系统的特点 1.5 嵌入式系统的发展历史及趋势 1.6 嵌入式系统的应用
2020/8/19
嵌入式系统设计的原理与实践
嵌入式系统设计的原理与实践随着科技的不断进步和人们对智能化的追求,嵌入式系统在现代社会中越来越普遍。
嵌入式系统指的是嵌入到其他设备中以完成特定功能的计算机系统,它具有体积小、成本低、功耗低等优点,市场需求也越来越大。
嵌入式系统的设计离不开硬件和软件两个方面的技术支持,这篇文章将从原理与实践两个层面进行讲解。
原理部分1. 嵌入式系统设计的基本构成嵌入式系统的基本构成由主控芯片、存储器、输入输出接口和其他外围电路部分组成。
主控芯片是整个系统最重要的组成部分,它的主要任务是处理外部输入的数据,完成一定的计算或控制操作,并将其结果输出到外部。
存储器由 ROM、RAM、Flash 等构成,它们存储了系统自带的固件、数据以及程序运行时所需的变量等。
输入输出接口就是将外部的人机交互接口、各种传感器或输出设备等与主控芯片连接起来,实现数据的输入输出以及外设的控制等功能。
其他外围电路则是根据设计需求加以扩展。
2. 嵌入式系统的设计原则在设计嵌入式系统时,需遵循以下原则:(1)系统可靠性嵌入式系统一般是用于工业控制、医疗、交通、军事等重要场合,其工作环境恶劣,因此系统的可靠性是非常重要的。
这意味着在设计中要注意各种可能的故障情况,并考虑相应的应对措施,如电源掉电、电磁干扰、线路故障以及软件出错等。
(2)效率和性能现代嵌入式系统不仅要求实现各种功能,还要保证效率和性能,包括系统的运行速度、占用内存、能耗等方面。
这要求设计时需要充分考虑硬件与软件协同优化,选择合适的处理器、存储器和各种输入输出接口,同时采用流畅高效的算法和程序进行开发。
(3)灵活性和可扩展性嵌入式系统的设计需要考虑系统的灵活性和可扩展性,包括对不同的传感器、输入输出设备、通信接口等的兼容性,以及可能需要新增的功能。
(4)成本控制由于嵌入式系统配备较简单,较小的存储容量和比较低的计算能力,它的成本比一般电脑甚至智能手机低得多。
但与此同时,设计者需要系统地审慎选择单个部件和总体的设计方案以保持总体成本在可接受的范围内。
15硬件系统和实验介绍《嵌入式系统原理》PPT资料17页
04.01.2020
10/3/2007
嵌入式系统原5 理
Lecture15:硬件系统和实验介绍
ARM微处理器系列
• ARM微处理器目前包括下面几个系列,以及其它厂商基 于ARM体系结构的处理器,除了具有ARM体系结构的共 同特点以外,每一个系列的ARM微处理器都有各自的特 点和应用领域。
• - ARM7系列 • - ARM9系列 • - ARM9E系列 • - ARM10E系列 • - SecurCore系列 • - Intel的Xscale • - Intel的StrongARM
• 当ARM微处理器执行32位的ARM指令集时,工作 在ARM状态;当ARM微处理器执行16位的Thumb 指令集时,工作在Thumb状态。在程序的执行过 程中,微处理器可以随时在两种工作状态之间切 换,并且,处理器工作状态的转变并不影响处理 器的工作模式和相应寄存器中的内容。
04.01.2020
10/3/2007
LCD显示
1MB线性 Flash(BIOS) 8MBSDRM (系统内存) 16MB非线性 Flash(硬盘)
04.01.2020
基于ARM架构的32位 微处理器
Samsung S3C44B0X
USB接口 USBN9603
两个RS-232 串行通信接口
JTAG调试端口
键盘输入
10/3/2007
TCP/IP协议
• D取至Debug,表示支持Debuging功能。
• M取至Multiplier,表示具备32bit硬件乘法器。
• I取至ICE,表示支持Embedded-ICE接口,可进行 在线仿真。
04.01.2020
10/3/2007
嵌入式系统原8 理
嵌入式系统原理与设计 教学课件(共82张PPT)
杂,如:16位、32位CPU或特殊功能的微处理器、 特定功能的集成芯片、FPGA或CPLD等,其软
件设计的复杂性成倍增长。因此研究嵌入式系统的
设计原理及技术,提供系统的设计方法和开发工具是 嵌入式计算学科的关键技术。
嵌入式微处理器分类
嵌入式处理器
嵌入式微控制器 (MCU)
嵌入式DSP处理器 (DSP)
嵌入式微处理器 (MPU)
嵌入式片上系统 (System On Chip)
1、嵌入式微控制器(MCU)
• 嵌入式微控制器的典型代表是单片机这 种8位的电子器件目前在嵌入式设备中 仍然有着极其广泛的应用。
• 单片机芯片内部集成ROM/EPROM、 RAM、总线、总线逻辑、定时/计数器、 看门狗、I/O、串行口、脉宽调制输出、 A/D、D/A、Flash RAM、EEPROM等 各种必要功能和外设。
要求程序编写和编译工具的质量要高,以减少程序二进制代码长度、提 高执行速度。
以微处理器为核心
• 我们设计一个数字系统可以有很多种方法,如:定制
逻辑、现场可编程门阵列(FPGA)等,那么为什 么在设计嵌入式系统时要以微处理器为核心呢? 这主要有两种原因:
• (1)用微处理器是实现数字系统一种十分便捷、有 效的方法;
嵌入式系统的特征
• 可接5种GPS接收器; 嵌入式系统是以微处理器为核心的,嵌 入在其他设备中的专用计算机系统。它 5个按键需要和屏幕菜单显示组合起来完成这些功能。
在移动地图这个例子中,电能消耗特别重要,设计时应尽量减少存储器读/写,因为存储器访问是主要的功耗来源,存储器的访问必须精心安排 ,以避免多次读取相同的数据。
《嵌入式系统的原理及应用》课程讲义_3
《嵌入式系统的原理及应用》课程讲义3目录2.4 ARM基本寻址方式 (2)2.4.1 寄存器寻址 (2)2.4.2 立即数寻址 (2)2.4.3 寄存器偏移寻址 (2)2.4.4 间接寻址 (3)2.4.5 基址寻址 (3)2.4.6 多寄存器寻址 (4)2.4.7 堆栈寻址 (4)2.4.8 块拷贝寻址 (4)2.4.9 相对寻址 (5)2.5 ARM指令集 (5)2.5.1 ARM指令的基本格式 (6)2.5.2 ARM指令详解 (7)2.6 ARM汇编和C语言程序设计 (7)2.6.1 汇编语言源程序格式 (7)2.6.2 汇编语言与C语言混合编程技术 (14)2.6.3 Linux下的ARM汇编 (15)2.6.4 程序优化与性能测试 (15)第3次课:ARM体系结构3主要内容:(4) ARM基本寻址方式(5) ARM指令集(6) ARM汇编程序设计2.4 ARM基本寻址方式ARM有9种寻址方式,分别为:2.4.1 寄存器寻址操作数的值在寄存器中,指令中的地址码字段指出的是寄存器编号,指令执行时直接取出寄存器值来操作。
寄存器寻址指令举例如下:MOV R1,R2 ;读取R2的值SUB R0,R1,R2 ;将R1的值减去R2的值,结果保存到R0中2.4.2 立即数寻址立即寻址指令中的操作码字段后面的地址码部分即是操作数本身。
也就是说,数据就包含在指令当中。
立即寻址指令举例如下:SUBS R0,R0,#1 ;R0减1,结果放入R0,并且影响标志位MOV R0,#0xFF000 ;将立即数0xFF000装入R0寄存器立即数要以“#”号为前缀,16进制数值时以“0x”表示。
2.4.3 寄存器偏移寻址寄存器偏移寻址是ARM指令集特有的寻址方式。
当第2个操作数是寄存器偏移方式时,第2个寄存器操作数在与第1个操作数结合之前,选择进行移位操作。
寄存器偏移寻址指令举例如下:MOV R0,R2,LSL #3 ;R2的值左移3位,结果放人R0ANDS R1,R1,R2,LSL R3 ;R2的值左移R3位,与R1相“与”,结果放入R1可采用的移位操作如下:各种移位操作如图所示,LSL为逻辑左移,LSR为逻辑右移,ASR为算术右移,ROR为循环右移,RRX为带扩展的循环右移1位。
《嵌入式系统的原理及应用》课程课件_4
《嵌入式系统的原理及应用》课程讲义目录2.7 S3C2410 ARM微处理器简介 (2)2.7.1 内部结构 (3)2.7.2 S3C2410A 的启动 (7)2.7.3 存储器控制器 (7)2.7.4 Nand Flash控制器 (10)2.7.5 时钟和电源管理 (11)2.7.6 输入/输出口 (12)2.7.7 中断 (13)2.7.8 异步串行口UART (17)第4次课:S3C2410 ARM微处理器主要介绍4个方面的内容:(1) 内部结构(2) S3C2410A 的启动(3) 存储器控制器(4) Nand Flash控制器(5) 时钟和电源管理(6) 输入/输出口(7) 中断(8) 异步串行口UART2.7 S3C2410 ARM微处理器简介Samsung 公司推出的16/32位RISC处理器S3C2410A,为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。
采用272 脚FBGA 封装,内含一个ARM920T 内核。
为了降低整个系统的成本,S3C2410A 提供了以下丰富的片内外围:★1个LCD控制器(支持STN和TFT带有触摸屏的液晶显示器);★SDRAM控制器;★3个通道的UART;★4个通道的DMA;★4个具有PWM功能的计时器和1个内部时钟;★8通道的10位ADC;★触摸屏接口;★I2C总线接口;★1个USB主机接口,1个USB设备接口;★2个SPI接口;★SD接口和MMC卡接口;★117位通用I/O口和24位外部中断源;S3C2410A采用了ARM920T内核,0.18um工艺的CMOS标准宏单元和存储器单元。
它的低功耗、精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。
同样它还采用了一种叫做Advanced Microcontroller Bus Architecture(AMBA)新型总线结构。
S3C2410A的显著特性是它的CPU核心,是一个由Advanced RISC Machines(ARM)有限公司设计的16/32位ARM920T RISC 处理器。
基于STM32的嵌入式系统原理和设计实课课件
实验三 串口发送和接收实验
一.实验简介 编写代码实现串口发送和接收,将通过串口发送来的数据回送回去。 二.实验目的 掌握STM32基本串口编程,进一步学习中断处理。 三.实验内容 1.编写主程序,初始化串口1,设置波特率为9600,无校验,数据位8 位,停止位1位。 2.编写中断服务程序代码实现将发送过来的数据回送。
实验部分根据学时不同可以根据书上内容增删提示实验题目可以有扩充和删剪题目以书上内容为基础可以进行变化增加创造性部分学生可以自己有创造性的扩展可加分学生实验报告还应包含实验结果和测试及实验总结一
LOGO LOGO
基于STM32的嵌入式 系统原理与设计
实验指导
主讲教师: EMAL: 博客:/u/2630123921 交流论坛:/bp 开发板和教程: PPT原作者:卢有亮 有修改请发修改稿到论坛以更有利于其他人教学! 实验部分根据学时不同可以根据书上内容增删
实验九 网络TCP/IP通信实验
四.实验设备 硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。 软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、网络调试助手。 五.实验步骤 1参考教材网络编程部分,网络接口芯片ENC28J60驱动 (可参考书上代 码)。 2.加入uIP网络软件包到工程中 3编写主程序 4编译代码,使用JLINK或ISP下载到实验板,使用网络调试助手与实验板 建立连接,向实验板发送数据和查看结果。 5记录实验过程,撰写实验报告
四.实验设备 硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。 软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件、串口调试助手。 五.实验步骤 1编写主程序 2编译代码,使用JLINK或ISP下载到实验板,使用串口调试助手观察数据 3记录实验过程,撰写实验报告
实验指导书基于STM32的嵌入式系统原理与设计.docx
实验指导书(实验)课程名称:基于STM32的嵌入式系统设计实验实验一电路板焊接与调试-•实验简介完成实验板上部分兀件的焊接,焊接完成后进行基本测试。
实验目的及原理掌握STM32F103实验板的基本原理,掌握焊接电路板的基本技能,掌握下载测试程序的基本方法。
原理:详细内容参考教材《基于STM32的嵌入式系统原理与设计》MCU和周边电路如图为MCU及其周边电路。
图1 MCU及其周边电路1. 唤醒电路,高有效,不按时接220K 电阻下拉。
2. 复位电路,低有效。
带RC 启动复位。
3. 配置启动,用跳线选择B00T1和BOOTO 接高电平或低电平。
4. 高速晶振电路,采用8M 晶振,在STM32内部倍频为72M 。
5. AD 参考电路,采用LC 滤波,可跳线选择直接接VCC 或通过TL431稳压电路产生的参考电压。
6. 后备电池。
可通过跳线选择直接接VCC 或电池。
7. AD 输入,可选择使用RC 滤波,共8路。
&低速晶振电路,选用32. 768kHz 晶振,为产生准确的串口波特率。
USB 转串口电路USB 转串口电路可以方便没有串口的笔记本电脑用户通过USB 接口下载代码到FLASH 中,及进行RS232串行通信。
USB 转串口芯片是CP2102,该芯片稳定性较好。
当其正常工作的时候,灯LED6亮。
该 芯片DP/D+引脚连MINI USB 接口的脚3, DM/D-引脚连MINI USB 接口的脚2,为一对USB 输入输出线。
TXD 与 RXD 引脚接 MCU 的 PA10 (USART1_RX)和 PA9 (USART1_TX)。
I2C 接口电路Jusbm USB图2 USB 转串口接口电路14NCNCNCNCNCNCNCONS.LO(一XE- (一ON 二 N (INHdsfls 二N 二一二乂ON本书选择的EEPROM 是AT24C02是256字节的电可擦出PROM,通过I2C 协议与STM32 进行通信,连接十分简单。
嵌入式系统设计的基本原理与实践
嵌入式系统设计的基本原理与实践一、嵌入式系统的定义与特点嵌入式系统是应用于特定用途的计算机系统,通常在物理环境要求较为严苛和资源受限的情况下使用。
其特点是具有低功耗、小尺寸、高可靠性、实时性强等特点。
二、嵌入式系统设计的基本原理1、硬件设计嵌入式系统硬件设计的重点是电路的选型和布局,需要精确根据实际计算的需求来确定每一个组件的功率和性能,保证其稳定运行。
硬件完成后,需进行物理布局,尽可能地缩小板子的大小,提高系统的可移植性。
2、软件设计嵌入式系统软件设计的主要难点在于资源受限,需要对程序占用内存和运算速度进行精确地评估,提高系统的性能和稳定性。
软件的编写需要按照开发标准和规范,保证代码的质量和可靠性。
同时需要进行严密的测试和调试,保证软件的正确性和稳定性。
3、系统设计嵌入式系统的系统设计需要把硬件设计和软件设计进行整合,构建完整的系统框架。
需要确保各个模块的相互配合和协同,同时保证系统的实时性和可靠性。
同时还需要考虑到系统的可维护性和扩展性,为后期的系统升级和维护提供便利。
三、嵌入式系统设计的实践1、选型在嵌入式系统设计之前需要对各种组件进行综合评估,按照实际需求选择适合的硬件和软件组件。
需要对电路图、 PCB 布局等进行精确的仿真和测试,确保设计的可靠性和稳定性。
2、编码嵌入式系统编程需要按照不同的 CPU 架构和系统平台进行编写,需要熟练使用各种编程语言和开发工具,如 C 语言、汇编语言、Keil 等。
使用嵌入式系统的I/O 处理器来完成各种数据处理、状态转换等任务,确保程序的正确性和稳定性。
3、测试与调试嵌入式系统测试与调试是整个系统设计的最后一步,需要仔细地测试和调整系统中的每一个部件的性能和稳定性,确保系统的各项指标达到预期。
需要对系统的各个部件进行全面的功能测试和时序测试,确定系统在不同工作场景下的性能表现。
四、结论嵌入式系统设计是一项繁琐而又具有挑战性的任务,需要深入理解系统的硬件和软件组成,运用系统设计和嵌入式编程技术进行系统开发。
嵌入式系统原理与设计-嵌入式系统讲义2_02-713
2.2.1 一般设计方法 2.2.2 嵌入式系统设计方法的演变 2.2.3 嵌入式系统的传统设计方法 2.2.4 嵌入式系统的系统级设计方法
2020/8/19
© 国防科技大学计算机学院601室
4
第二章 嵌入式系统设计方法
2.2 设计方法学(续)
产品度量
➢ 上市时间、设计成本、产品质量
➢ 从整个系统性能要求出发,把微处理器、模型算法、 芯片结构、外围器件各层次电路直至器件的设计紧密 结合起来
➢ 通过建立在全新理念上的系统软件和硬件的协同设计, 在单个芯片上完成整个系统的功能
2020/8/19
© 国防科技大学计算机学院601室
14
第二章 嵌入式系统设计方法
2.2.3 嵌入式系统的传统设计方法
2020/8/19
© 国防科技大学计算机学院601室
20
第二章 嵌入式系统设计方法
1、软硬件协同设计(续)
优点
➢ 软硬件统一描述 ➢ 有利于优化设计 ➢ 重点关注算法,而非实现
缺点
➢ 不成熟,缺乏有效的统一描述工具 ➢ 现有工具实现效率不高 ➢ 有待于高效率的综合工具
2020/8/19
© 国防科技大学计算机学院601室
第二章 嵌入式系统设计方法
主要内容
2.1 引言 2.2 设计方法学 2.3 嵌入式系统的形式化设计方法 2.4 嵌入式系统的设计过程 2.5 实例分析——GPS导航仪 小结
2020/8/19
© 国防科技大学计算机学院601室
1
第二章 嵌入式系统设计方法
本讲简要说明
目的与要求
➢ 掌握嵌入式系统的传统设计方法;熟悉嵌入式系统的 形式化设计方法;了解嵌入式系统的系统级设计法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《嵌入式原理和设计》实验讲义实验一嵌入式系统开发环境实验 (1)实验二cortex-M3常用汇编语言实验 (5)实验三硬件开发实验一(LCDDemo) (10)实验四硬件开发实验二(TIM1Demo) (11)实验五硬件开发实验三(ADCDemo) (12)实验六硬件开发实验四(USARTDemo) (14)实验一嵌入式系统开发环境实验一、实验目的或实验原理1.熟悉RealView MDK集成开发环境和IAR集成开发环境的使用方法。
2.熟悉嵌入式系统软件设计方法和流程。
二、实验内容1. 通过例程熟悉、掌握嵌入式系统的编辑、编译、调试、下载及运行过程。
2. 建立自己的工程文件,在调试万利电子EK-STM3210B评估板上调试程序。
三、实验主要仪器设备及材料PC机、RealView MDK集成开发环境、IAR集成开发环境、万利电子EK-STM3210B 评估板。
四、实验步骤1. 打开电脑桌面“嵌入式”文件夹,点击实验1,出现如下两个文件夹:STM32_LCD_DEMO_EW ARM、STM32_LCD_DEMO_RMDK分别为在IAR和MDK开发环境下的EK-STM3210B评估板LCD显示实验。
点击STM32_LCD_DEMO_RMDK文件夹,出现以下文件夹:其中Library文件夹包含以下两个文件夹,分别对应固件库头文件和固件库源文件,“固件库”的概念在后面授课环节中会讲授。
其中project文件夹包含如下文件信息。
其中lcd.c、lcd.h、main.c都是本例子专属的程序:main.c是主程序,lcd.c是液晶屏的驱动程序,lcd.h是液晶屏的头文件;stm32f10x_conf.h 是配置评估板主控CM3芯片STM32F103外围模块的头文件,stm32f10x_it.c是中断处理函数的源文件,stm32f10x_it.h是中断处理函数的原型。
点击RVMDK文件夹,出现如下文件信息:其中Project.Uv2是工程文件,采用MDK打开,注意打开选择程序如下图所示:cortexm3_macro.s是CM3的指令封皮(Instruction wrappers),stm32f10x_vector.s是处理器启动代码(很重要)。
打开工程,按照keil的使用方法使用MDK,运行程序,得到调试效果。
使用MDK的注意事项:⏹注意各文件的层级结构,建议遵循这样的文件结构。
⏹实验室MDK的版本为3.50版,如在自己电脑上安装,应按照“嵌入式\EW ARM&RMDK使用\ ST-LINKII设置指南.PDF”说明来设置。
⏹MDK的具体使用细节可以参考教材20章、“电子版资料\教材电子版\STM32系列微控制器原理与实践电子书\第05章STM32系列微控制器开发工具与应用.pdf”中相应的说明、或参考《基于MDK的STM32处理器开发应用》和《ARM开发工具RealView MDK使用入门》(作者均为武汉理工大学李宁)。
⏹个人使用经验,需特别注意下图中的Include Paths,为C程序的“Include”文件所在的路径,此设置很重要。
如工程按照实验的文件结构设置,不要随便修改。
3. 按上述使用MDK的步骤依次了解STM32_LCD_DEMO_EW ARM文件夹下的文件层次结构,\STM32_LCD_DEMO_EW ARM\project\EWARM下的LCDDemo.eww为IAR工程,双击可打开,运行程序,得到调试效果。
使用IAR的注意事项:⏹IAR的使用环境与MDK不同,需用较多时间熟练。
⏹IAR的设置较MDK多,且复杂,需要多练习,设置可参考“电子版资料\教材电子版\STM32系列微控制器原理与实践电子书\第05章STM32系列微控制器开发工具与应用.pdf”和“嵌入式\EWARM&RMDK使用\ IAR EWARM快速入门万利电子版.pdf”和“嵌入式\EW ARM&RMDK使用\IAR EW ARM快速用户指南.pdf”⏹IAR的具体使用细节可以参考《IAR EWARM V5嵌入式系统应用编程与开发》(作者徐爱钧)。
⏹个人使用经验,需特别注意下图中的Additional include directories,为C程序的“Include”文件所在的路径,此设置很重要。
如工程按照实验的文件结构设置,不要随便修改。
4. 根据2、3步骤,建立自己的工程项目,熟悉工程的建立、调试等步骤。
5. 学会使用Source Insight 3.5对复杂工程进行文本查找,编辑。
学会使用Beyond Compare 3对复杂工程进行文本的异同比对。
以上两个软件位于\嵌入式\相关软件。
实验二cortex-M3常用汇编语言实验一、实验目的或实验原理1.掌握RealView MDK集成开发环境和IAR集成开发环境的使用方法。
2.练习cortex-M3的常用汇编指令。
二、实验内容1.熟悉位带操作。
2.熟悉常用的cortex-M3汇编指令。
三、实验主要仪器设备及材料PC机、RealView MDK集成开发环境、IAR集成开发环境。
四、实验步骤1. 打开电脑桌面嵌入式\实验2\project\RVMDK\ Project.Uv2。
2. 在stm32f10x_vector.s文件中输入汇编代码,选择如下模式,进入调试环境,观察程序运行的效果。
3.需要调试运行的功能包括:特殊功能寄存器的访问包括xPSR、PRIMASK、FAULTMASK、BASEPRI、CONTROL寄存器的访问Ps:xPSR是状态寄存器,是读不出,写不进的。
⏹特权级的切换、双堆栈的切换从特权级切换到用户级、从MSP切换到PSP调试完成后,由指导教师记录操作分。
五、思考题为什么本实验的程序指针PC的值从以下的“0x08000008”开始运行,而不是如51单片机从“0x00”开始运行。
可参考嵌入式\电子版资料\stm32手册\ stm32f103cn.pdf的存储器P19的视图。
;******************** (C) COPYRIGHT 2007 STMicroelectronics********************;* File Name : stm32f10x_vector.s 改编的汇编验证程序;* Author : 朱敏杰;* Version : V1.0;* Date : 26/03/2010;* Description :Stack_Size EQU 0x00000400;注意,此处定义了Stack的大小AREA STACK, NOINIT, READWRITE, ALIGN=3;定义栈,可初始为0,8字节对齐Stack_Mem SPACE Stack_Size;分配0x200个连续字节,并初始化为0 注意在memory窗口观察__initial_sp;汇编代码地址标号PRESERVE8 ;指定当前文件堆栈8字节对齐THUMB ;告诉汇编器下面是32为的Thumb指令,;如果需要汇编器将插入位以保证对齐AREA RESET, DA TA, READONL Y;定义复位向量段,只读EXPORT __Vectors ;定义一个可以在其他文件中使用的全局标号。
此处表示中断地址__VectorsDCD __initial_sp ;给__initial_sp分配4字节32位的地址DCD Reset_Handler ;给标号Reset Handler分配地址为08000008;在这里要问问为什么AREA |.text|, CODE, READONL Y ;代码段定义Reset_HandlerEXPORT Reset_Handler;CONTROL[0]=1;此处可开始写入自己的汇编代码;MOV R0,#1234;MOV R0,R1LDR R4,=0X22000008MOV R6,#1LDR R5,=0X22000004MOV R1,#1STR R1,[R4]STR R6,[R5]mov r1,#0LDR R7,=0X22000008LDR R1,[R7]END;此处结束自己的汇编代码;请注意,此时为特权级线程模式,使用MSP ;特殊功能寄存器的读写MOV R0,#0X00000001MSR PRIMASK,R0MOV R1,#0XFFFFFFFFADDS R0,R1;MSR XPSR,R0MOV R3,#0X00000004MOV R3,#0X00000000MSR XPSR,R3;以上为自己调试的源代码MOV R0,#55MOV R1,#44CMP R0,R1CMP R0,#0X12CMN R0,R1CMN R0,#0X12TST R0,R1TST R0,#0X12TEQ R0,R1TEQ R0,#0X12LABAL B LABALEND实验三硬件开发实验一(LCDDemo)一、实验目的或实验原理1.熟悉在IAR集成开发环境下对STM32的GPIO端口的控制。
2.理解在IAR集成开发环境下的LCD显示。
二、实验内容1.练习对GPIO端口的配置及初始化。
2.练习驱动LCD显示。
三、实验主要仪器设备及材料PC机、RealView MDK集成开发环境、IAR集成开发环境、万利电子EK-STM3210B评估版。
四、实验步骤1. 对照嵌入式\电子版资料\stm32手册\stm32f103cn.pdf文档查阅万利电子EK-STM3210B评估版主控芯片STM32F103的引脚表。
4. 分析main.C文件中的void Button_Config(void)、void Led_Config(void)、void Led_RW_ON(void)、void Led_RW_OFF(void)等程序,理解STM32下对GPIO端口的配置及初始化。
5. 分析stm32f10x_it.c代码中的中断服务程序。
特别是void EXTI3_IRQHandler(void)、void EXTI4_IRQHandler(void)、void TIM2_IRQHandler(void)。
在中断服务程序中设置断点,进行调试。
实验四硬件开发实验二(TIM1Demo)一、实验目的或实验原理1.熟练在IAR集成开发环境下对STM32的GPIO端口的控制。
2. 掌握在IAR集成开发环境下对STM32的定时器控制。
二、实验内容1.练习配置和初始化定时器。
2.使用定时器产生两路不同占空比的PWM信号。
三、实验主要仪器设备及材料PC机、双踪示波器、RealView MDK集成开发环境、IAR集成开发环境、万利电子EK-STM3210B评估版。
四、实验步骤1. 对照嵌入式\电子版资料\stm32手册\stm32f103cn.pdf文档查阅万利电子EK-STM3210B评估版主控芯片STM32F103的引脚表。