查看: 4855|回复: 1

[原创] 【LPC54114Bonus任务】基于LPC54114双核通信print指令解析

[复制链接]
  • TA的每日心情
    奋斗
    2025-8-9 22:20
  • 签到天数: 116 天

    连续签到: 1 天

    [LV.6]常住居民II

    10

    主题

    207

    帖子

    0

    高级会员

    Rank: 4

    积分
    762
    最后登录
    2025-8-9
    发表于 2017-8-3 23:15:14 | 显示全部楼层 |阅读模式
    新手不知道在哪里发这个活动的帖子,就直接发了。板子收到直接撸起来了,没有再做开箱。

    本次实验只增加了一个print指令,当然还能增加和优化更多,不过原理都是一样,如果有问题,希望各位小伙伴指出,共同进步。

    我参考的是hello world程序,先下载的是多核矩阵的那个例程,愣是编译不过,没再研究,压缩包名是erpc_matrix_multiply_cm4_erpc_matrix_multiply_cm0plus.zip

    唠唠差不多,下面开始前戏了。下载到例程,先开了启动文件,大概了解了一下,现在简单说明一下。希望对需要的伙伴有帮助。
    CPU0:
    1.通过CPU_ID[12:4]==0xC24和CPU_CTRL[0]==1判断CPU类型为主CPU;
    2.启动类型选择:主芯片正常启动进入main函数;
    3.主芯片外设相关初始化;
    4.判断CPU个数,对CPU1进行初始化;
    5.初始化CPU0的MAILBOX,设置CPU1启动地址,堆栈地址重启CPU1,等待CPU重启完成。

    CPU1:
    1.通过CPU_ID[12:4]==0xC24和CPU_CTRL[0]==1判断CPU类型为从CPU;
    2.检查启动程序地址是否设置,未设置策进入睡眠,设置了则初始化堆栈指针;
    3.跳转执行启动程序。
    4.初始化MAILBOX,获取启动数据,按启动数据延时;
    5.通知CPU0初始化完成。

    大概就是这样,默认配置是M4是主机,M0+是从机,详情如下:

    CPU Control register

    CPU Control register
    实验截图:
    实验结果.png

    每一句"Message from my_print"都是通过M4发送指令到M0+然后M0+解析运行后将结果返回给M4,M4通过debug串口打印出来。
    hello_world_cm4_hello_world_cm0plus.rar (627.5 KB, 下载次数: 8)
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-11-30 16:16
  • 签到天数: 206 天

    连续签到: 1 天

    [LV.7]常住居民III

    74

    主题

    2793

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    7909
    最后登录
    2025-4-11
    发表于 2017-8-4 09:39:41 | 显示全部楼层
    好,点个赞
    来根华子
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-10 12:09 , Processed in 0.083976 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表