STM32开发环境PPT
STM32开发环境 ppt课件
PPT课件
1
目录
• Keil MDK介绍 • ULINK USB-JTAG接口适配器 • 工程管理 • 配置工程
PPT课件
2
1.Keil MDK介绍
• Keil是德国知名软件公司Keil(现已并入ARM 公司)开发的微控制器软件开 发平台,是目前ARM内核单片机开发的主流工具。Keil提供了包括C编译器、 宏汇编、连接器、库管理和一个功能强大的仿真调试器在内的完整开发方案, 通过一个集成开发环境(uVision)将这些功能组合在一起。它的界面和常用 的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面 也有很强大的功能。因此很多开发ARM应用的工程师,都对它十分喜欢。
的ULINK适配器。
• ULINK Version,Device Family以及Firmware Version分别列出了当前选择的ULINK适配器的 版本,设备家族和固件版本。
• SWJ,Port:根据和开发板接口的类型选择端口,有JTAG和SW两种,勾选SWJ表示支持两种方 式。
• Max Clock:指定和开发板的最高通信时钟。 • JTAG Device Chain:显示当前通过适配器连接上的开发板。 • Automatic Detection:自动监测,选择系统将自动检测连接上的开发板,建议使用。 • Manual Configuration:手动配置,通过手动设置ID CODE,Device Name和IR len等属性来
PPT课件
3
开发周期
• 使用Keil来开发嵌入式软件,开发周期和其他的平台软件开发周期是差不多 的,大致有以下几个步骤:
• 1. 创建一个工程,选择一块目标芯片,并且做一些必要的工程配置。 • 2. 编写C或者汇编源文件。 • 3. 编译应用程序。 • 4. 修改源程序中的错误。 • 5. 联机调试。
基于STM32的嵌入式系统原理与设计第一章ppt课件
3
1.1 STM32性能和结构 1.1.1总体性能
以高密度的STM32F103VET6为例,能适合一般项目的 需要,价格在30元以下,避免由于FLASH和RAM太小 造成的瓶颈。 VET6的含义为:
P33图1-18.
35
1.SysTic定时器的位置和功能 2. SysTic定时器的4个寄存器 表1-12 表1-15 3. SysTic定时器编程(寄存器级别)。
P36代码1-10. 4. SysTic定时器编程(库函数级别)。
P36代码1-11. 库函数实现原理 P36代码1-12
36
STM32的常规定时器分为三类,包括 1.高级控制定时器TIM1和TIM8 2.通用定时器TIM2、TIM3、TIM4、TIM5 3.基本定时器TIM6、TIM7 三种定时器功能 P39表1-16
55
亮点嵌入式
56
+ 选择NOR这个块连接TFT控制器,采用8080接口(接 口详细信息见液晶驱动板设计部分)。8080接口需 16跟数据线,可以用FSMC_D[15..0]做数据线。
+ 写信号是FSMC_NWE,读信号是FSMC_NOE。 + 地址信号的设置 + 液晶控制器RS信号的设置
54
+ P48 1,3,5,7,8
V的含义为100pins,即100个管脚。 E表示512KB的FLASH。 T表示LQFP封装。 6 表示-40到85度的温度范围。
4
1.1 STM32性能和结构 1.1.2 系统结构分析
5
ห้องสมุดไป่ตู้
STM32概述PPT课件
APB1域的最大允许频率是36MHZ。
3)当HSI被用于作为PLL时钟的输入时,系统时 钟的最大频率不得超过64MKZ 。
4)定时器时钟频率是其所在APB总线频率的2倍。 然而,如果相应的APB预分频系数为1时,定 时器的时钟频率与所在的APB时钟频率一致。
36 MHz。两个系列的产品拥有相同的片内闪存选项,在
软件和引脚封装方面兼容。均可以用于显示、声音、存
储和高级控制;兼有低功耗和多种省电工作模式,能够
优化工业设备、物业控制设备、医疗设备和计算机外设
等产品的性能。
2021
4
2021
5
Hale Waihona Puke 202162、系统构架
主系统由以下部分构成:
● 四个驱动单元:
高速外部时钟信号(HSE)有以下两种方式 产生:
★ HSE外部晶体/陶瓷谐振器(HSE晶振) ★HSE用户外部时钟(HSE旁路)
2021
10
外部时钟可通过设置时钟控制寄存器中的HSEBYP和 HSEON来设置这一模式,它的频率最高可达25MHZ。外部时钟 信号必须连到OSC_IN管脚,同时OSC_OUT管脚悬空。
2021
15
三、STM32中断系统
STM32目前支持的中断共为84个(16个内 核+68个外部),和16个可编程的优先中断级 的设置。对于外部的68个中断通道,已经固定 的分配各相应的外设,每个中断通道都有自己
的中断优先级8位控制字节,其中高4位有效。 而对于这4位的中断优先级控制位又分成2组: 从高位开始,前面是定义抢先式优先级的位
于开发的优势,再加上丰富的外设和有竞争力的价格,
得到了市场上高度的认可,使得它成为我们的第一选择。
stm32PPt
ADC系统功能特性
– – – – – – – – – – – ADC开关控制 ADC时钟 ADC通道选择 ADC的转换模式 ADC的扫描模式 ADC的注入通道管理 间断模式 ADC的校准模式 可编程的通道采样时间 外部触发转换 DMA请求
中断
模拟看门狗
ADC的数据对齐
• ADC_CR2寄存器的ADC的数据对齐 ALIGN位选择转换后数据储存的对齐 方式。
• • •
//位复位寄存器 //锁定寄存器
通用I/O接口的编程方法
– 库函数:
• • • • • • • • • • • • • • • • • GPIO_DeInit函数 GPIO_AFIODeInit函数 GPIO_Init函数 GPIO_StructInit函数 GPIO_ReadInputDataBit函数 GPIO_ReadInputData函数 GPIO_ReadOutputDataBit函数 GPIO_ReadOutputData函数 GPIO_SetBits函数 GPIO_ResetBits函数 GPIO_WriteBit函数 GPIO_Write函数 GPIO_PinLockConfig函数 GPIO_EventOutputConfig函数 GPIO_EventOutputCmd函数 GPIO_PinRemapConfig函数 GPIO_EXTILineConfig函数
stm32嵌入式开发
第一讲:嵌入式系统开发概述
课程安排
– 何为嵌入式系统 – 嵌入式系统的特点及发展趋势 – 嵌入式系统的开发过程 – 如何成为嵌入式开发人员
何为嵌入式系统
– 嵌入式系统,英文全称为Embeded System。 – IEEE 的定义:嵌入式系统是“控制、监视或 者辅助装置、机器和设备运行的装置”。 – 业界普遍采用的定义:嵌入式系统是以应用 为中心、以计算机技术为基础、软件硬件可 裁剪、适应应用系统对功能、可靠性、成本、 体积、功耗等严格要求的专用计算机系统。
嵌入式系统开发基础教程——基于STM32F103系列课件第2章STM32开发工具基础
程序修改
完成实验
结果分析
运行仿真
目录/Contents
2.1 嵌入式系统开发概述 2.2 STM32开发工具 2.3 应用案例-STM32模板工程
第2章 STM32开发基础 13
目录/Contents
2.2 STM32开发工具
一、Proteus应用入门 二、Keil MDK入门
第2章 STM32开发基础 14
创建STM32模板工程——添加头文件
第2章 STM32开发基础 45
第2章 STM32开发基础 43
• 选中Group然后点击右边栏下放的“Add Files”按钮,将模板工程目录下“CORE”文件 夹中的“core_cm3.c”和“startup_stm32f10x_hd.s”两个文件添加到组“CORE”中,
创建STM32模板工程——设置编译目标文件
第2章 STM32开发基础 44
CMSIS框架图
第2章 STM32开发基础 5
CMSIS的目的是让不同厂家的Cortex M的MCU至少在内核层次上能 够做到一定的一致性,提高软件移植的效率。
STM32F10x标准外设库
第2章 STM32开发基础 6
实质上是一个固件函数包,它由程序、数据结构和宏组成,包含了所有标准外设的设备驱 动,适用于多种STM32系列的微处理器。
产品 需求
第2章 STM32开发基础 8
产品 规格说 明
总体 设计方 案
软件 概要设 计
概要 设计
硬件 概要设 计
第五 阶段
软件 详细设 计
详细 设计
硬件 详细设 计
第六 阶段 第七 阶段 第八 阶段 第九 阶段
软件 调试
产品 调试
STM32开发(一):简介及开发环境
STM32开发(⼀):简介及开发环境1. 背景STM32是意法(ST)公司开发的基于ARM Cortex-M系列的⼀系列微控制器(MCU)。
有两种库标准外设库(StdPeriph_Driver、Standard Peripheral library):是开发STM32⽐较经典的库,直接反应底层(寄存器)的代码,适合初学者,或需要深⼊理解的⼈。
HAL库(STM32Cube HAL):是由ST公司推出的⼀个较标准库更⾼层次抽象的库,多⽤于STM32CubeMX⽣成的代码,有点类似⾯向对象的库,⾥⾯封装了很多东西,对于想理解深⼊或底层的⼈,不适合⽤这个库。
固件驱动等,,STM32CubeMX或者Keil会⽤到。
包括Low level drivers, hardware abstraction layers, and middleware like RTOS, USB stacks, graphic stacks下下来解压后,包括_htmresc、Utilities、Project、Libraries⽬录和⼀些⽂件,KEIL的⼯程⽬录通常和这些类似。
软件开发⼯具2. 开发环境及⼯具IDEIARKEIL也就是uVision,是Keil公司出品的,属于所谓的MDK - Microcontroller Development Kit。
不仅⽀持STM32等ARM Cortext-M系列MCU单⽚机的开发,还⽀持51等其他单⽚机,但要选择不同的版本下载,STM32对应MDK-ARM。
分为MDK-Lite、MDK-Essential、MDK-Plus、MDK-Professional等级别,不使⽤秘钥⽣成器破解的话,直接下载的是第⼀个Lite版本,代码⼤⼩限制只有32K。
使⽤官⽹下载安装包(ARM版)时需要注册安装完成后,如果要开发的芯⽚MDK不⽀持,那么需要通过弹出的Pack Installer去安装相应的包(也可以去下载),也可以先忽略关掉(后⾯可以再到Project->Options for Target xxx->Debug下⾯配置,或者File->DeviceDatabase),如果没有安装,会报错:device not included in legacy device database。
STM32单片机开发环境安装与工程搭建
STM32单片机开发环境安装与工程搭建一、认知(STM32)1、STM32概念STM32: (意法半导体)基于(ARM)公司的Cortex-M内核开发的32位的高性能、低功耗(单片机)。
ST:意法半导体M:基于ARM公司的Cortex-M内核的高性能、低功耗单片机32:32位单片机2、STM32开发的(产品)STM32开发的产品:(无人机)、扫地(机器人)、3D打印机、平衡机、(智能)手环等3、学习STM32对应的(招聘)职位招聘职位:(单片机开发)(工程师)、单片机软件工程师、STM32开发工程师、(嵌入式开发)工程师、(嵌入式软件)工程师。
二、ARM与STM32(嵌入式系统)以应用为中心,以计算机技术为基础,软(硬件)可裁减,以适应应用系统对功能、可靠性、成本、体积和功耗等有严格要求的专用计算机系统。
(笔试)(嵌入式)系统的特性硬件特性体积小、集成效率高。
面向特定的应用。
功耗低、(电磁兼容)性好。
软件特性嵌入式软件的开发与硬件紧密相关。
软件代码要求高效率和高可靠性。
软件一般固化在Flash或(Rom)中。
软件系统具有高实时性。
一般采用(C语言)开发。
1、ARM与STM32ARM--(Ad)vanced (RISC)MachineARM是英国一家电子公司的名字ARM敢为天下先,首创了chipless的生产模式,即该公司既不生产(芯片),也不设计芯片,而是设计出高效的IP(知识产权)内核,授权给(半导体)公司使用。
ARM提供一系列内核、体系扩展、(微处理器)和系统芯片方案ARM是一种通用的32位RISC(处理器)ARM是一种功耗很低的高性能处理器ARM芯片四大内核:Cortex-X1、Cortex-A、Cortex-R、Cortex-MARM Cortex™-A 系列为应用型处理器ARM在Cortex-A系列处理器大体上可以排序为:Cortex-A78处理器Cortex-A77处理器、Cortex-A76处理器、Cortex-A57处理器、Cortex-A53处理器、Cortex-A15处理器、Cortex-A9处理器、Cortex-A8处理器、Cortex-A7处理器、Cortex-A5处理器、ARM11处理器、ARM9处理器、ARM7处理器产品:(手机)、平板、电视、(智能音箱)等ARM Cortex-R为实时处理器要求可靠性、高可用性、容错功能、可维护性和实时响应的嵌入式系统提供高性能计算解决方案。
嵌入式系统设计(STM32)第2讲资料课件
10. 名为PPP_ClearFlag的函数,其功能为清除外设PPP标志位, 例如:I2C_ClearFlag.
11. 名为PPP_GetITStatus的函数,其功能为判断来自外设PPP的 中断发生与否,例如:I2C_GetITStatus.
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC , ENABLE); n //RCC_APB2Periph_GPIOA GPIOA时钟 n //RCC_APB2Periph_GPIOB GPIOB时钟 n //RCC_APB2Periph_GPIOC GPIOC时钟 n //RCC_APB2Periph_GPIOD GPIOD时钟 n}
33
n /*设置低速AHB时钟(PCLK1)*/
n RCC_PCLK1Config(RCC_HCLK_Div2);
n
//RCC_HCLK_Div2——APB1时钟 = HCLK / 2
n
/*设置FLASH存储器延时时钟周期数*/
n FLASH_SetLatency(FLASH_Latency_2);
67
68
2.4 工程模板的建立
2.4.1 ARM Cortex-M3处理器编程环境 需要准备的资料: n 1. STM32F10x_StdPeriph_Lib_V3.5.0 (这是
n // PLL的输入时钟 = HSE时钟频率RCC_PLLMul_9,PLL输入时钟x9
n /*使能PLL */
STM32第四讲
4.1系统开发平台简介
4.2 系统主程序设计 4.3 系统初始化设计 4.4 控制算法设计
4.1 系统开发平台简介
MPLAB IDE是基于Windows操作系统的集成开发环境, 适 用 于 PIC 系 列 单 片 机 和 DSPICTM 数 字 信 号 控 制 器 。 MPLAB IDE开发环境具有以下主要功能: (1).使用内置编辑器创建和编辑源代码; (2).汇编、编译和链接源代码; (3).通过使用内置模拟器观察程序流程调试可执行逻辑; (4).通过MPLAB ICE 4000 仿真器或MPLAB ICD 2在线调 试器实时调试可执行逻辑。可通过模拟器或仿真器测量时 间,并在在观察窗口中查看变量。
TMR1初始化
void InitTMR1(void) { T1CON = 0x0030; // internal Tcy/256 clock TMR1 = 0; PR1 = 235; // 3 ms interrupts for 20 MIPS T1CONbits.TON = 1; // turn on timer 1 return; }
4.2 系统主程序设计 1. 系统状态说明:
软件程序的结构直接决定了系统的整体性能。一个合理的 软件程序结构对于系统的稳定性,可靠性,安全性来说是 极为重要的。对于无刷直流电动机控制系统来说,其工作 状态较多,各个工作状态间的逻辑关系较为复杂,因此, 在设计系统软件之前必须认真分析所有工作状态间的逻辑 关系。
考虑到双曲正弦函数sech的特殊性,采用4阶泰勒公式展 开法,完成双曲正弦函数sech的近似处理。由泰勒公式 可知:
x2 xn e 1 x ... 2! n!
x
e
STM32__讲义
13
2021/4/1
6.NVIC嵌入式中断控制器
进入中断方式
入栈: 把8个寄存器的值压入栈。 取向量:从向量表中找出对应的服务程序入口地址。
选择堆栈指针MSP/PSP,更新堆栈指针SP,更新连接寄存器LR,更新 程序计数器PC。
高效的低延迟异常处理
NVIC 的寄存器以存储器映射的方式来访问
使能与除能寄存器
27页表 STM32各型号资源《STM32_选型指南》
16
2021/4/1
2.STM32系统架构
17
2021/4/1
3.STM32F103VB资源
18
2021/4/1
4.STM32的启动配置 1.时钟选择与FLASH的等待周期
2.外部管脚配置
19
2021/4/1
5.STM32的时钟
三种不同的时钟源可被用来驱动系统时钟 (SYSCLK):
2007年6月ST宣布了她的第一款基于Cortex-M3并内嵌32K~128K闪存 的STM32微控制器系列产品。
Cortex-M3系列微处理器的主要特点如下: • Thumb-2 指令集架构(ISA)的子集。 • 哈佛处理器架构,在加载/存储数据的同时能够执行指令取指。 • 三级流水线。 • 32 位单周期乘法。 • 具备硬件除法。 • Thumb 状态和调试状态。 • 处理模式和线程模式。 • ISR 的低延迟进入和退出。 • 可中断-可继续的LDM/STM,PUSH/POP。 • ARMv6类型BE8/LE支持。 • ARMv6 非对齐访问。 • 分支预测功能
J-LINK
1.驱动安装 2.J-LINK下载HEX文件 3.MDK中下载
ISP
1.启动配置 2.ISP安装与使用 3.还原启动程序运行
STM32单片机原理及应用PPT幻灯片课件
设计模式
基础型:做好需要专业的软硬件知识 智能型:在搭建的程序框架下设计 高级型:在操作系统管理下,专注应用。 介绍特色、扩展内容,比较学习。需要大家
课下认真消化资料,掌握基础内容。 STM32F10x参考手册_cn.pdf
11
二、硬件—特色接口
I/O
低功耗模式、定时器/计数器、输入捕获
7
实际工程应用的一般步骤
了解--- 背景:工艺流程,技术发展情况论述. 掌握---原理论述、同类方案比较。 设计--- 方案:系统框图,功能描述. 实现---软件流程、功能实现。
8
实际工程应用的一般步骤
9
一、STM32微控制器系列_cn.pdf
STM32的主要优点 ■ 使用ARM最新的、先进架构的Cortex-M3内核 ■ 优异的实时性能 ■ 杰出的功耗控制 ■ 出众及创新的外设 ■ 最大程度的集成整合 ■ 易于开发,可使产品 ■ 快速进入市场
IMUST B&E LAB5 ©
第一部分
STM32单片机原理及应用
6
需要掌握
掌握单片机的一般设计方法。 目前典型接口电路原理及应用。 开发环境Keil 及编程工具的使用。 能够设计建立基于单片机的系统。 设计完成一个基于STM32单片机的应用系统。
完成:系统描述,软硬件设计,调试结果并写出 报告。
引导程序,自展程序 (=bootstrap))
12
13
14
15
通用输入输出(General
) Purpose Input/Output
16
17
通用同步异步收发机 (Universal Synchronous Asynchronous Receiver Transmitter)
STM32讲义
1.1 嵌入式系统概述-嵌入式系统定义
根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装 置、机器和设备运行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系统是软件 和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为 中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、 功耗严格要求的专用计算机系统。这个定义可从几方面来理解嵌入式系统:
开放性和标准性。
可靠性和稳定性。
安全性和保密性。
可扩展性和易维护性。
2.3 基于单片机的嵌入式系统设计-设计开发时的注意事项
一、合适并可扩展的平台选择 二、从参考设计开始 三、不要忽视板级支持包(BSP)或示例代 码 四、对电源管理予以充分考虑 五、考虑未来的升级需要
2.3 基于单片机的嵌入式系统设计-嵌入式系统设计方法(从单片机到单片系统的)
施工。
3、从实际情况出发,以需求为依据,总体规划,确
保系统的高度集成、总体优化、安全可靠。
4、系统充分考虑功能扩容性和技术升级性,适应当 代信息技术高速发展的要求,以求得最佳效果。
2.3 基于单片机的嵌入式系统设计-基于单片机的嵌入式系统设计基本原则与依据
可行性和适应性。
实用性和经济性。
先进性和成熟性。
2.2 基于单片机的嵌入式系统开发-嵌入式系统的特点
• 嵌入式系统通常是面向特定应用的。 • 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗
课件:实验步骤 搭建stm32开发环境
用本实验文件夹中的以下文件替换以上步骤中的文件, 得到一个控制led灯闪烁的工程实例: main.c stm32f4xx_it.c stm32f4xx_it.h system_stm32f4xx.c
至此,对工程进行编译应该可以通过了!
1. 创建源文件 File->New
2. 输入名字如led.c 3.输入编写代码
13
搭建工程环境框架5
按同样的办法,添加CORE和USER的文件。 CORE 下面需要添加的文件为 startup_stm32f40_41xxx.s( 注意,默认添加的时 候文件类型为.c, 也就是添加 startup_stm32f40_41xxx.s 启动文件的时候,你需 要选择文件类型为 All files件 才能看得到这个文件),USER 目录下面需要添加的 文件为 main.c,stm32f4xx_it.c,system_stm32f4xx.c。
12
搭建工程环境框架5
接上一步,添加需要的文件选择 FWLIB,然后点击右边的 Add Files,定位到我们刚才建立的目录\FWLIB\src 下面,将里面所有 的文件选中(Ctrl+A),然后点击 Add,然后 Close.可以看到 Files 列表下面包含我们添加的文件。
有个文件 stm32f4xx_fmc.c 比 较特殊。这个文件STM32F42 和 STM32F43 系列才用到,所 以我们这里要把它删掉(是 注 意是 stm32f4xx_fmc.c 要删 掉,不要删掉 stm32f4xx_fsmc.c) 。
9
搭建工程环境框架4
1. 接下来我们要复制工程模板需要的一些其他头文件和源文件到我们工程。 首先定位 到目录: STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Inclu de 将里面 的 2 个头文件 stm32f4xx.h 和 system_stm32f4xx.h 复制到 USER 目录之下。2. 然后 进入目录 \STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates , 将 目 录 下 面 的 5 个 文 件 main.c , stm32f4xx_conf.h , stm32f4xx_it.c , stm32f4xx_it.h , system_stm32f4xx.c 复制到 USER 目录下面。
嵌入式系统设计STM32第2讲(98页)
目录
■ 2. 1 STM32程序设计
■ 2. 1. 1 嵌入式C语言知识精编 ■ 2. 1.2 嵌入式软件层次结构 ■ 2. 1.3 FWlib( firmware library) 固件库
■ 2 .2 STM32最小系统
■ 2.2. 1 电源 ■ 2.2.2 复位电路 ■ 2.2.3 时钟 ■ 2.2.4 下载电路
第2讲 STM32最小系统
•嵌入式系统设计STM32第2讲
下周一下午实验 , 带上笔记本电脑
■ 熟悉软件开发环境 ■ 笔记本需要安装的软件有:
■ MDK4.70a ■ STM32固件库V3 .5 ■ JLINK驱 动 ■ PL2303驱动(USB转串口驱动) ■ mcu isp .exe(STM ISP下载器) ■ 串口调试助手 ■ 固件库使用手册 ■ STM32中文参考手册_V10
份区域复位 。
•嵌入式系统设计STM32第2讲
2.2.3 时钟树
■ P83 图4-3
➢ 系统时钟(SYSCLK) 的产生
■ 来源有3个: HSI , PLLCLK , HSE
■ 由SW(时钟配置寄存器RCC_BDCR的D0位和D1位) 控制选择 。 ■ SW [1 :0]= 00 , HSI , 内部
4. 名为PPP_Cmd的函数 , 其功能为使能或者失能外设PPP , 例如: SPI_Cmd .
4. 名为PPP_ ITConfig的函数 , 其功能为使能或者失能来自外设PPP某 中断源 , 例如: RCC_ ITConfig .
•嵌入式系统设计STM32第2讲
8. 名为PPP_DMAConfig的函数 , 其功能为使能或者失能外设PPP 的DMA接口 , 例如: TIM1_DMAConfig . 用以配置外设功能的 函数 , 总是以字符串 “Config ”结尾 , 例如 GPIO_PinRemapConfig .
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/3/15
8
• 可以根据你使用的处理器来选择,如果您所使用的处理器型号在列表中找不 到,也可以找一款与您使用的相兼容的型号来代替。这里我们选择 STM32407ZG,如图所示,右边一栏是对这个芯片的基本的说明,然后点击 “OK”。
• 有些芯片会提供启动代码,我们这个 时候点击“Yes”,到此一个工程
• 这个对话框很复杂,而且与所选择的芯片有关,这里共有10个页面,绝大多数选 择默认配置即可,下面将对一些需要注意的配置简单介绍一下。
2020/3/15
10
Output标签页的设置
2020/3/15
11
• Select Folder for Objects:选择编译之后的目标文件存储在哪个目录里,默认位置为工程 文件的目录里。
2020/3/15
6
2.ULINK USB-JTAG接口适配器
• ULINK USB-JTAG是一个用于连接PC USB口和开发板JTAG口的小硬件适配器。 通过ULINK你可以在真实的目标板上创建,下载和测试嵌入式应用。ULINK支 持如下操作:
•
下载目标程序。
•
检查内存和寄存器。
•
单步运行程序。
STM32开发环境
1
目录
• Keil MDK介绍 • ULINK USB-JTAG接口适配器 • 工程管理 • 配置工程
2020/3/15
2
1.Keil MDK介绍
• Keil是德国知名软件公司Keil(现已并入ARM 公司)开发的微控制器软件开 发平台,是目前ARM内核单片机开发的主流工具。Keil提供了包括C编译器、 宏汇编、连接器、库管理和一个功能强大的仿真调试器在内的完整开发方案, 通过一个集成开发环境(uVision)将这些功能组合在一起。它的界面和常用 的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面 也有很强大的功能。因此很多开发ARM应用的工程师,都对它十分喜欢。
2020/3/15
3
开发周期
• 使用Keil来开发嵌入式软件,开发周期和其他的平台软件开发周期是差不多 的,大致有以下几个步骤:
• 1. 创建一个工程,选择一块目标芯片,并且做一些必要的工程配置。 • 2. 编写C或者汇编源文件。 • 3. 编译应用程序。 • 4. 修改源程序中的错误。 • 5. 联机调试。
就建立好了。
2020/3/15
9
4.配置工程
• 工程建立好了之后,还要对工程进行进一步的设置,以满足要求。 • 首先用鼠标右键(注意用右键)点击左边工程窗口的“Target 1”,会出现一个菜
单,选择“Options for Target 'Target 1'”(也可以通过点击工程窗口的 Target 1”,然后使用菜单“Project”->“Options for Target 'Target 1'”),即出现工程配置的对话框,如下图所示:
• Name of Executable:生成的目标文件的名字,缺省是工程的名字。
• Create Executable:生成OMF以及HEX文件。OMF文件名同工程文件名但没有带扩展名。
• Debug Information:用于Debug版本,生成调试信息,否则的话无法进行单步调试。
• Create Batch File:生成用于实现整个编译过程的批处理文件,使用这个文件可以脱离IDE 对省程序进行编译。
•
插入多个断点。
•
实时运行程序
•
烧写FLASH存储器
2020/3/15
7
3.工程管理
• 新建工程 点击菜单“Project”,选择“New uVision Project”,这是将会出现一个对话 框,要求给将要建立的工程起一个名字。 选择你要保存的路径,输入工程文件的名字,这里我们就叫HelloWorld, uVision3工程文件的后缀为“.uv2”,然后点击“Save”。 这时会弹出一个对话 框要求你选择目标设备的型号。
• Create Library:生成lib库文件,默认不选。
• 在我们刚刚新建的HelloWorld工程中,更改了三个地方,在工程目录下新建了一个Output目
2020/3录/15保存目标文件,以避免和源文件混在一起。另外选中了Create Hex File和Browse
12
Information。
Debug标签页的设置
左边是对应uVision3的模拟 环境,右边是针对仿真器。
2020/3/15
13
• 如果已经将ULINK仿真器连接到你的电脑,点击“Settings”你将进入ARM Target Driver Setup 界面。
2020/3/15
14
• ULINK - JTAG/SWD Adapter: • Serial No:列出了当前连接到主机的所有ULINK适配器的串号,你可以通过列表选择要使用
的ULINK适配器。
• ULINK Version,Device Family以及Firmware Version分别列出了当前选择的ULINK适配器的 版本,设备家族和固件版本。
• SWJ,Port:根据和开发板接口的类型选择端口,有JTAG和SW两种,勾选SWJ表示支持两种方 式。
• Max Clock:指定和开发板的最高通信时钟。 • JTAG Device Chain:显示当前通过适配器连接上的开发板。 • Automatic Detection:自动监测,选择系统将自动检测连接上的开发板,建议使用。 • Manual Configuration:手动配置,通过手动设置ID CODE,Device Name和IR len等属性来
• Create Hex File:这个选项默认情况下未被选中,如果要写片做硬件实验就必须选中该项。 这一点是初学者易疏忽的,在此特别提醒注意一定要要选中,否则编译之不生成Hex文件。
• Big Endian:编码格式,与CPU相关,如果CPU采用的是Big Endian编码则勾选上。
• Browse Information:产生用于在源文件快速定位的信息。
0/3/15
4
2020/3/15
5
• 工程区:用于访问文件组和文件,调试是可以查看CPU寄存器。 • 输出窗口:显示编译结果,以便快速查找错误的地方,同时还是调试命令输
入输出窗口,也可以用于显示查找结果。
• 内存窗口:显示指定地址内存里的内容。 • 查看和调用栈窗口:用于查看和修改变量的值,并且现实当前函数调用。 • 代码窗口:用于查看和编辑源文件。 • 外设对话框:检查微控制片上外设的状态。