公司买到了一批Silicon Revision 0的芯片,结果发现只烧M3-Flash单核程序,能正常运行;烧了M3-Flash-Standalone双核程序,两个核就都不启动了。
估计是芯片版本太低,IPC部分不兼容了,但是查F28M35x Silicon Errata文档实在又查不出个所以然来。。。
我把芯片照片、原理图、程序传上来,求大神解惑!
谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
公司买到了一批Silicon Revision 0的芯片,结果发现只烧M3-Flash单核程序,能正常运行;烧了M3-Flash-Standalone双核程序,两个核就都不启动了。
估计是芯片版本太低,IPC部分不兼容了,但是查F28M35x Silicon Errata文档实在又查不出个所以然来。。。
我把芯片照片、原理图、程序传上来,求大神解惑!
谢谢
你要在M3的main入口做一个GPIO口的翻转,看M3启动了没。
我看了你的原理图,你把GPIO47拉低了,原理上是没办法呢跑到flash的,也即使没办法跑到main。
M3的GPIO35,GPIO43,GPIO47都要上拉。
另外C28x的启动引导是M3在启动后,初始化完通过IPC指令启动的。
// Send boot command to allow the C28 application to begin execution
IPCMtoCBootControlSystem(CBROM_MTOC_BOOTMODE_BOOT_FROM_FLASH);
C:\ti\controlSUITE\device_support\f28m35x\v207\F28M35x_examples_Dual\blinky
ERIC
@Zhanchao Wang!
从你的芯片照片来看,首先可以肯定的是:你也中招了,你不用去试:
// Send boot command to allow the C28 application to begin execution
IPCMtoCBootControlSystem(CBROM_MTOC_BOOTMODE_BOOT_FROM_FLASH);
C:\ti\controlSUITE\device_support\f28m35x\v207\F28M35x_examples_Dual\blinky
因为多半不行! 或者可能现在是可以,说不上那天它又不行了。Why?因为这样的事情就发生在我身上,而且是现在正在发生!
请听我道来:
去年一个研发项目中我选用28M35,前后样机做了差不多20套。芯片分前后两次各买了10pcs,其中第二次就是买的前缀为X的,调试过程中,不带X的工作都正常,而前缀为X时好时坏,让人摸不着头脑。最后查看sprz357k--F28M35 Silicon Errata ,才知道是工程样片,不是正式产品,有些功能是有问题的,而我要用的双核之间的MSG RAM IPC通讯,在Errata中就明确说明有问题。这个问题前后折腾我很长时间,去年底采用各种办法去试,觉得弄好了,但前不久拿出来准备做型式试验,却发现又不行了,双核竟然启动都启动不了。所以最近不得不拆卸,替换。
附件是我采购的两种芯片的照片,和Errata!
多么痛的领悟啊!从这件事情得到教训:一定要擦亮眼睛,保证采购渠道,要不然出现问题,找不到原因。关键是是打击你的信心。
就当是教训吧!
FYI!
Eric Ma,不是GPIO47的问题,因为单核M3程序是能启动的,这种配置好像是BOOT模式5,Default to Flash。
问题是双核的程序不启动,我的M3程序在Flash-Standalone中是有启动语句Start_C28Core()的,但是两个核都不启动!
// Send boot command to allow the C28 application to begin execution
IPCMtoCBootControlSystem(CBROM_MTOC_BOOTMODE_BOOT_FROM_FLASH);
我们放弃了,这批芯片太老了,Silicon 0版本的,Errata文档中也提到这一版芯片跟其它版本差异较大,用着实在费劲!