单片机编程软件很简单_23,keil单片机编程软件调试stm32
单片机编程软件的使用意义较强,不论是工作还是学习,单片机编程软件都是常被使用的软件之一 。本文对于单片机编程软件的介绍将基于如何采用keil单片机编程软件调试stm32,如果你对单片机编程软件抑或本文内容具有兴趣,不妨继续往下阅读哦 。
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 排阻,断开开发板本身的仿真器 。
软件:KEILMDK3.20+ULINK驱动替换文件 。
【单片机编程软件很简单_23,keil单片机编程软件调试stm32】 以上便是此次小编带来的“单片机编程软件”相关内容,通过本文,希望大家对如何采用keil单片机调试stm32具备一定的了解 。如果你喜欢本文,不妨持续关注我们网站哦,小编将于后期带来更多精彩内容 。最后,十分感谢大家的阅读,have a nice day!
推荐阅读
- 单片机编程软件很简单_24,keil单片机编程软件仿真、调试技巧+常见错误
- ARM7单片机_学习ing—(六)、SPI接口—02
- 单片机编程软件很简单_22,keil单片机编程软件优化等级+概念解析
- 51单片机——定时器
- 关于STM32单片机GPIO口上拉与下拉输入
- MCS-51系列单片机位置位复位指令_4条
- 工业机器人示教编程与离线编程的区别
- 设计仿真软件究竟有多重要?看这款PSpice的魅力!
- 苹果高通分道扬另有隐情:软件接入是更大问题
- pic单片机最强应用篇,采用pic单片机设计红外夜视仪