迭代项目的时候发现的
原有的代码的作用是将一个字符串写进已有的数组内,现在我一模一样添加但是失败的。
回车上面是原有的成功的,下面是后加的,失败的
char VERSION[200] = "VERSION NUM";
FDI_PARAM_ARRAY_LINK_F32(VERSION,3);
FDI_PARAM_BLOCK_ARRAY(WIFI_SSID, char, 32) = "fffffffff";
FDI_PARAM_BLOCK_ARRAY(WIFI_PASSWORD, char, 64) = "fffffffffff";
FDI_PARAM_BLOCK_ARRAY(MODEL_USR_AUTH, char, 50) = "ffffff";
FDI_PARAM_BLOCK_ARRAY(ETHERNET_USR_AUTH, char, 50) = "ffffff";
FDI_PARAM_BLOCK_ARRAY(P900_AIR_BAUD,char,2) = "0";
FDI_PARAM_BLOCK_ARRAY(P900_NETID,char,20) = "564123";
FDI_PARAM_BLOCK_ARRAY(COMM_BAUD,char,2) = "0";
具体错误是 debug模式下,上面的数组已经存入写好的值了,就是f 的0x66,但是下面的三个数组内存放的内容就是0XFF,这个就是错的
这个函数我放在下面了
#define FDI_PARAM_BLOCK_ARRAY(_name, _type, _size) \
extern _type _name[_size]; \
FDI_STRING(fdi_string_##_name, #_name) \
__attribute__((section("fdi_block"), used)) static const FDI_Param_Block_Type fdi_block_##_name = \
{ \
.name = fdi_string_##_name, \
.bytes = sizeof(_type) * _size, \
.value = _name, \
}; \
__attribute__((section("fdi_flash"), used)) _type _name[_size]
我想能写入这个代码内