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

cross mob
小丑哥子
Level 3
Level 3
First like received 10 replies posted 25 sign-ins
hi all 目前我在基于m0核开发bootloader软件,遇到一些问题,希望大家能帮忙解答一下,感谢。 目前我的软件在m0初始化时会设置code flash双bank模式,我在m0核上调用flash driver的erase时,nonblock模式 每次ipc send message后就进入hard fault。 目前m0核代码应该是运行在bank a。擦除地址为bank b中的某些sector0x12000000(基于0x10000000也加了0x2000000的偏移) 1、我想确认一下m0核是否可以支持flash driver在bank a上运行时,擦写bank b 2、flash driver需要放到sram中运行吗?sdl库中flash driver调用涉及ipc srom等模块,我想确认一下这些相关的模块是否全部需要在sram中运行
1 Solution
0 Likes
13 Replies
Jimmy_L
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 50 solutions authored

你好,

MCU上电后进入工作模式时flash是single bank的模式在工作的,所以这时调用dual bank的擦写会有问题。一般dual bank是用于OTA的时候,参考AN229058_Secured_firmware_over-the-air_(FOTA)_update_in_TRAVEO_T2G_MCU .

0 Likes

非常感谢您的回答

我还有疑惑,我在m0初始化的时候设置了code flash的寄存器为dualbank 这样设置不起作用吗?必须按照fota的例子 配置secured模式启动流程 还要配置sflash吗?

0 Likes
Jimmy_L
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 50 solutions authored

你好,

如果不需要secure模式,可以参考另外一份文档

https://myicp.infineon.com/sites/TRAVEODocumentation/Lists/defaultdoclib/Traveo%20II/Traveo%20II%20B...

如果您还不能访问MyICP,请参考https://www.infineon.com/cms/en/product/microcontroller/#!details

进行注册。

0 Likes

链接不存在 能否方便直接附件上传一下文件呢? 

 

F53B0C21-3F71-4832-93A5-45EC12DBECF7.png

0 Likes
Jimmy_L
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 50 solutions authored

你好,

文档并不是public的,您可能需要先注册MyICP,然后才能访问。

0 Likes

我注册了英飞凌账号,这个图片在这个需要怎么操作呢?企业微信截图_16847371513088.png

0 Likes
Jimmy_L
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 50 solutions authored

你好,

发邮件到这个邮箱,就说你需要开通Traveo II的myicp。会有人处理的。

0 Likes
Jimmy_L
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 50 solutions authored

你好,

不好意思,官网有更新,可以直接从官网获取

AN220242_Flash_Accessing_Procedure_for_Traveo_II_Family 

0 Likes

我参考了这个文档 irq0和irq1都配置了 但是还是hardfault

需要怎么排查呢?

我现在的板子上只有自己开发m0的BootLoader软件  codeflash 寄存器也配置了双bank,擦除的地址传的0x12000000 但是一调用擦除就报错1.jpg2.jpg3.jpg

0 Likes
Jimmy_L
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 50 solutions authored

你好,

我觉得可以先实现单独的功能后再来整合。

首先您可以先尝试下在single bank mode,调用SROM API来对flash进行操作看看会不会有问题,这部分可以参考代码\tviibh8m\src\examples\flash。

然后再参考AN220242的第4章的流程图和sample code来调试。

0 Likes

OK 非常感谢您的耐心回答 目前我发现问题原因了 demo代码擦写正常了

我还想再请教一下这个systemcall的这些api 机制是怎么样的呢?

1、比如m0自己调用了erase sector的api后ipc的通知发给谁了 flash controller吗?大概是什么原理

2、如果这些api均以nonblock模式 ,m0还能够处理其他task吗?

感谢

0 Likes
Jimmy_L
Moderator
Moderator
Moderator
250 replies posted 250 sign-ins 50 solutions authored

你好,

1. IPC的交互只在core之间进行,请参考TRM的第5章。

2. 关于block和nonblock的问题,论坛上有过相关的讨论,请参考

https://community.infineon.com/t5/TRAVEO-T2G/What-is-the-difference-between-flash-Non-blocking-and-B...

https://community.infineon.com/t5/TRAVEO-T2G/TraveoII-Non-Blocking-Flash-write/td-p/354355 

0 Likes

OK 谢谢

0 Likes