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.

[参考译文] MSP430F4784:创建定制 BSL

Guru**** 2513185 points
Other Parts Discussed in Thread: MSPBSL

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/936789/msp430f4784-creating-a-custom-bsl

器件型号:MSP430F4784
主题中讨论的其他器件:MSPBSL

大家好、

我有一些关于“创建 Cusom BSL”的问题。 客户似乎在研究 MSP430的定制 BSL。 客户参阅本文档(https://www.ti.com/lit/an/slaa450g/slaa450g.pdf)和 MSPBSL_CustomBSL430 1_01_00_01 (https://www.ti.com/tool/MSPBSL)。

第1.2节:器件启动顺序

关于从"将 PC 设置为 addr @0x17F2"到"BSL 保护函数在 R12中返回0x02?"的操作、客户了解如何根据 R12的值切换要执行的代码。 此外、客户了解其行为与判断为0x17F4和0x17F6时的行为相同。 是这样吗?

BSL430_Low_level_Init.asm

关于上述"图1. 器件启动序列"、客户想了解"将 PC 设置为 addr @ 0x17FA (BSL 运行"是什么意思。 因为以下描述是在"0x17FA"中定义的。 这意味着、代码从0x1000开始。 是这样吗?

> BslEntryLoc    .word      BSL_Entry_JMP

因此  、执行"JMP C_Branch"。 之后、在 BSL430_Command_Interpreter.c 文件中执行 main (void)。 是这样吗?  

 

BSL_Entry_JMP JMP C_Branch ; BSL 进入区域
JMP BSL_ACTION0
JMP $ ;BSL_Action1未使用
JMP $ ;BSL_Action2未使用
JMP $ ;BSL_Action3未使用
的 C_Branch BR #_c_int00 ;BSL_Action4未使用 

4.关于上述" JMP  BSL_ACTION0"、代码何时执行?

5.关于这些汇编代码,您是否会与客户共享有用的文档/URL? 客户正在寻找、但他们无法找到。

6、特别是客户正在寻找"RETA"命令的参考手册。 尽管他们已经检查了"MSP430汇编语言工具"文档(https://www.ti.com/lit/ug/slau131v/slau131v.pdf),但没有任何相关说明。您能澄清一下吗,请吗?

 

此致、

宫崎

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

    为了清楚起见、客户应参阅2xx 闪存系列 BSL 文档和相关代码、因为 F4xx BSL 与2xx 闪存系列相关、而不是5xx/6xx。 Reta 与 CPUvX2 (F5xx/F6xx 和 FRAM 系列上的20位寻址)相关。

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

    你好,宫崎

    我回答第一个问题如下:

    问题1. 第1.2节器件启动序列

    关于从"将 PC 设置为 addr @0x17F2"到"BSL 保护函数在 R12中返回0x02?"的操作、客户了解如何根据 R12的值切换要执行的代码。 此外、客户了解其行为与判断为0x17F4和0x17F6时的行为相同。 是这样吗?

    解答1:

    根据 R12的值切换代码。  

    判断点为0xC35A@0x17F6和0x3CA5 @0x17F4。

    0x17F6:BSL 解锁签名1。 该字应设置为0xC35A、以指示正确编程的 BSL。 如果写入任何其他值、BSL 将不会启动。
    0x17F4:BSL 解锁签名2。 该字应设置为0x3CA5以指示正确编程的 BSL。 如果写入任何其他值、BSL 将不会启动。

    谢谢!

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

    您好、Xiaodong、

    感谢您对第一个问题的澄清。

    关于#6,我注意到 TI 发布了“CPUx”文档(https://www.ti.com/lit/ug/slau391f/slau391f.pdf)。 本文档针对的是 F5xx/F6xx、如上面提到的 zrno。 不过、这说明了 RETA 指令。 因此、我将与客户分享此信息

    关于#2-#5,我不熟悉汇编代码… 如果您能与专家分享他们的意见,我们将不胜感激。

    此致、

    宫崎

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

    你好,宫崎

    >>关于#6,我注意到 TI 发布了“CPUx”文档(https://www.ti.com/lit/ug/slau391f/slau391f.pdf)。 本文档针对的是 F5xx/F6xx、如上面提到的 zrno。 不过、这说明了 RETA 指令。 因此、我将与客户分享此信息

    Reta 是 MSP430X CPU 的扩展仿真指令、请在 《MSP430x4xx 系列用户指南》(修订版 L)的第284页上找到 RETA 的说明

    >> 2. BSL430_Low_Level_Init.asm

    关于上述"图1. 器件启动序列"、客户想了解"将 PC 设置为 addr @ 0x17FA (BSL 运行"是什么意思。 因为以下描述是在"0x17FA"中定义的。 这意味着、代码从0x1000开始。 是这样吗?

    0x17FA 是 BSL 启动矢量。 这是 BSL 启动时要执行的第一条指令的地址。

    Z 区是地址0x1000和0x100F 之间的 BSL 存储器部分、可跳转到外部应用程序代码并从中读取。 0x1000不是基于 ROM 的 BSL 的入口。 它应该是基于定制闪存的 BSL 的条目。

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

    你好,宫崎

    在讨论 BSL 专家之后:

    https://www.ti.com/lit/an/slaa450g/slaa450g.pdf 适用于5xx、6xx、G2。  我们拥有的图(我附加的图)仅属于 F5xx 和 F6xx 系列。 地址0x1000h 是 F5xx 和 F6xx 系列的原始 BSL 所在的位置、F5xx 和 F6xx 系列是信息闪存、可编程。

    根据 用户指南《MSP430Tm闪存器件引导加载程序(BSL)》,第4页,表1-1。 BSL 概述、MSP430F4xx BSL 是 ROM (0xC00h)、不可编程。

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

     您好、Xiaodong、

    感谢您的澄清。 我与客户分享了您的建议/意见。 感谢您的大力帮助!

    此致、Miyazaki