您好,
咨询个问题,当我们用PSOC4的Em_EEPROM组件时,工程生成的Hex1文件的checksum是不包含了EEPROM的部分吧(通过Custom Linker Script调用cm0gcc.ld)。如果用户没有通过Custom Linker Script调用cm0gcc.ld,这样是不是会调用默认的cm0plusgcc.ld,从而导致生生成的Hex2文件的checksum是包含了EEPROM的部分,这样的话当芯片烧录了Hex2后运行,通过PSoC Programmer去读取芯片的checksum会是变化的吗?谢谢。
[1]main.c中的内容如下:
const uint8_t Em_EEPROM_em_EepromStorage[Em_EEPROM_PHYSICAL_SIZE]
CY_SECTION(".my_emulated_eeprom") __ALIGNED(CY_FLASH_SIZEOF_ROW) = {0u};
[2]cm0gcc.ld中的有如下内容:
/***************************************************************************
* Checksum Exclude Section for non-bootloadable projects. See below.
***************************************************************************/
.cy_checksum_exclude : { KEEP(*(.cy_checksum_exclude)) } >rom
EM_EEPROM_START_ADDRESS = 0x2000;
.my_emulated_eeprom EM_EEPROM_START_ADDRESS :
{
KEEP(*(.my_emulated_eeprom))
} >rom
[3]cm0plusgcc.ld中的有如下内容:
/***************************************************************************
* Checksum Exclude Section for non-bootloadable projects. See below.
***************************************************************************/
.cy_checksum_exclude : { KEEP(*(.cy_checksum_exclude)) } >rom
.ramvectors (NOLOAD) : ALIGN(8)
{
__cy_region_start_ram = .;
KEEP(*(.ramvectors))
}
已解决! 转到解答。
- 标签:
-
PSoC 4 MCU
如果用默认的ld的话,checksum是会发生变化的。
Hi
如果采用默认的ld,会不会有什么安全隐患吗?你们有什么建议?谢谢。
安全隐患这个问题不能一概而论,要根据你的工作需求,做对应的解答。
1:你现在想用eeprom做什么?
2:存多少数据?更新的频率是什么?
是这样,有个用户自己搞的,没有联系我们支持,最近程序出问题了,目前我没有发现触摸设置有什么大问题,发现他用了128个字节的EEPROM,发现他的这个eeprom使用的默认ld文件,所以想咨询一下,能不能用默认的ld文件,谢谢。
可以用默认的flash的。
客户出现什么问题?flash的内容被修改了吗?问题的表象是什么?
好的,能用默认的ld就好,我只是想排查一下这个会不会影响芯片别的外设出问题,剩下的问题我来排查解决,感谢您的解答,谢谢。