• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32怎么在RAM中调试程序

e80bb0aeef990918 2019-03-23 浏览量:637
stm32怎么在RAM中调试程序
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  •  在uVision 中新建一种配置,命名为“RAM”
    选中新建的“RAM” 配置,配置新建的"RAM"配置
     根据STM32F4xx RAM地址范围,在Target中配置代码段地址(IROM),数据段地址(IRAM)
    在linker中确保使用的是Target中设置的映射方式
    添加初始化文件(如果没有,复制以下代码到文本编辑器中,保存为.ini,并保存到工程所在目录中)

    FUNC void Setup (void) {
     2   SP = _RDWORD(0x20000000);          // 堆栈指针
     3   PC = _RDWORD(0x20000004);          // PC
     4   _WDWORD(0xE000ED08 0x20000000);   // 中断向量偏移地址
     5 }
     6
     7 LOAD %L INCREMENTAL                  // 载入axf文件
     8
     9 Setup();                             // 调用Setup();
    10
    11 g main                              //跳转到main


    仿真器下载地址的配置好RAM地址


    • 发布于 2019-03-23
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 设置步骤比较多,大致就是修改rom的地址改成ram的地址也就是0x20000000,启动文件的中断向量表需要修改,下载地址需要修改,boot0和boot1接高电平,最后就是定义VECT_TAB_SRAM

    • 发布于2019-03-23
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32允许在启动的时候跳转到一个指定的RAM地址去执行,修改那个SCB->VTOR为RAM中一个地址就行

    下载程序的时候下载到指定的地址,或者自行写一段bootloader程序实现

    • 发布于2019-03-23
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32怎么在RAM中调试程序