STM32应用中的常见问题.pdf

上传人:李医生 文档编号:5670906 上传时间:2020-07-21 格式:PDF 页数:76 大小:1.79MB
返回 下载 相关 举报
STM32应用中的常见问题.pdf_第1页
第1页 / 共76页
STM32应用中的常见问题.pdf_第2页
第2页 / 共76页
STM32应用中的常见问题.pdf_第3页
第3页 / 共76页
STM32应用中的常见问题.pdf_第4页
第4页 / 共76页
STM32应用中的常见问题.pdf_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《STM32应用中的常见问题.pdf》由会员分享,可在线阅读,更多相关《STM32应用中的常见问题.pdf(76页珍藏版)》请在三一文库上搜索。

1、STM32应用中的常见问题应用中的常见问题 2011年年STM32全国巡回研讨会全国巡回研讨会 10月17日 深圳 济南 10月19日 北京 福州 10月21日 沈阳 广州 10月24日 成都 杭州 10月26日 西安 上海 10月28日 南京 武汉 STM32 FSMC使用要点简介使用要点简介 FSMC特性特性 存在于STM32F1大容量、STM32F2和F4系列的产品上 可用来连接静态存储设备,如SRAM、ROM、 NORFLASH、 PSRAM 可用来连接NAND Flash,支持硬件ECC并可检测多达8K 字节数据 支持16位的PC卡 用来连接Intel 8080或Motorola 6

2、800接口的LCD屏 最高频率为系统总线频率的一半 每个存储器块均有独立的片选,并可独立配置 时序可编程,以支持不同的器件 3 FSMC的常见问题:数据与地址线的常见问题:数据与地址线(1) STM32的FSMC支持数据与地址线复用或非复用两种模式 非复用模式:16位数据线及26位地址线分开始用。推荐在 144脚及以上的STM32产品上使用该模式。 复用模式:低16位数据/地址线复用。在该模式下,推荐使 用地址锁存器以区分数据与地址 若不使用锁存器:当NADV为低时,ADx(x=015)上出 现地址信号Ax,当NADV变高时,ADx上出现数据信号 Dx。 若使用锁存器:可同时在ADx上得到Ax

3、和Dx。 FSMC中未使用的数据线或地址线可配置为GPIO 对于16位宽度的外部存储器,FSMC将在内部使用 HADDR25:1产生外部存储器的地址FSMC_A24:0。因 此,实际的访问地址为右移一位之后的地址。 4 FSMC的常见问题:数据与地址线的常见问题:数据与地址线(2) 例:使用STM32Fxxx 100pins的复用模式连接8位SRAM。该 应用中: 8位数据 A/D7:0 20位地址 A/D7:0 +A/D15:8+ A19:16 显然A/D7:0需要经过锁存;那么A/D15:8是否可以不经过 latch而只包含地址信息? 地址阶段(nADV低电平)时A/D8:15有中8位的地

4、址信息 数据阶段(nADV高电平)时A/D8:15保持高电平 因此:仍需要16位宽度的锁存,因为中8位地址在数据阶段不保持 nADV A/D7:0 A/D15:8 A23:16 低8位Addr 8位Data 中8位Addr 0 xFF 尽管8位数据宽度,地 址锁存器宽度仍需16位 nOE/nWE 高8位Addr 5 FSMC的常见问题:的常见问题:TFT LCD屏的连接屏的连接 FSMC可用于连接MCU模式的LCD 屏:包括Intel 8080和Motorola 6800两种接口。一般这种模式下 的LCD Driver都带一个GRAM,数 据可以先存到IC内部GRAM后再往 屏上写,所以这种模

5、式LCD可以直 接接在MEMORY的总线上。 FSMC也可用于连接RGB模式的 LCD:该模式需要DOTCLK, HSYNC和VSYNC三根时钟线来保 证RGB数据按照正确的时序由 CPU向LCD传输。还需要SPI接口 发送控制命令,初始化LCD的控制 器。 6 FSMC的常见问题的常见问题:时序配置时序配置(1) 对FSMC上的每个外部设备均可独立配置时序 调试初期,可尽量使用较慢的时序,以避免出错 为优化对外部设备的访问速度,可使用下列公式进行时序配置(以NOR Flash为例): (ADDSET + 1) + (DATAST + 1) HCLK = max (tWC, tRC) DATA

6、ST HCLK = tWP DATAST应满足: DATAST = (tAVQV + tsu(Data_NE) +tv(A_NE)/HCLK ADDSET 4 p.FSMC_AddressSetupTime = 15; p.FSMC_AddressHoldTime = 15; p.FSMC_DataSetupTime = 15; p.FSMC_BusTurnAroundDuration = 15; p.FSMC_CLKDivision = 8; p.FSMC_DataLatency = 15; p.FSMC_AddressSetupTime = 15; p.FSMC_AddressHoldTi

7、me = 15; p.FSMC_DataSetupTime = 15; p.FSMC_BusTurnAroundDuration = 15; p.FSMC_CLKDivision = 8; p.FSMC_DataLatency = 15; 7 FSMC的常见问题的常见问题:时序配置时序配置(2) 8 STM32多重外设协同工作一例多重外设协同工作一例 电机控制电机控制 ADC/DMA/TIMER 电机控制电机控制 需求需求 3相带互补输出PWM信号 PWM信号周期固定,占空比每相单独 可调 PWM信号 电流采样间隔不固定 采样点需要避开功率管的开关位置 信号采集 实时性强,中断响应时间要短 需

8、要多级抢占式中断以满足灵活的多任 务处理 中断处理 10 电机控制电机控制 STM32的资源的资源 灵活的灵活的信号信号 采集、处理采集、处理 及及PWM控制控制 DMA TIMER NVIC ADC 11 电机控制电机控制 高级定时器的功能高级定时器的功能 可用于一般功能的定时器 16位计数器 自动重加载 向上,向下和向上向下计数模式 4个16位高精度输入捕获/输出比较通道 每个通道的方向可设置: 输入或输出 输出比较模式: 翻转, PWM 输入捕获 PWM输入捕获 同步功能 最多可产生8个中断或DMA请求 可用于电机控制的特殊功能 输出比较信号管理 6个互补输出 死区管理 循环控制单元 编

9、码器接口 位置霍尔传感器接口 嵌入的安全功能 紧急停止信号: BKIN 引脚或 CSS 功能配置可锁定 CH1 CH1N CH2 CH2N CH3 CH3N CH4 16-Bit Prescaler ITR 1 Trigger/Clock Controller Trigger Output Clock Auto Reload REG +/- 16/32-Bit Counter Capture Compare ITR 2 ITR 3 ITR 4 BKIN Capture Compare Capture Compare Capture Compare CH1 CH2 CH3 CH4 ETR 12

10、电机控制电机控制 PWM信号输出信号输出 N N+1 比较值比较值 = N 比较值比较值 = N + 1 下溢更新事件 REP = 1 上溢及下溢 更新事件 REP = 0 比较值比较值 从从 N 变为变为 N + 1 上溢更新 下溢更新 下溢更新 可设置CCERx寄存器的CCyP灵活地选择 输出极性 2*1/PWM周期 REP = 1; 1/PWM周期 REP = 0; 输出精度 13 电机控制电机控制 单电阻电流信号采集单电阻电流信号采集 直流无刷电机单电阻 电流采样需要配合 PWM控制中上下桥功 率管的开关,灵活地 选择采样点,并尽可 能少地占用CPU资源 资源配置: CC1/2/3使用

11、预加载功 能,使用CC4触发 ADC采集,通过DMA 配置CC4的比较位置。 ADC 14 电机控制电机控制 单电阻电流信号采集单电阻电流信号采集 通道通道2N 通道通道3N 通道通道1 通道通道1N 通道通道4 ISR ISR ADC输入输入 15 电机控制电机控制 单电阻电流信号采集单电阻电流信号采集 通道4触发第一次ADC采集,并触发DMA信号,将下一次 的通道4的比较值放入CCR4寄存器中 通道4触发第二次ADC采集; ADC采集完成,触发ADC中断,进入中断处理程序; 计算出下一次PWM的各通道的占空比,并将比较值写入 CCRx影子寄存器中,并计算出下一组采样时刻; 产生更新事件,触

12、发DMA,将第一次采样时刻点写入 CCR4寄存器,CCR1/2/3影子寄存器中的值生效; 重复 16 STM32多重外设协同工作一例多重外设协同工作一例 高精度秒脉冲输出高精度秒脉冲输出 RTC/TIMER 秒脉冲信号输出秒脉冲信号输出 在某些应用中需要输出精确的秒脉冲信号用 于测量或同步 STM32F10 x的RTC硬件秒脉冲存在某些局 限性 RTC和外设配合使用能够很好地实现精准的 秒脉冲 18 秒脉冲信号输出秒脉冲信号输出 RTC的秒脉冲的秒脉冲 32秒秒 220+N个时钟个时钟 RTC时钟时钟 32768Hz 秒脉冲秒脉冲 32768个时钟个时钟 假设: RTC的时钟频率略高于3276

13、8Hz,经校验(在此不做讨论)后, 32秒周期为(220+N)*RTC_CLK RTC硬件秒脉冲的不足:硬件秒脉冲的不足: 每秒的间隔是不均匀的 RTC秒脉冲不能够输出大约50%占空比的信号 19 秒脉冲秒脉冲 使用使用RTC+TIMER输出秒脉冲输出秒脉冲 使用定时器输出秒脉冲所面临的问题: 由于HSE/HSI时钟的精度比较低,单独使用定时器输出 秒脉冲完全不能够满足秒脉冲的精度要求 STM32F10 x系列单片机的定时器最高为16位,所以需 要进行一些特殊的处理 思路:使用RTC的秒脉冲输出到定时器的输入捕 获通道,校验MCU的SYSCLK时钟精度,然后用 SYSCLK做为另一个定时器的时

14、钟,配合DMA实 现自动的秒脉冲输出。 20 秒脉冲秒脉冲 用用RTC校验校验SYSCLK精度精度 0 65535 RTC 秒脉冲秒脉冲 C1 CN N 溢出溢出 1 M 0 秒脉冲秒脉冲 计数计数 0 SYSCLKs/秒秒=(M*65536 + CN +(65536-C1)/N (当当N=32时,测量结果最准确)时,测量结果最准确) 定时器定时器 捕获值捕获值 1 21 秒脉冲秒脉冲 使用使用TIMx_CC1输出秒脉冲输出秒脉冲 TIMx_CC1 TIMx_CNT PSC ARR Reserved OC1 Virtual Register PSC ARR 0 x0 OC1 PSC ARR 0

15、 x0 OC1 RAM Registers Preload enable PSC = 65535 ARR = 182 OC1 = 65535 PSC = 0 ARR = N+1 OC1 = N 秒脉冲的调整精度可达到 1/24M0.04ppm 500mS DMA trig 182 N 22 秒脉冲秒脉冲 使用使用RTC+TIMER输出秒脉冲输出秒脉冲 秒脉冲可调整的精度提高 每个秒脉冲的间隔都保证非常精确 校验及设置完成后,不需要软件参与秒脉冲的输 出 只要保证RTC的时钟精度,随时可以测得 SYSCLK的变化,并方便地调整秒脉冲的输出 23 软件调试技巧一例软件调试技巧一例 编译器使用(编译

16、器使用(IAR) 宏的使用 调试技巧调试技巧 为何使用宏为何使用宏 使调试过程更加自动化; 跟踪输出、打印变量值、自动设置断点 配置硬件 设置硬件寄存器 实时地向应用程序发送仿真的数据 开发专用于调试的功能 IAR Embedded Workbench C-SPY Debugging Guide 25 调试技巧调试技巧 如何使用宏如何使用宏 宏文件:*.mac 语法接近C语言 注册宏 Debug-Macros 26 调试技巧调试技巧 如何使用宏如何使用宏 宏文件:*.mac 语法接近C语言 注册宏 Debug-Macros ProjectOptionDebuger Setup 27 调试技巧调

17、试技巧 如何使用宏如何使用宏 宏文件:*.mac 语法接近C语言 注册宏 Debug-Macros ProjectOptionDebugerSetup 运行宏 在C-SPY启动或调试的特定阶段(例如RESET)运行宏 在Quick Watch窗口运行宏 在触发断点时运行宏 28 调试技巧调试技巧 宏使用实例宏使用实例 C:Program FilesIAR SystemsEmbedded Workbench 6.21.1 armconfigflashloaderST FlashSTM32F10 xxx.mac execUserFlashInit() _var reg; _message(-I-

18、execUserFlashInit!); _writeMemory32(0 x00000000, 0 x40021004, Memory); / RCC_CFGR = 0 _writeMemory32(0 x00010081, 0 x40021000, Memory); / RCC_CR = 0 x81 _writeMemory32(0 x00000000, 0 x40021008, Memory); / RCC_CIR = 0; / unlock flash _writeMemory32(0 x45670123, 0 x40022004, Memory); / set FLASH_KEY1;

19、 _writeMemory32(0 xCDEF89AB, 0 x40022004, Memory); / set FLASH_KEY2; _writeMemory32(0 x00000000, 0 x40022000, Memory); / Flash 0 wait state _writeMemory32(0 x00000000, 0 x40022010, Memory); / FLASH-CR = 0; _writeMemory32(0 x00000034, 0 x4002200C, Memory); / clear flag; 29 IAR IAR 调试技巧调试技巧 宏使用实例宏使用实例

20、 问题一: 在程序中使用DMA连续不停地向RAM中传送数据,在重新下载程序 时会出现FLASH_Loader程序校验出错! 原因分析: 在重新下载程序时IAR首先将FLASH Loader程序下载到RAM中, 然后对下载的程序进行回读校验;这时DMA传输并未停止,DMA 传输的数据会将RAM中的程序覆盖,在校验时就会出错。 解决方法: 使用宏:修改宏函数execUserFlashInit(),该宏函数在FLASH Loader程序下载到RAM之前会被调用运行一次,在该函数中将 DMA传输停止,则可以避免该问题。 30 IAR IAR 调试技巧调试技巧 宏使用实例宏使用实例 问题二: 在程序中使

21、用定时器等外设,在调试时让程序重新开始后,在初始 化外设之前程序就会进入中断,或者定时器已经启动并输出! 原因分析: IAR调试环境中Debug-Reset没有对硬件外设进行复位,程序重 新开始时外设仍然处于工作状态,所以虽然在调试窗口中看到程序 是重新运行的,但此时的外设状态与硬件复位是不一样的。 解决方法: 使用宏:修改宏函数execUserPreReset(),该宏函数在发送Reset 命令之前会被调用运行一次,在该函数中可以将所有需要使用的外 设进行复位,以便使外设恢复到硬件复位的状态。 31 提高系统提高系统EMC性能的一些要点性能的一些要点 STMCU EMC/ESD 提高系统提高

22、系统EMC性能的一些要点性能的一些要点 产品的产品的EMC性能受到高度重视。性能受到高度重视。 随着半导体工艺的发展,芯片内核电压越来越低,随着半导体工艺的发展,芯片内核电压越来越低, 线宽越来越窄,频率越来越快,对用户有效发挥线宽越来越窄,频率越来越快,对用户有效发挥 芯片芯片EMC性能提出了更高的要求。性能提出了更高的要求。 EMC问题没有单一的解决模式。问题没有单一的解决模式。 33 提高系统提高系统EMC性能的一些要点性能的一些要点 几个需要重视的因素:几个需要重视的因素: 电源部分的处理电源部分的处理 复位和振荡器电路的处理复位和振荡器电路的处理 其它一些注意事项其它一些注意事项 3

23、4 提高提高MCU EMC性能的一些要点性能的一些要点 STM32F100 xC/D/E 35 提高提高MCU EMC性能的一些要点性能的一些要点 按照数据手册说明放置滤波电容;不同产品的按照数据手册说明放置滤波电容;不同产品的 电源引脚可能略有差别;电源引脚可能略有差别; 设计设计PCB时,滤波电容应尽可能靠近芯片,到时,滤波电容应尽可能靠近芯片,到 芯片管脚的连线尽可能短芯片管脚的连线尽可能短; 单点接单点接地,加地,加大敷地面积;使用插接件连接时大敷地面积;使用插接件连接时 要保证接地可靠。要保证接地可靠。 36 提高系统提高系统EMC性能的一些要点性能的一些要点 部分部分ST MCU需

24、要外接需要外接VCAP,可参考上述原则,可参考上述原则; 一定要读一遍数据手册!至少一遍一定要读一遍数据手册!至少一遍! ! 不要从其他元器件的电源和地向芯片供电不要从其他元器件的电源和地向芯片供电; 37 提高提高MCU EMC性能的一些要点性能的一些要点 复位电路对芯片正常工作至关重要;复位电路对芯片正常工作至关重要; ST MCU无需外接复位芯片,按照数据手册上的无需外接复位芯片,按照数据手册上的 电路进行设计即可;电路进行设计即可; PCB布局时,去耦电容尽量靠近芯片,到布局时,去耦电容尽量靠近芯片,到NRST 管脚连线尽可能短;管脚连线尽可能短; 38 提高提高MCU EMC性能的一

25、些要点性能的一些要点 芯片本身具有复位引脚内建上拉电阻,无需外接。芯片本身具有复位引脚内建上拉电阻,无需外接。 39 提高系统提高系统 EMC性能的一些要点性能的一些要点 可能的情况下尽可能使用内部振荡器。外部振荡可能的情况下尽可能使用内部振荡器。外部振荡 器易受干扰,并非芯片本身问题;器易受干扰,并非芯片本身问题; 如果使用内部如果使用内部RC,则振荡器引脚在设计时候按照,则振荡器引脚在设计时候按照 普通普通IO处理即可;处理即可; 如果使用外部振荡器,必须按照数据手册中的指如果使用外部振荡器,必须按照数据手册中的指 导原则选择合适的振荡器以及谐振电容的大小。导原则选择合适的振荡器以及谐振电

26、容的大小。 40 提高提高MCU EMC性能的一些要点性能的一些要点 PCB布局时,振荡器电路尽量靠近芯片,到振荡布局时,振荡器电路尽量靠近芯片,到振荡 器管脚连线尽可能短;器管脚连线尽可能短; PCB板上分布电容是影响振荡器工作的一个因素,板上分布电容是影响振荡器工作的一个因素, 必要时应加以注意;必要时应加以注意; 保持保持PCB板干燥、清洁,以避免板上分布电容有板干燥、清洁,以避免板上分布电容有 较大变化。较大变化。 41 提高提高MCU EMC性能的一些要点性能的一些要点 振荡器性能的好坏直接关系到产品性能。振荡器性能的好坏直接关系到产品性能。 42 提高提高MCU EMC性能的一些要

27、点性能的一些要点 关于未用的引脚:关于未用的引脚: 指导思想是让它们保持在固定电平,避免让未用的指导思想是让它们保持在固定电平,避免让未用的 引脚处于浮空状态;引脚处于浮空状态; 可以设置成输入模式然后打开内部上拉电阻;推荐可以设置成输入模式然后打开内部上拉电阻;推荐 用外部下拉电阻到地或者上拉电阻到用外部下拉电阻到地或者上拉电阻到VDD固定,固定, IO设置成输出状态。设置成输出状态。 43 提高系统提高系统 EMC性能的一些要点性能的一些要点 关于未用的功能:关于未用的功能: 指导思想是让未用的功能模块都确实关闭,避免指导思想是让未用的功能模块都确实关闭,避免 在干扰下被打开引起不可预知的

28、后果。因此,推在干扰下被打开引起不可预知的后果。因此,推 荐在程序入口处将不用的外设控制寄存器刷一遍,荐在程序入口处将不用的外设控制寄存器刷一遍, 全部关闭。全部关闭。 关于中断服务程序:关于中断服务程序: 指导思想是中断服务程序越短越好。指导思想是中断服务程序越短越好。 44 提高系统提高系统EMC性能的一些要点性能的一些要点 看门狗是提高产品看门狗是提高产品EMC性能的重要手段。性能的重要手段。 ST MCU具有独立看门狗和窗口看门狗;必要时具有独立看门狗和窗口看门狗;必要时 候可以同时打开。候可以同时打开。 通讯接口上可以串接小电阻,提高通讯可靠性。通讯接口上可以串接小电阻,提高通讯可靠

29、性。 注意字节选项的设置,例如是否打开注意字节选项的设置,例如是否打开BOR功能。功能。 45 提高系统提高系统EMC性能的一些要点性能的一些要点 充分利用复位标志进行判断,处理异常复位。例充分利用复位标志进行判断,处理异常复位。例 如如STM32F100 xx提供了提供了6种复位标志,种复位标志, STM32F2xx增加了增加了BOR复位标志。复位标志。 充分利用产品的特性。例如充分利用产品的特性。例如STM8中具有中具有illegal code reset 标志和标志和EMC reset标志。标志。 46 提高系统提高系统EMC性能的一些要点性能的一些要点 STM32F100 xC/D/E

30、的的EMC性能指标性能指标 47 提高系统提高系统EMC性能的一些要点性能的一些要点 ST提供了关于提供了关于EMC设计的应用文档供设计时参设计的应用文档供设计时参 考,如考,如AN2860,AN1709等,可以在等,可以在 ST 官方网官方网 站站下载。下载。 48 提高系统提高系统EMC性能的一些要点性能的一些要点 总结:总结: ST芯片为提高系统级产品芯片为提高系统级产品EMC性能提供了坚实性能提供了坚实 基础;基础; 恰当恰当使用芯片能有效提高产品的使用芯片能有效提高产品的EMC性能性能; 49 STM32复位系统要点复位系统要点 如何处理复如何处理复位位引脚引脚 问题:对于复位引脚的

31、推荐处理方法是什么? 措施:NRST与VDD之间接10K电阻上拉,NRST与地之间接 0.1uF无极性电容 51 如何处理复如何处理复位位引脚引脚 要点: a. POR 电路产生20uS的低脉冲后,电容开始充电; b. NRST电平上升到0.8V以后,复位信号被释放; 52 为为何何复位复位IC会引起会引起MCU内部的内部的WDG失效失效 问题:在使用了专用复位芯片后,发现MCU内部的WDG失效; 原因: NRST为双向接口,在内部复位电路产生复位动作时,会送出 一个低电平的强驱动,与复位IC送出的高电平驱动发生了冲突; 措施: 选用OD输出的复位IC或采取信号隔离措施; 53 为何为何复位复

32、位IC会引起会引起MCU内部的内部的WDG失效失效 要点: 在二极管隔离时,要选用肖特基二极管,以保证复位IC送到 NRST引脚上的低电平信号低与0.8V。 54 近期客户反馈较多的问题及解决方法近期客户反馈较多的问题及解决方法 为何为何Bootloader通通信不稳定信不稳定 问题:使用片上BootLoader下载软件,但其与上位通信不 稳定; 原因:PA9与PA10没有接上拉电阻; 措施:补接上拉电阻; 要点: a. STM23F 复位后所有 端口均高阻状态; b. 缺少了驱动源的信号 线上会有较强的噪声; 56 如何为小封芯片的如何为小封芯片的ADC提供基准提供基准 问题:TQFP64,

33、TQFP48,QFN32封装的芯片没有Vref 引脚,如何为其ADC提供基准源; 措施:可以选择一个通道采 样基准电源,然后根据该值 对信号的采样值予以修正。 可以选择单片机内部的基准 源作为参考信号; 57 如何为小封芯片的如何为小封芯片的ADC提供基准提供基准 要点:对普通信号与基准电源进行扫描模式采样。 扫描顺序为: 基准源 = 普通信号 = 普通信号 = 基准源 对信号采样值的修正,可以按如下公式进行: Ds = (Dso*4095*2)/(Dref1+Dref2) Dref1表示第一次对基准电源的原始采样结果; Dref2表示第二次对基准电源的原始采样结果; Dso表示对普通信号的原

34、始采样结果; Ds表示最终的修正结果; 为防止溢出,使用u32型变量进行计算; 58 STVD使用小技使用小技巧巧(STM8) STVD使用小技使用小技巧巧(STM8) 针对针对8位位MCU的集成开发环境的集成开发环境 支支持持Cosmic和和Raisonance编译器编译器 使用简单、方便使用简单、方便 调试功能强大、灵活调试功能强大、灵活 具有热插拔功能具有热插拔功能 支持支持ST-link和和R-link调试调试 60 STVD使用小技使用小技巧巧(STM8) 61 STVD使用小技使用小技巧巧(STM8) 在指令断点上增加条件,以利于调试。在指令断点上增加条件,以利于调试。 双击双击”

35、Condition”设置条件设置条件,非常简单非常简单! 62 STVD使用小技使用小技巧巧(STM8) 在符合条件时,程序停止。为程序调试带来方便。在符合条件时,程序停止。为程序调试带来方便。 63 STVD使用小技使用小技巧巧(STM8) Read/Write on-the-fly功能:功能: 1) 允许用户在程序执行时实时观察选定允许用户在程序执行时实时观察选定RAM地地 址址(通通过过WATCH窗口或者窗口或者MEMORY窗窗口口)的的内容内容 变化。变化。 2) 刷新频率约为刷新频率约为1秒。秒。 3) 刷新整个刷新整个MEMORY窗口显示的地址范围内的窗口显示的地址范围内的 内容。

36、内容。 64 STVD使用小技使用小技巧巧(STM8) 设置简单设置简单 点击鼠标右键点击鼠标右键 65 STVD使用小技使用小技巧巧(STM8) Hot plug Mode 1) 可以对正在执行的程序进行实时监控;可以对正在执行的程序进行实时监控; 2)无需知道芯片内部代码或者源项目信息;)无需知道芯片内部代码或者源项目信息; 3)使用简单方便,只支)使用简单方便,只支持持SWIM接接口。口。 66 STVD使用小技使用小技巧巧(STM8) 设置与通常的项目设置不同:不能在项目中使用。设置与通常的项目设置不同:不能在项目中使用。 67 STVD使用小技使用小技巧巧(STM8) 点击“点击“S

37、tart debugging”与目标板连接”与目标板连接 68 STVD使用小技使用小技巧巧(STM8) 与目标板与目标板(用户程序已经在运行用户程序已经在运行)连接后,可以通连接后,可以通 过过Read on-the-fly功能观察;功能观察; 当读保护打开时,不能使用此功能;当读保护打开时,不能使用此功能; 不能设置软件断点;不能设置软件断点; 不能对不能对Flash或者内置或者内置EEPROM进行操作;进行操作; 不支持符号调试;不支持符号调试; 如果原目标板上具有如果原目标板上具有watch dog reset,连接可能,连接可能 会要尝试若干次;会要尝试若干次; 在查找不可重复性故障

38、时,是一个有力的工具。在查找不可重复性故障时,是一个有力的工具。 69 STVD使用小技使用小技巧巧(STM8) 在在RAM中执行程序中执行程序(以以cosmic编译器为例说明编译器为例说明) 1) 降低功耗。降低功耗。 2)某些操作必须在)某些操作必须在RAM中执行,例如对中执行,例如对Flash的的 Block操作。操作。 70 STVD使用小技使用小技巧巧(STM8) 程序中要使用程序中要使用cosmic库函数库函数 _fctcpy 将将FLASH 中的代码代码拷贝中的代码代码拷贝RAM中运行。中运行。_fctcpy从从 FALSH中拷贝一段可移动代码段到中拷贝一段可移动代码段到RAM中

39、。中。 在项目属性中进行必要的设置。在项目属性中进行必要的设置。 71 STVD使用小技使用小技巧巧(STM8) 程序被移动到程序被移动到RAM中执行中执行 函数说明函数说明 此部分要移动到此部分要移动到RAM中执行中执行 72 STVD使用小技使用小技巧巧(STM8) 被移动到被移动到RAM中的程序中的程序 先要放在一个先要放在一个section中中 程序被移动到程序被移动到RAM中执行中执行 73 STVD使用小技使用小技巧巧(STM8) 74 STVD使用小技使用小技巧巧(STM8) 总结:总结: 使用简单、直观,容易上手;使用简单、直观,容易上手; 具有具有多种富有特色多种富有特色的调试手段;的调试手段; 恰当使用可以有效发挥硬件性能。恰当使用可以有效发挥硬件性能。 75

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1