2893|3

732

帖子

3

TA的资源

版主

【LPC54100】在M4上跑RT-Thread,同时启动M0核一起运行 [复制链接]

本帖最后由 le062 于 2015-3-5 18:09 编辑

之前在M0核上跑了个事件驱动例子,但是在这个MCU上,M0核是不能单独运行的,需由M4启动。当时的调试效果如下:
m0.gif

根据计划,第二步是需要把rtt在M4核上跑起来,也就写个GPIO和UART驱动的事。结果打开RTT的bsp一看,里面居然有一个lpc5410x工程,这支持太神速了。
不过bsp里面是keil工程,个人喜欢iar,so建了个IAR工程,导入代码,编译OK。
IAR在调试时,很容易出现下载固件校验不通过的情况,这个怀疑是IAR只能暂停一个CPU,如果另外一个CPU还在访问Flash,会造成flash烧写出错。我的临时解决方法:先让另外一个cpu跑while(1);

LPC54100的ROM及RAM分配如下:
l.JPG
将M0工程中code地址设为0x20000, IRAM2分配给M0单独用,再将编译好的固件下载到0x20000的位置。
将M4工程中code地址设为0x00000, IRAM1分配给M4单独用,在rtt的一个线程中调用这个函数:
  1. void run_m0(void)
  2. {
  3.         unsigned int *jumpAddr, *stackAddr;               
  4.         
  5.         stackAddr = (uint32_t *) (*(uint32_t *) 0x20000);
  6.         jumpAddr = (uint32_t *) (*(uint32_t *) 0x20004);
  7.         Chip_CPU_CM0Boot(jumpAddr, stackAddr);
  8. }
复制代码
然后下载这个M4固件,运行,效果如下:
m4 m0.gif


全部代码:git.oschina.net/le062/LPCXpresso54102-leop


BTW:现在IAR的调试挺麻烦,准备离开IAR这个坑,后面换LPCXpresso来玩耍

此帖出自NXP MCU论坛

最新回复

楼主了解得很深呀,研究了不少 期待进一步分享   详情 回复 发表于 2021-7-28 16:05

赞赏

1

查看全部赞赏

个人签名

要666


回复
举报

2055

帖子

0

TA的资源

五彩晶圆(初级)

楼主应该是一个高手
此帖出自NXP MCU论坛

回复

3414

帖子

0

TA的资源

纯净的硅(高级)

楼主了解得很深呀,研究了不少
期待进一步分享
此帖出自NXP MCU论坛
个人签名

So TM what......?


回复

10

帖子

0

TA的资源

一粒金砂(中级)

楼主了解得很深呀,研究了不少
期待进一步分享
此帖出自NXP MCU论坛

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/10 下一条

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表