Gd32直接在内存执行代码,不需要烧录进flash

程序地址:0x20000000,大小8K

内存地址:0x20002000,大小8K

中断偏移地址设置宏定义:VECT_TAB_SRAM

flash.ini内容:

FUNC void Setup (void) {

  SP = _RDWORD(0x20000000); //设置堆栈指针

  PC = _RDWORD(0x20000004); //设置PC指针

  _WDWORD(0xE000ED08, 0x20000000); //设置中断向量表地址

}

Setup(); //再调用Setup函数修改堆栈指针和PC指针 因为SP的值要从目标代码中读取

g, main //运行到main函数

Gd32直接在内存执行代码,不需要烧录进flash_第1张图片Gd32直接在内存执行代码,不需要烧录进flash_第2张图片Gd32直接在内存执行代码,不需要烧录进flash_第3张图片Gd32直接在内存执行代码,不需要烧录进flash_第4张图片

你可能感兴趣的:(嵌入式)