查看: 5252|回复: 7

[原创] 【LPC54114双核任务二】双核实现内存共享

[复制链接]
  • TA的每日心情
    开心
    2021-4-13 21:11
  • 签到天数: 550 天

    连续签到: 1 天

    [LV.9]以坛为家II

    14

    主题

    1049

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    2417
    最后登录
    2022-6-16
    发表于 2017-7-31 11:25:52 | 显示全部楼层 |阅读模式
    本帖最后由 踏平幼稚园 于 2017-7-31 11:26 编辑

    功能描述
        1.M4负责串口数据收发,接收到的数据经M0添加长度信息后倒序输出;
        2.M4/M0通过共享内存方式实现数据共享;
        3.M4/M0通过MAILBOX实现消息传递;
        4.共享内存通过Mutex实现互斥操作;

    缓冲区说明
        1.M4-接收缓冲区:接收串口数据,并添加到共享-串口接收区中
        2.M4-发送缓冲区:取出共享-串口发送区内容,并发送串口数据
        3.共享-串口接收区:环形存储M4-接收缓冲区内容,由M0取出
        4.共享-串口发送区:环形存储M0-发送缓冲区内容,由M4取出
        5.M0-接收缓冲区:取出共享-串口接收区内容,并被M0处理
        6.M0-接收缓冲区:存储M0处理结果,并添加到共享-串口发送区中

    流程图
        2.png

    串口显示
        1.png


    代码: m4_m0 memory share.zip (5.53 KB, 下载次数: 29)
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2018-7-31 08:40
  • 签到天数: 43 天

    连续签到: 1 天

    [LV.5]常住居民I

    299

    主题

    876

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    14836
    最后登录
    2020-3-1
    发表于 2017-8-22 09:22:35 | 显示全部楼层
    遗落了,不好意思呀~名字竟然是这个~
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2018-2-28 16:09
  • 签到天数: 65 天

    连续签到: 1 天

    [LV.6]常住居民II

    8

    主题

    238

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    488
    最后登录
    2019-9-18
    发表于 2017-8-22 11:47:25 | 显示全部楼层
    doatello 发表于 2017-8-22 09:22
    遗落了,不好意思呀~名字竟然是这个~

    这个不是bonus的...
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2018-2-28 16:09
  • 签到天数: 65 天

    连续签到: 1 天

    [LV.6]常住居民II

    8

    主题

    238

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    488
    最后登录
    2019-9-18
    发表于 2017-8-22 11:49:29 | 显示全部楼层
    代码学习一个!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2018-2-28 16:09
  • 签到天数: 65 天

    连续签到: 1 天

    [LV.6]常住居民II

    8

    主题

    238

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    488
    最后登录
    2019-9-18
    发表于 2017-8-22 11:56:22 | 显示全部楼层
    能否告知下typedef struct
    {
      uint32_t off;
      uint32_t deal;
      uint32_t len;
      uint32_t data_ov;
      uint8_t buf[0x100 - 16];
    }usart_buff_t; 几个成员的意思,谢谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-7-31 08:40
  • 签到天数: 43 天

    连续签到: 1 天

    [LV.5]常住居民I

    299

    主题

    876

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    14836
    最后登录
    2020-3-1
    发表于 2017-8-22 14:51:58 | 显示全部楼层
    gujiamao 发表于 2017-8-22 11:47
    这个不是bonus的...

    人家标题没起好
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-4-13 21:11
  • 签到天数: 550 天

    连续签到: 1 天

    [LV.9]以坛为家II

    14

    主题

    1049

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    2417
    最后登录
    2022-6-16
     楼主| 发表于 2017-8-22 22:46:31 | 显示全部楼层
    本帖最后由 踏平幼稚园 于 2017-8-22 22:52 编辑
    gujiamao 发表于 2017-8-22 11:56
    能否告知下typedef struct
    {
      uint32_t off;

    off是写入缓冲区的数据末尾偏移量,达到缓冲区末尾后回到缓冲区起始位置继续写入
    deal是已经被读出的数据偏移,deal循环读出直到遇到off为止
    len是缓冲区总长度
    data_ov是缓冲区溢出累计次数,当off超过deal时发生溢出,这里直接做了覆盖及错误计数处理
    buff是存储缓冲数据的缓冲区
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2018-2-28 16:09
  • 签到天数: 65 天

    连续签到: 1 天

    [LV.6]常住居民II

    8

    主题

    238

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    488
    最后登录
    2019-9-18
    发表于 2017-8-23 10:40:32 | 显示全部楼层
    踏平幼稚园 发表于 2017-8-22 22:46
    off是写入缓冲区的数据末尾偏移量,达到缓冲区末尾后回到缓冲区起始位置继续写入
    deal是已经被读出的数据 ...

    好的,谢谢!
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-8-18 19:36 , Processed in 0.163631 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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