请问一下# pragma location="RAM_PASSWORD"
与
extern uint16_t _App_Start; // Address of Application start
区别,是不是两种方法都可以对flash内对应的地址进行数值操作呢?
其中在flash内对应的地址如下(.xcl 文件内flash划分)
// RAM Start Address: -D_RAM_START=200
// Address of RAM Password (2B)
-D_RAM_PASSWORD_ADDR=_RAM_START
// Flash Start Address:
-D_FLASH_START=C000
// Application Start address (after checksum)
-D_App_Start=(_FLASH_START+3)
user1607139:
补充一个问题,如果可以跟变量一样对其所对应地址进行赋值操作的话,与通过flash操作写flash什么区别呢?
灰小子:
# pragma location 和特定的开发环境有关系。一般只在boot中用这种方法
Delta:
回复 user1607139:
编译之后,看反汇编就知道差别了。