公告

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

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

cross mob
idream
Level 3
Level 3
50 sign-ins First comment on blog 10 replies posted

请问 PSoC Creator生成Hex文件,如何不添加0x9030_0000 ~ 0x9060_0000 的信息?

默认IDE生成的hex文件中包含了0x9030_0000等信息,除了手动编辑删除的方式外,是否还有其他配置使之不添加该信息?

thanks.

 

0 点赞
1 解答
Vison_Zhang
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 250 sign-ins

Creator 生成 PSoC4 工程的 HEX 文件使用的是自带的 CyElfTool.exe 工具,为 90300000~90600000 地址生成信息也是这个工具的固化逻辑的一部分,这一点不好修改。

不过你可以参考下面链接的帖子,采用加入 postbuild 指令的方式让 Creator 生成 HEX 文件的同时也生成对应的 bin 文件。bin 文件的格式就简单多了,只保留 data 信息,多余的格式信息一概被删除。

https://community.infineon.com/t5/PSoC-4/How-can-PSoC-Creator-GCC-linker-generate-binary-BIN-file/td...

 

在原帖中查看解决方案

0 点赞
4 回复数
Vison_Zhang
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 250 sign-ins

Creator 生成 PSoC4 工程的 HEX 文件使用的是自带的 CyElfTool.exe 工具,为 90300000~90600000 地址生成信息也是这个工具的固化逻辑的一部分,这一点不好修改。

不过你可以参考下面链接的帖子,采用加入 postbuild 指令的方式让 Creator 生成 HEX 文件的同时也生成对应的 bin 文件。bin 文件的格式就简单多了,只保留 data 信息,多余的格式信息一概被删除。

https://community.infineon.com/t5/PSoC-4/How-can-PSoC-Creator-GCC-linker-generate-binary-BIN-file/td...

 

0 点赞
idream
Level 3
Level 3
50 sign-ins First comment on blog 10 replies posted

Hi Vison,

实测使用这种方式生成的BIN文件巨大,应该是因为生成的elf文件中也包含了0x9060_0000的信息,所以生成的BIN有3.97GB。

"D:\Cypress\PSoC Creator\4.4\PSoC Creator\import\gnu\arm\5.4.1\bin\arm-none-eabi-objcopy" -S -O binary ".\CortexM0p\ARM_GCC_541\Debug\AppBootable.elf" ".\CortexM0p\ARM_GCC_541\Debug\AppBootable.bin"

是否还有其他方式呢?

0 点赞
Vison_Zhang
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 250 sign-ins

bin 文件转换失败的原因和 HEX 文件中包含额外信息无关,应该是 elf 文件是 bootlodable elf 文件的原因,这种转换方式只适用于普通 project,  bootlodable 的 elf 文件是 boot 和 app 两个工程的 elf 文件 merge 到一起组合成的一个 elf,这个 elf 文件直接转换成 bin 看起来不适用这种方法。

这个有点麻烦了,如果把工程导出到 keil/iar 然后去生成标准 hex 格式输出文件或者 bin 文件到是一种方法,但是需要额外的操作,不是很好的方法。

0 点赞
Vison_Zhang
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 250 sign-ins

Use below command to generate standard intel hex file instead of cypress hex file

Vison_Zhang_0-1685323021045.png

 

"C:\Program Files (x86)\Cypress\PSoC Creator\4.4\PSoC Creator\import\gnu\arm\5.4.1\bin\arm-none-eabi-objcopy"  -O ihex ".\CortexM0p\ARM_GCC_541\Debug\Design01.elf" ".\CortexM0p\ARM_GCC_541\Debug\Design01_intel_hex.hex"