还有确保yt-link DATA_FLASH 和 DATA_RAM 有同样的对齐配置,
image.png
image.png
看map文件,你们的对应配置都是4。:
size(block DATA_RAM_block) = 9'456 (0x24f0)
size(block DATA_RAM_rom_block) = 9'452 (0x24ec)
"TEXT_DATA_RAM_rom": 0x24ec
DATA_RAM_rom_block 0x1'b9f4 0x24ec <Block>
DATA_RAM_rom_start_section
uninit 0x1'b9f4 0x0 <internal module>
data_rom 0x1'b9f4 0x24ec <Block>
Initializer bytes const 0x1'b9f4 0x24ec <for data-1> (used: 0x0)
DATA_RAM_rom_end_section
uninit 0x1'dee0 0x0 <internal module>
- 0x1'dee0 0x24ec
"RAM_DATA_RAM": 0x24f0
DATA_RAM_block 0x1fff'1cfc 0x24f0 <Block>
DATA_RAM_start_section
uninit 0x1fff'1cfc 0x0 <internal module>
data_region_start_section
uninit 0x1fff'1cfc 0x0 <internal module>
data 0x1fff'1d00 0x24ec <Block>
data-1 0x1fff'1d00 0x24ea <Init block>
问题应该是:
DATA_RAM_start_section = 0x1fff'1cfc
但是时间数据开始是从0x1fff'1d00开始的,差了4个字节。
可能你们data数据加了一些强制对齐的操作。
解决方法:
修改yt-link,把对齐从4改为16,再试试。