psoc6,在M0中设置好XIP模式后,再跳转到M4中,M4可以直接运行于XIP模式吗?

公告

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

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

cross mob
zhji_4666456
Level 1
Level 1
First question asked First reply posted Welcome!

你好!

    针对XIP模式,有几个疑问,麻烦解答一下,谢谢!

   项目会扩展一颗外部FLASH,用于运行程序,同时该项目也需要DFU功能,在这些条件下,我的问题是:

   第一:基于DFU情况下,APP0运行于内部FLASH,APP1的M0运行于内部FLASH,APP1的M4全部运行于外部FLASH,那我在APP1 的M0设置XIP模式,设置完成后,再从M0跳转到M4的外部地址,M4可以正常执行吗,如果可行,那SMIF的中断应该配置在M0还是M4?

   第二:基于DFU情况下,APP0运行于内部FLASH,APP1全部运行于外部FLASH,那我在APP0 设置XIP模式,设置完成后,再从APP0跳转到APP1的外部地址,APP1可以正常执行吗,如果可行,那SMIF的中断应该配置在M0还是M4?APP1完全运行在外部FLASH时,涉及到M0,M4都会执行XIP 模式,这种竞争是否有机制可以仲裁?

第三:如果上面的两种情况不可行,那在基于DFU情况下,只能APP0,APP1 M0全部在内部,而APP1的M4部分在内部,部分在外部;针对这种情况,M4的链接文件dfu_cm4.ld该如何修改,请提供模板

第四:无论上面的哪种情况,在使用dfuh-tool.exe 工具下载时,针对外部FLASH的下载,有什么模板吗?

0 点赞
1 解答
ShipingW_81
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 replies posted

理论上第一种情况是可行的,APP1由内部flash运行的cm0开启XIP模式,跳转到外部flash cm4的代码开始执行,关于操作的细节,link文件的设置我会进一步确认。

另外,关于对外部flash的烧录,可以参考code example中的处理 (添加TOC2代码段)- https://www.cypress.com/documentation/code-examples/ce224285-psoc-6-mcu-external-flash-access-xip-mo...

在原帖中查看解决方案

2 回复数
ShipingW_81
Moderator
Moderator
Moderator
500 replies posted 250 solutions authored 250 replies posted

理论上第一种情况是可行的,APP1由内部flash运行的cm0开启XIP模式,跳转到外部flash cm4的代码开始执行,关于操作的细节,link文件的设置我会进一步确认。

另外,关于对外部flash的烧录,可以参考code example中的处理 (添加TOC2代码段)- https://www.cypress.com/documentation/code-examples/ce224285-psoc-6-mcu-external-flash-access-xip-mo...

谢谢,期待进一步关于操作细节的解答,我先尝试外部FLASH的烧录!

0 点赞