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

PSoC™ 6 Forum Discussions

zhji_4006061
Level 3
Level 3
50 sign-ins First solution authored 10 questions asked

我们通过bootloader来实现OTA的时候, 升级的版本文件需要放在外部flash,后面会copy到内部flash。按照《PSoC 6 MCU Device Firmware Update Software Development Kit Guide 》文档,我们生成了cyacd2 文件。我们有两个问题:

1,是不是把这个文件存到外部flash,然后copy到内部flash,通过bootloader跳转到起始地址就可以了?

2,我们生成的cyacd2 文件很大,2M左右,能不能生成只包含code段的二进制文件?

0 Likes
1 Solution
ShipingW_81
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 replies posted

可以参考采取类似方式的参考代码 - ce220959-psoc-6-mcu-ble-bootloader-external-memory​​.

OTA过程中通过SMIF先将app1存储到外部flash,之后再拷贝至内部flash。

降低cyacd2文件大小,或许可以通过更换编译工具,以及选择release而不是debug模式生成烧录文件。

View solution in original post

7 Replies
ShipingW_81
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 replies posted

可以参考采取类似方式的参考代码 - ce220959-psoc-6-mcu-ble-bootloader-external-memory​​.

OTA过程中通过SMIF先将app1存储到外部flash,之后再拷贝至内部flash。

降低cyacd2文件大小,或许可以通过更换编译工具,以及选择release而不是debug模式生成烧录文件。

release模式下生成的烧录模式比debug下小多少呢?我改成release模式后,编译的一些属性要重新设置(头文件之类的)?

0 Likes

release模式下会对code进行优化,但没有确切的数字指示生成的文件小多少。

编译的一些属性要重新设置(头文件之类的)”,能否具体描述下?是报错还是其他提示?

0 Likes

在debug模式,编译时我们添加了头文件的路径;切换到release模式后,这些头文件要重新添加

0 Likes

这些头文件是加在什么地方的?如果是自定义的文件中加入头文件,一般是不会受编译模式影响的。

方便的话,附上你的工程看一下。

0 Likes

請教一下如何切换到release模式生成cyacd2文件呢?

我也遇到相似的問題,非常感謝

0 Likes

你需要用post build script。用cymcuelftool这个tool。

0 Likes