- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Creator 生成 PSoC4 工程的 HEX 文件使用的是自带的 CyElfTool.exe 工具,为 90300000~90600000 地址生成信息也是这个工具的固化逻辑的一部分,这一点不好修改。
不过你可以参考下面链接的帖子,采用加入 postbuild 指令的方式让 Creator 生成 HEX 文件的同时也生成对应的 bin 文件。bin 文件的格式就简单多了,只保留 data 信息,多余的格式信息一概被删除。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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"
是否还有其他方式呢?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
bin 文件转换失败的原因和 HEX 文件中包含额外信息无关,应该是 elf 文件是 bootlodable elf 文件的原因,这种转换方式只适用于普通 project, bootlodable 的 elf 文件是 boot 和 app 两个工程的 elf 文件 merge 到一起组合成的一个 elf,这个 elf 文件直接转换成 bin 看起来不适用这种方法。
这个有点麻烦了,如果把工程导出到 keil/iar 然后去生成标准 hex 格式输出文件或者 bin 文件到是一种方法,但是需要额外的操作,不是很好的方法。