查看: 1185|回复: 0

LPC54114双核间通讯实验

[复制链接]

该用户从未签到

发表于 2018-3-26 10:07:42 | 显示全部楼层 |阅读模式
分享到:
非常庆幸在爱板网上申请到了万利基于NXP的LPC54114芯片的开发板,板子资源挺丰富的。
不过之前调试器挂了,好不容易新买的jlink终于到了,终于可以开玩了。
一直对多核异构的片子比较感兴趣,于是便从双核通讯的例子上手实验吧。
实验步骤如下:
首先下载官方的sdk包lpc5411x_xpresso54114_keil_iar_v3.01.000.zip
解压后进入目录lpc5411x_xpresso54114_keil_iar_v3.01.000\lpc5411x\prj_xpresso54114\keil,如下图

开工程examples_multicore.uvmpw

依次激活并编译哥哥lib工程
因为m4工程需要依赖m0的代码执行数据,并在启动时将m0的代码加载到内存,所以需要先编译m0的工程,
打开m0工程的选项修改代码和指令的地址如下图

然后在m0工程的user tab下添加如下command
$K\ARM\ARMCC\bin\fromelf.exe --bincombined --bincombined_base=0x20000000 --output=$Lcore1_image.bin !L

然后编译m0工程,这时我们能得到core1_image.bin文件

将core1_image.bin拷贝到lpc5411x\examples_5411x\multicore_m4master_blinky\src目录下
并在该目录添加inbin.s文件并添加到m4工程


为m4工程添加宏M0_IMAGE_IN_RAM

修改m4master_blinky.c的M0栈地址宏为#define M0_BOOT_STACKADDR           0x20000000

修改M4工程的地址配置如下:

然后编译m4工程并进入仿真模式,这时在m4的邮箱中断中打上断点并全速运行,就可触发断点,表示M4核收到了M0核的通讯请求

以上步骤可以让双核通讯跑起来,但没有明显的效果,而官方工程的效果是两个灯交替闪烁,所以还需要将工程的LED
改配置成万利板子的LED定义


然后依次编译库和m4工程,下载到板子后运行即可发现LD4和LD5两颗灯交替闪烁
先写到这儿了,以后有时间再来完善原理分析了。。。。。
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /4 下一条

手机版|小黑屋|与非网

GMT+8, 2024-11-19 12:22 , Processed in 0.119195 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.