查看: 1432|回复: 5

[原创] 也谈LPC5500系列双核微处理器

[复制链接]
  • TA的每日心情
    开心
    2024-4-10 22:38
  • 签到天数: 1335 天

    [LV.10]以坛为家III

    88

    主题

    4292

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9049
    最后登录
    2024-4-13
    发表于 2020-10-30 09:00:03 | 显示全部楼层 |阅读模式
    也谈LPC5500系列双核微处理器

    “双核”的概念在笔者读大学本科时,英特尔推出了双核处理器才被知晓,而单片机还挣扎在MCS-51内核,多年后16位,32位单片机不断涌现与迭代,最近的LPC5500系列双核微处理器也让双核进入了MCU的领域。
    LPC5500系列双核微处理器是一个异构双核
    从LPC5500系列微处理器的框架图(如下图)可以看出,Core0拥有全部的硬件资源,而Core1仅拥有外设等资源。在今天这个“成本决定命运”的时代中,在专有领域中,在工业控制领域中,真“双核”的设计结果多少意义也不大。
    img01.png
    从datasheet中也可以了解到Core0拥有全部资源,而Core1并不拥有“此实例的配置不包括 MPU、 FPU、 DSP、 ETM 和 Trustzone”等资源。我将Core0称之为主核,而Core1更像是协处理器。两个内核在地址总线,主频,数据总线上是一致的,SRAM、Flash的访问也是相同的。这样即使是异构设计,也可以按同一个内核来开发,减少了开发人员学习成本。——不再需要多学一个内核嘛。
    LPC5500系列双核微处理器类似“双线程”实现
    LPC5500系列双核微处理器中,双核的SRAM共用地址线,Core0与Core1均可访问同一个变量,就像双线程中的全局变量一样,两个线程均可以修改同一个变量。这也就预示着我们在操作同一块地址空间时,必须处理,否则,各种意外的发生也就可以不情愿的看见了。
    LPC5500系列双核微处理器类似“双进程”实现
    进程的运行相较线程要“独立”的多,不同进程拥有各自的资源,如堆、栈、程序段“。LPC5500的Core0拥有程序段,Core1拥有另一个程序段。Core1的程序段是通过Fork()函数生成的,并紧跟着exec()函数。
    在官方推荐的设计中,Core0与Core1将使用不同的SRAM段,这样,各自的”堆“也就不同了。像不像”双进程“的资源分布。
    LPC5500系列双核微处理器类似“MMAP”实现
    双核之间的通讯使用中断机制,双核之间可以使用一块共同SRAM的地址区域,类似于Linux中的mmap()方法。这样,双核之间相互数据便可达到快速、高效的访问。
    LPC5500系列双核的软件架构设计的典型作法是将Core0用做数据处理、算法实现、业务逻辑等,而Core1作为外设操作、用户交互等低速、阻塞式处理。
    LPC55S69系列微处理器属于中端MCU产品线,其性能与特点在较多领域都能轻松应对。

    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    97

    主题

    836

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    3975
    最后登录
    2024-4-16
    发表于 2020-10-30 14:33:04 | 显示全部楼层
    在这之前NXP还有三核的LPC4370 产品 一个M4两个M0
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-10 22:38
  • 签到天数: 1335 天

    [LV.10]以坛为家III

    88

    主题

    4292

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9049
    最后登录
    2024-4-13
     楼主| 发表于 2020-10-30 15:59:17 | 显示全部楼层
    mgn 发表于 2020-10-30 14:33
    在这之前NXP还有三核的LPC4370 产品 一个M4两个M0

    像这种协处理器的架构方式,我就特别的喜欢。
    现在我们的设备,一颗大FPGA,一颗小Cortex-M3。
    在操作一些小传感器上面,方便极了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-2 08:40
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    97

    主题

    836

    帖子

    7

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    3975
    最后登录
    2024-4-16
    发表于 2020-10-30 16:06:50 | 显示全部楼层
    有个比较典型的应用就是 系统在做OTA的时候,一般Flash是不允许执行命令的,毕竟要操作Flash的写动作。

    这个时候双核的作用就大了,另外一个内核跑在RAM里或者另外一块Flash上,维护系统的基本功能。

    相当有用,也是个小小的应用痛点
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-10 22:38
  • 签到天数: 1335 天

    [LV.10]以坛为家III

    88

    主题

    4292

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9049
    最后登录
    2024-4-13
     楼主| 发表于 2020-10-30 17:52:34 | 显示全部楼层
    mgn 发表于 2020-10-30 16:06
    有个比较典型的应用就是 系统在做OTA的时候,一般Flash是不允许执行命令的,毕竟要操作Flash的写动作。

    这 ...

    学习了。
    这个典型应用收下了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    [LV.5]常住居民I

    3

    主题

    167

    帖子

    0

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    379
    最后登录
    2024-4-16
    发表于 2020-11-2 11:38:42 | 显示全部楼层
    总结的不错,顶一个
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-25 06:23 , Processed in 0.117015 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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