创建工程的调试版本
该操作调试版本会复制原工程的配置
修改FLASH的目标配置
用的是STM32F103C8T6
RAM起始地址为是0x2000 0000大小为20KB,
这里用12KB大小的RAM作为虚拟ROM,用8KB的RAM作为RAM
虚拟ROM起始地址0x2000 0000大小0x3000
RAM起始地址0x2000 3000大小0x2000
配置分散加载文件
keil STM32中sct 分散加载文件学习
注意要与FLASH下的目标配置一致
虚拟ROM起始地址0x2000 0000大小0x3000
RAM起始地址0x2000 3000大小0x2000
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x20000000 0x00003000 { ; load region size_region
ER_IROM1 0x20000000 0x00003000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_IRAM1 0x20003000 0x00002000 { ; RW data
.ANY (+RW +ZI)
}
}
配置中断向量表
编译选项中加入宏 VECT_TAB_SRAM ,在“Options for Target-> c/c+±>Define”框中输入宏VECT_TAB_SRAM ,注意它与其它宏之间要使用英文逗号分隔开。配置完成后重新编译工程,即可生成存储到 SRAM 空间地址的代码指令。
修改 FLASH 下载配置
Download Function中的擦除选项配置为Do not Erase
这是因为数据写入到内部SRAM 中不需要像 FLASH 那样先擦除后写入。在本工程中,如果我们不选择“Do not Erase”的话,会因为擦除过程导致下载出错。
RAM for Algorithm指“编程算法” (Programming Algorithm) 可使用的 RAM 空间
虚拟ROM地址与大小,与上面目标配置一致
仿真器配置
需要勾选Verify Code Download及Download to FLASH选项,也就是说点击调试按钮后,本工程的程序会被下载到内部 SRAM 中,只有勾选了这两个选项才能正常仿真
BOOT配置
上一篇:【STM32】HAL库-GPIO及位段
下一篇:STM32学习笔记整理之(2)——外部中断
推荐阅读最新更新时间:2024-11-17 12:47
设计资源 培训 开发板 精华推荐
- LTC1174 5V、175mA 表面贴装
- 使用 Analog Devices 的 LTM8003-3.3IY 的参考设计
- LTC2938CMS ±5V 电源监视器的典型应用电路,看门狗被禁用且未使用的输入被拉高
- 苹果妙控2代键盘改机械键盘(Cover Nosix)
- DER-581 - 具有无损过零电路的 45 W 反激式转换器
- 具有可编程闪烁率的 PCA9550 2 位 I2C 总线 LED 驱动器的典型应用电路
- SC18IS606-EVB: I2C转SPI桥接评估板 new
- 使用 Microchip Technology 的 MICRF001 的参考设计
- 使用 Analog Devices 的 LT6654AMPS6-2.5 的参考设计
- AP0100CSSL00SPGAD-GEVK:1 MP 协处理器 DK
- 下载设计资源,赢取“会说话”的啤酒托!
- 答题赢礼! | 如何利用PI Expert 电源设计工具快速搭建PD充电器
- 有奖直播|基于Source-down技术的全新英飞凌MOSFET,有效提升功率密度,肉眼可见
- BeagleBone Black 开发板 DIY 创意设计大赛
- 英飞凌&英恒|如何选择一颗合适的车用MOSFET
- 【免费租用】Xilinx Spartan-6 FPGA 嵌入式套件!
- 6月4日上午10:00直播:英飞凌栅极驱动芯片的应用以及安富利对应的解决方案
- ADI直播:MEMS技术与产品解析
- MPS电机研究院 让电机更听话的秘密! 第一站:电机应用知识大考!
- 有奖直播:迈来芯消费级超低功耗位置传感器,简化设计降低成本