电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

Keil MDK3.20 在ULINK下调试stm32方法

来源:-- 作者:-- 浏览:460

标签:

摘要: 1. 程序在RAM中运行 要点:(1)程序的下载地址改到RAM空间中 (2)程序的debug之前要设定SP,PC指针到Ram空间 新建工程,选择STM32 的具体型号,我买的万利的开发板,选择stm32f103Vb。 &

    1. 程序在RAM中运行

    要点:(1)程序的下载地址改到RAM空间中

    (2)程序的debug之前要设定SP,PC指针到Ram空间

    新建工程,选择STM32 的具体型号,我买的万利的开发板,选择stm32f103Vb。

     

 

    设定程序下载地址,如下图所示,IROM1的地址指向了STM32的ram空间。

    空间大小如何分配取决于自己的需求。本款处理器内部ram大小为20K,分配16K给只读区,4K给可读可写区。这样IROM设定的大小为0x4000,IRAM1的起始就变为0X20004000,大小只剩下0X1000。

    Debug标签选择ULINK1 Cortex Debugger(软件采用yjgyiysbCC兄crack方法)。不选Load ApplICation at Start,在Initialization中加入启动脚本RAM.ini。

    RAM.ini中具体内容如下:

    FUNC void Setup (void) {

    SP = _RDWORD(0x20000000); // Setup Stack Pointer

    PC = _RDWORD(0x20000004); // Setup Program Counter

    _WDWORD(0xE000ED08, 0x20000000); // Setup Vector Table Offset Register

    }

    LOAD XXX.axf INCREMENTAL // Download,红色代表工程文件名.axf

    Setup(); // Setup for Running

    g, main

    Utilities下Update Target before Debugging不选

    这样添加后就可以在RAM中调试了。

    >>>>>>我们需要在代码中设置正确的中断向量表位置。中断向量表通常被放置在用户程序的开始,所以flash中运行时,向量表位于0x08000000处,而当代码被放置在SRAM中运行时,他的位置就成了0x20000000。在初始化NVIC时,我们可以放置如下代码,定义向量表的位置

    NVIC_SetVectorTable(0x20000000 , 0x0);

    或

    NVIC_SetVectorTable(0x08000000 , 0x0);

    或

    ?

     

    >>>>>工程选项中Debug项,Download选项卡中,去掉所有钩子,不下载代码到flash,这样就可以在RAM中调试程序了!

    2. Flash中调试

    新建工程后系统默认设定好IROM1为FLASH的地址和空间大小。只需要两步:

    1) 设定调试工具为ULINK1 CORTEX DEBUGGER,如下图所示,不需要设定起始脚本。

     

    2) 在Utility中设定选择ULINK1 cortex debugger,并设定编程算法。如下图所示。

   

 

    之后就可以FLASH调试了。

    硬件:万利的 EK-STM32F开发板,硬件去掉RS3,RS4 排阻,断开开发板本身的仿真器。

    软件:KEIL MDK3.20+ULINK驱动替换文件。

    仿真器:ULINK

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67