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.

[参考译文] MSP432E401Y:MSP432自定义引导加载程序

Guru**** 2587365 points
Other Parts Discussed in Thread: MSP432E401Y

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1436533/msp432e401y-msp432-custom-bootloader

器件型号:MSP432E401Y

工具与软件:

团队成员、您好!

我们需要为 MSP432E401Y 实现自定义引导加载程序、该引导加载程序应通过微控制器和 FPGA 的以太网刷写固件(通过 SPI 连接到 uC 在我们的定制电路板中)。

我参考了 Resource Explorer 中的一些示例、其中使用汇编语言(BL_STARTUP_CSS.s)实现了它。

作为引导加载程序开发的初学者、我不确定从哪里开始。

请回答我的以下问题:

1.对于 FPGA、有 Lattice 提供的驱动程序是用嵌入式 C 语言编写的。所以我认为我必须将汇编语言代码修改为 C 语言。我的理解对吗? 或者是否有其他方法可以继续?

2.在现有的引导加载程序代码中、BOOTP 请求从微控制器发送、PC 工具应回复该请求。 如果有回复、则更新处理程序将更新从 PC 工具发送的固件映像。 如果我错了、请更正我。

提前感谢。

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

    您好!

    Unknown 说:
    我参考了 Resource Explorer 中的一些示例、其中使用汇编语言(bl_startup_css.s)实现了该示例。

    bl_start_ccs.s 文件是一个启动文件、取决于 bl_config.h 文件中的配置、它将从指定的串行端口(例如以太网、UART、SPI 或其他端口)引导和加载您的固件。 请参阅 bl_startup_ccs.s 文件中的以下代码片段。 如果在 bl_config.h 文件中定义 ENET_ENABLE_UPDATE、则启动文件将跳转到 UpdateBOOTP 函数。 UpdateBOOTP 函数位于 bl_emac.c 文件中。  您可以查看 bl_emac.c 文件以了解固件如何编程到闪存中。  

    [报价用户 id="577647" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1436533/msp432e401y-msp432-custom-bootloader "]

    1.对于 FPGA、有 Lattice 提供的驱动程序是用嵌入式 C 语言编写的。所以我认为我必须将汇编语言代码修改为 C 语言。我的理解对吗? 或者是否有其他方法可以继续?

    [报价]

    您的 FPGA 的作用是什么? 是尝试将固件更新到内部闪存还是外部 FPGA? 我不建议您将已经过证明可以正常工作的 bl_startup_ccs.s 转换为 C。为什么不在 bl_startup_ccs.s 文件中添加一个函数调用来完成您想用 FPGA 做的任何事情呢? 请查看 bl_config.h、在这里您可以使用#define BLXXX_FN_HOOK 来定义和插入您的自定义函数。

    在采取任何行动之前、我建议您按原样运行 EMAC 引导加载程序示例。 在添加新功能之前、请确保它能够正常工作。  

    Unknown 说:
    2. 在现有的引导加载程序代码中、BOOTP 请求从微控制器发送、PC 工具应回复该请求。 如果有回复、则更新处理程序将更新从 PC 工具发送的固件映像。 如果我错了、请更正我。

    您的理解是正确的。