关于PSOC4模拟EEPROM的checksum问题

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Fayne_Meng
Level 4
Level 4
Distributor - Weikeng(GC)
100 sign-ins First like received 10 likes given

您好,

     咨询个问题,当我们用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))
}

 

 

0 点赞
1 解答
LinglingG_46
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 10 questions asked

可以用默认的flash的。

客户出现什么问题?flash的内容被修改了吗?问题的表象是什么?

在原帖中查看解决方案

6 回复数
LinglingG_46
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 10 questions asked

如果用默认的ld的话,checksum是会发生变化的。

0 点赞
Fayne_Meng
Level 4
Level 4
Distributor - Weikeng(GC)
100 sign-ins First like received 10 likes given

Hi  

    如果采用默认的ld,会不会有什么安全隐患吗?你们有什么建议?谢谢。

 

0 点赞
LinglingG_46
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 10 questions asked

安全隐患这个问题不能一概而论,要根据你的工作需求,做对应的解答。

1:你现在想用eeprom做什么?

2:存多少数据?更新的频率是什么?

0 点赞
Fayne_Meng
Level 4
Level 4
Distributor - Weikeng(GC)
100 sign-ins First like received 10 likes given

是这样,有个用户自己搞的,没有联系我们支持,最近程序出问题了,目前我没有发现触摸设置有什么大问题,发现他用了128个字节的EEPROM,发现他的这个eeprom使用的默认ld文件,所以想咨询一下,能不能用默认的ld文件,谢谢。

0 点赞
LinglingG_46
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 10 questions asked

可以用默认的flash的。

客户出现什么问题?flash的内容被修改了吗?问题的表象是什么?

Fayne_Meng
Level 4
Level 4
Distributor - Weikeng(GC)
100 sign-ins First like received 10 likes given

好的,能用默认的ld就好,我只是想排查一下这个会不会影响芯片别的外设出问题,剩下的问题我来排查解决,感谢您的解答,谢谢。

0 点赞