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.

[参考译文] MSP430F6638:有关基于闪存的定制 BSL 的问题

Guru**** 2553450 points
Other Parts Discussed in Thread: UNIFLASH, MSP430F6638

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/595771/msp430f6638-problems-about-custom-flash-based-bsl

器件型号:MSP430F6638
主题中讨论的其他器件:UNIFLASH

我正在尝试使用基于闪存的 BSL 来更新我们的产品。 基于 USB 的预编程 BSL 能够与4MHz XT2完美配合、但我们的新产品使用16MHz XT2。 根据 slaa450 (创建基于闪存的自定义引导加载程序(BSL))、通过更改 BSL_Device_File.h 中的某些#define 应该可以很容易地修复该问题 我下载了(slaa450) MSP430BSL_1_00_12_00.zip、 它只有一个有关基于 USB 的 BSL 的 IAR 项目、名为"MSP430F552x_USB"。 我将 BSL_Device_File.h 的 #include "msp430x552x.h"修改 为 #include "msp430f6638.h"、更改了选项中的目标器件并成功重新编译了该器件。 IAR 和 UniFlash 下载了这个新的 txt 文件、即使在4MHz XT2下也无法正常工作。 还有其他我应该做的事吗? 或者是否有用于 F6638的可用二极管?

万分感谢。

此致、  

张天一

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

    我正在为您研究这个问题。 我在前面的 E2E 帖子中看到、您可能不需要编译完整的源代码即可实现这一点、只需更改一小部分二进制映像:

    e2e.ti.com/.../2142862

    我需要进一步研究、并验证它是否正常工作。 我将在明天为您提供更多详细信息。

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

    您好 Caleb、

    很高兴看到您的回复!

    根据给定的 E2E 帖子、我下载了 xx5x 和 xx6x 的 UG (slau208p)。 42.2.3节介绍了如何确定 USBPLLDIVB 寄存器中的 UPQB 和 UPMB。 我尝试将24MHz 更改为16MHz、因此这些寄存器的值应从 05.0F 更改为04 11。

    我在 \5xx_6xx_released_BSL_images\MSP430F663x_Family\BSL_00.08.88.39.txt 中的第8行和第60行(在我的编辑器中)找到了包含0F 05的两个位置。 我将其修改为11 04、但固件尚无法正常工作。

    然后、我在 F552x 源 IAR 项目中将24MHz 更改为16MHz 并重新编译它。 通过比较这两个 Txts、我发现还有另外两个差异。 旧的 txt (24MHz)包含96 08、而在新的 txt (16MHz)中它们是 AD 06。 我不知道它们是什么意思、但在我对 BSL_00.08.88.39.txt 执行相同的更改后、新的 BSL 在我的电路板上工作、XT2=16MHz。

    感谢您的有用帮助和建议! 我想知道我应该做些什么来结束这个问题还是这样的事情?

    此致、

    张天一。