查看: 4032|回复: 4

[已解决] LPC54114 双核疑问

[复制链接]
  • TA的每日心情
    郁闷
    2018-2-7 18:18
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    13

    主题

    126

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    1628
    最后登录
    2021-7-13
    发表于 2017-7-1 10:11:52 | 显示全部楼层 |阅读模式
    能否从M0核的程序调用M4核的函数?如果能调用,这样会有什么问题?

    最佳答案

    本帖最后由 okwh 于 2017-7-1 12:22 编辑 当然可以调用,如果精通 把函数放在确定的地址(使用函数指针调用),m0和m4都可以去调用(保证好合适的堆栈传递进去参数、局部变量合适放置、退回时嫩能退回到合适位置)。 ...
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-7-5 15:45
  • 签到天数: 664 天

    连续签到: 1 天

    [LV.9]以坛为家II

    42

    主题

    1594

    帖子

    19

    金牌会员

    Rank: 6Rank: 6

    积分
    5618
    最后登录
    2021-12-22
    发表于 2017-7-1 12:12:34 | 显示全部楼层
    本帖最后由 okwh 于 2017-7-1 12:22 编辑

    当然可以调用,如果精通 把函数放在确定的地址(使用函数指针调用),m0和m4都可以去调用(保证好合适的堆栈传递进去参数、局部变量合适放置、退回时嫩能退回到合适位置)。但因为嵌入机没有避免冲突的机制,如果碰到两个同时调用时,会降低嵌入机工作效率。
    简单机制的这样调用,用处不大,也不划算。完全机制则复杂到个人很难完成,(比如PC上DLL库的工作机制)。
    所以通常是采用各自代码独占,传递数据的方式,而不共用函数。 共用函数的好处只是节省空间,坏处却可能是恰好没坏处、效率降低、并发冲突等问题。

    不知道你的需求场景是什么? 通常避免这样使用,通常能用别的办法都不用运行时共用函数代码! 真要使用,简单情况下,建立自己的分时使用标志(信号灯、自旋锁什么的用于保护代码区,目前M0M4用与数据保护)以避免可能的争用和并发冲突。(调用的进出可能需要汇编编程能力)
    目前的设计通常都是代码各自在各自的空间运行, 数据通过通讯机制传送(这要容易的多,运行时代码共用的需求几乎没有,通常的各种多核其实都设法避开直接代码共用,都是用其他方法到达目的目标)。

    该会员没有填写今日想说内容.
    回复 支持 2 反对 0

    使用道具 举报

  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    连续签到: 1 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    9281
    最后登录
    2022-5-12
    发表于 2017-7-1 12:04:04 | 显示全部楼层
    能不能 让双核共享函数指针地址,
    好好
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-7-5 15:45
  • 签到天数: 664 天

    连续签到: 1 天

    [LV.9]以坛为家II

    42

    主题

    1594

    帖子

    19

    金牌会员

    Rank: 6Rank: 6

    积分
    5618
    最后登录
    2021-12-22
    发表于 2017-7-8 16:14:44 | 显示全部楼层
    小马哥-1650185 发表于 2017-7-1 12:04
    能不能 让双核共享函数指针地址,

    可以共享。 但是通常我们的函数都是和上下文有关的。
    知道函数指针还不够,需要仔细调试检查,调用结束是否正确返回(比如那些没有输入输出的函数就简单些)。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.7]常住居民III

    74

    主题

    2793

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    7879
    最后登录
    2025-4-11
    发表于 2017-7-10 09:25:29 | 显示全部楼层
    okwh 发表于 2017-7-1 12:12
    当然可以调用,如果精通 把函数放在确定的地址(使用函数指针调用),m0和m4都可以去调用(保证好合适的堆栈 ...

    学习了
    来根华子
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-21 06:37 , Processed in 0.096072 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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