mantishell 发表于 2015-1-6 16:27:51

使用stm32f072 nucleo板子,程序下载到RAM中,并调试

    上次发帖是将生产的bin文件放置到板子的U盘(NUCLEO)中,能够形象的观察现象,且下载方便。不过发现调试不方便。在调试USART中断收发的过程中发现直接将程序下载到rom中,会影响寿命。于是就有了将程序下载到ram中的想法。

    使用的芯片是:stm32f072rbt6
    具有128KB FLASH,16KB SRAM
    想将程序下载到这16KB的SRAM中。16KB = 0x4000;
    我把这0x4000中的0x0--0x1FFF存放程序
                              0x2000--0x3FFF用作RAM
   这样调试的时候就可以无限次使用而不用担心寿命问题了。


还有一个文件是必须的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 RAM\STM32F072RB-Nucleo.axf INCREMENTAL      // Download

Setup();                           // Setup for Running
g, main



解释:RAM\STM32F072RB-Nucleo.axf是将output生成的放置到了ram文件夹下,STM32F072RB-Nucleo是生成的文件名。





巅峰残狼 发表于 2015-1-6 17:23:10

谢谢分享

mantishell 发表于 2015-1-6 17:25:07

巅峰残狼 发表于 2015-1-6 17:23
谢谢分享

共同学习!:)

aderson 发表于 2015-1-6 17:32:40

话说楼主的STLINK 正常么。。。为什么我的不正常啊。

mantishell 发表于 2015-1-6 20:54:06

adersonl 发表于 2015-1-6 17:32
话说楼主的STLINK 正常么。。。为什么我的不正常啊。

   在我的板子上是正常的,你试试,有问题咱们交流。

mantishell 发表于 2015-1-7 11:29:57

adersonl 发表于 2015-1-6 17:32
话说楼主的STLINK 正常么。。。为什么我的不正常啊。

对不起,需要更正一下,CORTEX-M0的The vector table is fixed at address 0x00000000。所以不能像CORTEX-M3那样将异常向量表偏移。

FUNC void Setup (void) {
SP = _RDWORD(0x20000000);                         // Setup Stack Pointer
PC = _RDWORD(0x20000004);                         // Setup Program Counter
_WDWORD(0x40010000, _RDWORD(0x40010000) | 0x3);   // Set MEM_MODE to SRAM
}

LOAD ram\rs232.axf INCREMENTAL      // Download

Setup();                           // Setup for Running
g, main

默默前行 发表于 2015-1-7 12:09:57

感谢楼主分享

wamcncn 发表于 2015-2-12 10:45:23

谢谢分享,学习了

damiaa 发表于 2015-2-12 11:03:38

好,看看。

loyi 发表于 2015-4-3 17:07:24

谢谢分享

yceast 发表于 2015-4-18 09:08:50

支持啊1111111111111111111111

kinaksd 发表于 2020-7-24 18:09:07

你好,这个sram烧录算法没有?
No Algorithm found for: 02000000H - 02000A37H
Programming skipped!
Error: Flash Download failed-"Cortex-M0"
页: [1]
查看完整版本: 使用stm32f072 nucleo板子,程序下载到RAM中,并调试