查看: 1546|回复: 1

[在线活动] 停工停课不停学资料翻译..4.LPC541xx双核快速上手向导(...

[复制链接]
  • TA的每日心情
    擦汗
    2021-7-5 15:45
  • 签到天数: 664 天

    [LV.9]以坛为家II

    42

    主题

    1594

    帖子

    19

    金牌会员

    Rank: 6Rank: 6

    积分
    5376
    最后登录
    2021-12-22
    发表于 2020-2-17 15:38:29 | 显示全部楼层 |阅读模式
    LPC54XX系列
    4.     LPC541xx双核快速上手向导(英文文档)
    LPC541xxLPC Cortex-M内的主流且省电的MCU子系列微控制器,集成了双核功能。 LPC54102LPC54114都具有这项特征。本应用笔记以LPC54114为例。
    LPC541xx双核入门指南 第一版 0180307
    AN12123.pdf-- LPC541xx dual core starting guide
    关键词:LPC541xx,LPC54102, LPC54114,双核
    1.介绍
    在LPCCortex-M 微控制器中,LPC541xx 是主流高能效的MCU 子系列,集成了双核功能。LPC54102 和LPC54114 均有双核功能,但存在差异。本应用笔记以 LPC54114 为例进行解释。
    LPC541xx 采用非对称双核机制,将 Cortex-M4F 和 Cortex-M0+ 集成。有关这些内核的详细规范,请参阅 ARM 中的以下文档:
    Cortex  M4 处理器技术手册http://developer.arm.com/docs/100166/latest/preface
    Cortex-M4 器件通用用户指南 http://developer.arm.com/docs/dui0553/latest/preface
    本应用说明首先简要介绍LPC541xx双核功能和实现,然后使用MCUXpresso IDE 和MCUXpresso SDK详述开发过程。
    2. 功能和实现
    2.1功能
    LPC541xx 双处理器核心功能包括:
    • ARM®Cortex®-M4 CPU o ARM Cortex-M4 处理器,运行频率高达 100 MHz
    o  浮点单元 (FPU)和内存保护单元 (MPU)
    o  ARM Cortex-M4 内置嵌套矢量中断控制器 (NVIC)
    o  所选源的不可屏蔽中断 (NMI)
    o  8 个断点和 4 个观察点的串行调试(SWD);包括增强调试用串行输出。
    o  系统滴答计时器
    • ARM®Cortex®-M0+ CPU
    o  ARM Cortex-M0+ 处理器,运行频率高达100 MHz(Cortex-M4 相同的时钟)。
    o  ARM Cortex-M0+ 内置嵌套矢量中断控制器 (NVIC)
    o  所选源的不可屏蔽中断 (NMI)
    o  四个断点和两个观察点的串行调试 (SWD)。
    o  系统滴答计时器
    2.2 实现
    Fig 1  LPC5410x框图
      Fig 2   LPC5411x框图
       LPC5410x LPC5411x 中,两个内核都作为主内核驻留AHB 总线,访问优先级可由用户应用程序进行配置,有关配置详细信息,参阅 LPC5410x LPC5411x 用户手册(第 4 章:系统配置)。
    两个内核均在同一时钟上运行,高达 100 MHz,所有 AHB/APB 从器件(如内存、计时器和其他外围设备)都可以同等访问或控制。SRAM分为多组,均可根据需要可独立打开和关闭其电源以节省电量,两个内核可同时访问不同的 SRAM 组,且不会发生争用。闪存块是共用的,所以其中一个内核(通常是子核M0)要在 SRAM 中运行代码。
    图 1 和图 2 中内核和内存之间的加亮显示了内核和存储的连接,LPC5410x 和 LPC5411x有不同的内存实现。LPC5410x的所有存储器(闪存和 SRAM)都连接到其 I 代码和 D 代码总线。对于 LPC5411x,仅闪存和 SRAMX 连接到 I 和 D 代码总线,其余内存使用系统总线。内存上的不同总线连接可能会导致不同的性能。因此,应谨慎分配资源以实现最佳; 参阅第 3 节。
    Cortex-M4 包含三个外部 AHB 总线接口:
    • 用于指令提取的 I 代码内存接口
    • 用于数据和调试访问的 D 代码内存接口
    • 用于指令提取、数据和调试访问的系统接口
    Cortex-M0+ 只有一个 AHB 主总线接口,该接口连接所有 AHB/APB 从站。详细的总线接口定义,参阅:Cortex M4 处理器技术参考手册和 Cortex-M0+ 技术参考手册。
    附加名词:总线架构
    AMBA (Advanced Microcontroller Bus Architecture) 高级处理器总线架构
    AHB (Advanced High-performance Bus) 高级高性能总线
    ASB (Advanced System Bus) 高级系统总线
    APB (Advanced Peripheral Bus) 高级外围总线
    AXI (Advanced eXtensible Interface) 高级可拓展接口
    此双核架构属不对称架构。两个内核分担不同角色。一个核是主核,另一个是从属核。默认情况下,Cortex-M4 在电源打开时担任主 CPU。主 CPU 可以禁用或重置从属内核,从属核不能。只有主 CPU 可以调用电源 API,使 MCU 进入低功耗模式。引导地址寄存器和初始堆栈指针地址寄存器可用于从 CPU。应用程序可以使用这些寄存器为从属 CPU 设置适当的启动和堆栈地址。详细信息参阅 LPC5410x 或 LPC5411x 用户手册(第 4 章的系统配置:双 CPU 相关寄存器)。
    核间通信通过邮箱机制实现,并支持中断。有硬件互斥体用于共享资源访问,来避免争用。详细信息参阅 LPC5410x 用户手册(第 27 章:邮箱)或 LPC5411x 用户手册(第 30 章:CPU 间邮箱)。
    3. 设计考虑
    要充分有效利用其功能,可开发双核应用,实现合理分工、高能效、任何用户定制的要求。
    3.1 应用程序任务划分
    Cortex-M4 和 Cortex-M0+ 具有不同的功能和指令集,适用于不同的应用程序和任务。Cortex-M串行内核之间的指令集和体系结构的比较图,参阅图 3。图 3  Cortex-M 指令集
    Cortex-M4 指令向下兼容 Cortex-M0+,并增强了高级数据处理和 DSP 指令。如果有集成FPU,如LPC541xxMCU,由Cortex-M4处理浮点算法。Cortex-M4具有丰富的指令集和哈佛总线架构,可实现高性能算法和数据处理。
    Cortex-M0+ 基于ARMv6-M 架构,集成基本的数据处理指令,指令管道短,适用于简单的I/O控制任务。
    3.2 资源分配
    两个内核资源分配的主要原则是确保高性能并行操作,没有争用。内存分配主要取决于任务
    分工。由于 LPC5411x MCUs 中只有一个闪存,因此其中一个内核应在 SRAM 中运行其代码和数据。SRAM 的大小相对较小。在大多数情况下,Cortex-M4是任务密集型核,闪存归它使用。
    对于LPC5411x,四个 SRAM (2.2)中, SRAMX 连接到 Cortex-M4 的D 代码和 I 代码总线,其他三个 SRAM 组(SRAM0、SRAM1 和 SRAM2)连接到系统总线,建议Cortex-M4用 SRAMX进行数据或代码存储。对于 Cortex-M0+,所有四个 SRAM 组是相同的,通过系统总线使用。 图4是图2的部分,略。
    在实际应用程序系统使用双核功能,应避免两个内核之间的资源访问争用。应用程序必须正确地将资源分配给内核。在数据共享(其中两个内核访问同一内存区域)时,可以使用硬件互斥体分时使用来避免争用。
    4. 开发过程
    本应用笔记使用LPC54114和MCUXpresso SDK来说明双核开发过程。MCUXpresso IDE是恩智浦MCU开发和调试工具,有免费版本可供用户下载和使用。MCUXpresso SDK 是恩智浦 MCU 系列的软件开发包,包括各种外设驱动程序、中间件(如 USB 堆栈、LWIP 和 FATFS)。SDK 可以是用户的良好起点。MCUXpresso SDK下载地址 http://mcuxpresso.nxp.com/en/welcome。MCUXPresso IDE 下载地址:http://www.nxp.com/products/developer-resources/run-time-software/mcuxpresso-software-and-tools/mcuxpresso-integrated-development-environment-ide-v10.0.2:MCUXpresso-IDE?&tid=vanMCUXPRESSO/IDE
    4.1 配置和下载 SDK  图略
    打开 MCUXpressSDK 网页后,用户应首先应注册并登录。
    1.    注册并登录。
    2.    建立新的LPC54114的SDK配置(可组合自己的需要),选择自己开发用的操作系统和开发环境(工具链), SDK Builder生产软件包(可在线保留自己的配置)
    3.    下载自己组配的LPC54114 SDK 。
    4.2 导入 SDK 项目
    现在LPC54114 SDK后,用户可以打开 MCUXpresso IDE 从 SDK 导入双核示例项目,开始开发。
    1. 安装 LPC54114 SDK
    打开 MCUXpresso IDE 并为工作区指定目录。拖放安装 LPC54114 SDK。
    2. 导入双核项目
    SDK 安装后,可以导入其中的双核历程项目。从"快速启动"面板,单击导入 SDK 示例...
    选择电路板型号:LPCXpresso54114 开发板,然后单击"下一步"。
    在multicore_examples中选择项目hello_world,然后单击"完成",就在工作区中导入了双核示例,在项目面板就可看到导入的多核示例主项目和从项目。
    4.3 配置多核项目
    双核开发需要两个项目,一个用于主项目用于M4,另一个用于从属项目用于M0。
    lpcxpresso54114_multicore_examples_hello_world_cm0plus是 Cortex-M0+ 的从属项目。
    lpcxpresso54114_multicore_examples_hello_world_cm4是 Cortex-M4 的主项目。
    • 主项目设置
    有关主项目的项目设置,请参阅图 21。(图 21略)它诊断LPC54114的Cortex-M4核。指定闪存存储代码,SRAM0(或Ram0_64)为默认数据内存。其他 SRAM视需要在主项目的多核选项设置指定用途。
    通常SRAM1(或Ram1_90)设置分配给从属项目,用于 Cortex-M0+ 项目代码和数据分配,具体在从属项目设置。
    • 从属项目设置
    Cortex-M0+ 从属项目设置参阅图 23。SRAM1(或Ram1_90)是代码和数据分配的默认内存空间,与主项目的多核选项设置一致。应指定其他 SRAM以进行特定数据或代码分配。这些SRAM在两个项目之间共享,应注意避免访问争用。如果设计不良,两个内核尝试同时访问同一个 RAM 库,则进行仲裁,保证只有一个核可以在给定时间获得访问权限,另一个核只能等待访问。
    4.4 调试多核项目
    1. 编译项目
    单击以选择主项目 lpcxpresso54114_multicore_examples_hello_world_cm4,然后编译它生成映像文件。
    从属项目是与主项目相关联的。因此,将被首先编译,然后其映像做为数据接到主映像文件中。图 25 是从属项目的编译统计信息。文本节大小为 6746 字节,将作为分配给 SRAM1(或Ram1_90)的数据节被合并到主项目映像文件中(运行初始化时M4将把它们复制到SRAM1的指定地址用于被M0+执行)。
    2. 调试项目
    使用 USB 电缆通过调试接口 J7 将 LPCXpresso54114 板连接到主机 PC。选择主项目lpcxpresso54114_multicore_examples_hello_world_cm4并单击调试命令。LPC-Link2 调试器会被自动发现使用。单击"确定"继续。
    程序将在main()函数的第一个语句处暂停。
    在选择从属项目并开始调试,将检测到 Cortex-M0+ 内核。单击"确定"继续。
    此时两个内核都处于调试状态。但主内核还未初始化Contex -M0+ 子核的引导地址和初始堆栈,因此此时Contex -M0+子核处于睡眠状态。
    在主项目中调用引导子核的函数MCMGR_StartCore() 时,它将初始化子核的引导地址和初始堆栈,然后重置子核(即 M0+ 内核)才真正启动子核。
    此时,子核将从初始化的SRAM1指定引导地址开始执行,这地址放置的是lpcxpresso54114_multicore_examples_hello_world_cm0plus的映像。从属项目在自己的main()函数的第一个语句处暂停。
    继续或单步运行即进行示例项目调试。项目详细说明可在 readme 文件中找到;参见图34
    5. 结论
    本应用笔记介绍了非对称双核的基本概念及其在LPC541xx系列MCU中的实现,使用 MCUXpresso IDE 和 SDK 示例说明了基本过程,用户可以此为基础设计双核应用程序。
    AN12123.pdf中文翻译 AN12123pdfLPC541xx双核入门指南 第一版 0180307.rar (1.16 MB, 下载次数: 8)
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2 小时前
  • 签到天数: 145 天

    [LV.7]常住居民III

    10

    主题

    384

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    1261
    最后登录
    2024-4-19
    发表于 2021-8-1 10:31:57 | 显示全部楼层
    赞赞赞赞赞。。。。
    加油加油
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-19 18:37 , Processed in 0.117812 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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