This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM263P4:Cortex-R5F 处理器引导

Guru**** 2393725 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1513186/am263p4-cortex-r5f-processor-boot

器件型号:AM263P4

工具/软件:

您好、

我在 AMDS 网站上阅读了有关 ARM cortex r5f boot 指令的信息、并发现这些是运行应用程序之前所需的配置步骤:

  1. 用于异常处理的程序向量表库
  2. 针对各种模式(IRQ、FIQ、监控器、未定义、中止、 系统)
  3. 禁用指令缓存、数据缓存和 MPU
  4. 使指令和数据缓存失效
  5. 使用短描述符转换表格式和转换表的程序基地址配置 MPU
  6. 启用数据缓存、指令缓存和 MPU
  7. 使能浮点单元
  8. 将控制权转移到_start、从而清除 BSS 段并跳转到主应用程序

我想知道 AM263Px 控制卡上发生这种情况的位置、以及我在哪里可以看到/修改这些步骤?

在此处阅读来自 TI 的引导 流程说明 AM26x 器件中的 ROM 引导流程 我阅读:"根据顶层引导流程、M4内核首先引导到作为安全子系统一部分的系统中。 M4内核负责引导 R5FSS0-0内核以执行公共 ROM。" 因此、我很好奇、cortex r5f 引导指令是否会被使用 AM263Px 控制卡的开发人员控制?

感谢您的帮助、我不熟悉 嵌入式工作

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Olivier、

    [报价 userid="652067" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1513186/am263p4-cortex-r5f-processor-boot

    在 AMDS 网站上阅读了有关 ARM cortex r5f boot 指令的信息、发现这些是运行应用程序之前所需的配置步骤:

    1. 用于异常处理的程序向量表库
    2. 针对各种模式(IRQ、FIQ、监控器、未定义、中止、 系统)
    3. 禁用指令缓存、数据缓存和 MPU
    4. 使指令和数据缓存失效
    5. 使用短描述符转换表格式和转换表的程序基地址配置 MPU
    6. 启用数据缓存、指令缓存和 MPU
    7. 使能浮点单元
    8. 将控制权转移到_start、从而清除 BSS 段并跳转到主应用程序

    [/报价]

    是的、这是正确的、即使对于 AMR r%F SoC、我们也会做相同的工作。 但对于微控制器、这将是我们所调用函数在 main 之前发生的一部分。

    我在网上找到了一篇很好的文章: 链接

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [报价 userid="652067" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1513186/am263p4-cortex-r5f-processor-boot

    在此处阅读来自 TI 的引导 流程说明 AM26x 器件中的 ROM 引导流程 我阅读:"根据顶层引导流程、M4内核首先引导到作为安全子系统一部分的系统中。 M4内核负责引导 R5FSS0-0内核以执行公共 ROM。" 因此、我很好奇、cortex r5f 引导指令是否会被使用 AM263Px 控制卡的开发人员控制?

    感谢您的帮助、我不熟悉 嵌入式工作

    [/报价]

    因此、对于使用 TI ARM CLANG 编译的 C 代码的器件上的启动流程:

    C 程序的入口点是 cint_00: https://software-dl.ti.com/codegen/docs/tiarmclang/compiler_tools_user_guide/compiler_manual/runtime_environment/system-initialization-stdz0543503.html

    然后在 SDK 中、我们将 R5f INIT 位于文件::t 的 cint00函数内 i/mcu_plus_sdk_am261x_10_00_01_10/source/kernel/nortos/dl/r5/boot_armv7r_asm.S

    您可以在代码片段中看到、您提到的序列类似于在 cint00中执行的操作。 您可以浏览位于同一文件夹中的一组文件、了解 R5F 的整个引导流程和初始化序列

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的帮助。

    因此、cint_00入口点是_start 与下面列出的所有其他 r5f 配置步骤的组合?

    1. 用于异常处理的程序向量表库
    2. 针对各种模式(IRQ、FIQ、监控器、未定义、中止、 系统)
    3. 禁用指令缓存、数据缓存和 MPU
    4. 使指令和数据缓存失效
    5. 使用短描述符转换表格式和转换表的程序基地址配置 MPU
    6. 启用数据缓存、指令缓存和 MPU
    7. 使能浮点单元
    8. 将控制权转移到_start、从而清除 BSS 段并跳转到主应用程序
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    因此、cint_00入口点是_start 与下面列出的所有其他 r5f 配置步骤的组合?

    是的、正确、这是启动代码。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在刷写 SBL 时、这是我们刷写到电路板中的一部分吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是、这是 SBL 代码的一部分。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    "部分 SBL 代码"是否表示它是从 SBL 主函数调用的?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    它将被调用 解决方案 主要 、当我说是 SBL 代码的一部分时、它基本上包含了相同的 sbl.tiimage 文件

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    明白了。 谢谢你,我感谢所有的信息!