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.

[参考译文] MSP430F5507:MSP430 BSL源代码

Guru**** 2506135 points
Other Parts Discussed in Thread: MSP-FET, MSP430F5507

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1088436/msp430f5507-msp430-bsl-source-code

部件号:MSP430F5507
主题中讨论的其他部件:MSP-FET

你好  

我正在使用MSP430f5507,目前,我正在使用CCS软件MSP-FET开发应用,以实现硬件连接。 现在我正在阅读有关MSP430-BSL的信息,并希望使用BSL-脚本,我的问题如下:


1.在哪里可以找到 MSP430f5507的CCS BSL源代码,实际上我已经从 TI网站下载了CCS_BSL_SOURCE,但当我提取文件时,找不到我工作的微控制器(MSP430f5507)!!!

2.在我下载的CCS_BSL_SOURCE文件中,有一个用于MSP430F55xx的已发布BSL图像,我是否可以使用MSP-FET将该图像刻录到控制器中,因为我认为存储在BSL部分中的出厂默认代码是用于USB而不是用于UART?

3.在我工作的项目中,微控制器通过UART的TX和RX引脚与无线设备连接,我可以使用此无线设备和控制器中的BSL发送图像固件并对控制器进行无线编程,我的意思是: 我能将用于BSL (即WFP 1.1 和WFP 1.2)的针码重新映射为WFP 4.5 ,RXD和WFP 4.4 ,TXD吗?


感谢您的支持以及您提出的任何相关建议。

提前感谢...

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

    请注意您对BSL的任何操作,因为在最后的BSL闪存段中存储了JTAG熔丝值(出厂默认值为0FFFFh,未锁定)。 具有锁定JTAG和不起作用的BSL器件的情况下,会受到惊慌。 所有具有USB硬件模块的MSP430器件的默认出厂BSL为HID版本。

    如果我没有记错,所有BSL源都可以在slau319 zip存档中找到。 F5507属于F550X系列,但我猜BSL与F55XX相同。

    MSP-FET或其他任何文件均可用于更新BSL。 BSL必须先解锁。 对我来说,使用MSP430Flasher实现这一目标是正确的方法。 BSL闪存区域是一种特殊的区域,它不支持断点调试。 UART BSL基于计时器,而不是硬件UART模块,因此它固定在WFP 1.1 和WFP 1.2 上。 通过最少的修改,可将其重新稀释(通过大的MSP430F5xx端口跳接选项)到P4.X 使用硬件UART是可行的,但修改比端口跨接更复杂。

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

    谢谢你

    关于 BSL源,我有两个BSL图像(UART_BSL和USB_BLS),我从TI网站下载,我的问题是如何使用代码编辑器和MSP-FET在MCU的BSL部分刻录此类图像(如何更新控制器中的BSL), 知道图像是.txt扩展名或TI TXT格式(作为附件)

     e2e.ti.com/.../6254.BSL.00.07 .05.04 .txt

    实际上,我没有找到任何说明如何使用代码编写器工作室来更新BSL 代码的参考。

     非常感谢您的帮助和支持。

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

    我的建议是使用Small & lite CLI MSP430Flasher来实现此功能...

    e2e.ti.com/.../135.2458万

    首先,您可以将出厂原始HID BSL转储到txt文件,如第二篇文章中所述,链接主题。 然后下载UART BSL,如 第一篇文章中所述,从链接主题下载。

    如果MSP430Flasher抱怨错误的dll (与CCS版本中安装的MSP430.dll不相同)并请求MSP-FET固件更新,请跳过它。

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

    您好,zrno先生

    我使用 MSP430Flasher对微控制器中的BSL部分和UART_BSL图像进行编程,同时,我还阅读了BSL部分以确保图像写入正确。

    现在,我面临另一个问题,当我使用软件方法调用BSL时,我尝试与BSL通信,但没有得到任何响应,以下几点是为了澄清流程:

    1.我建立了一个简单的程序,直接 调用BSL,如图所示(只是为了测试过程),我清除 了SYSBSLC寄存器中的SYSBSLPE位以允许读取BSL内存。

      

    2.我用电平转换板(TX/RX引脚)连接了WFP 1.1 和WFP 1.2 引脚,然后 用BSL脚本发送了一个简单的BSL数据包,但是BSL没有任何ACK或任何响应

    3.之后 ,我调试了上面的简单程序,然后暂停执行以检查程序计数器的地址,它位于0xf3ffe,如下所示!

    我走错了哪里???

    非常感谢您的帮助和支持。

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

    您好,Jafar

    首先,您可以尝试在软件触发BSL以确保BSL初始化完成后,在将BSL信息发送到设备之前进行大约300毫秒的延迟。  

    第二,您是否尝试使用硬件调用?

    最好在此处通过逻辑分析仪捕获TX,RX和调用信号,以执行更多分析。

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

    您好,Gary  

    我尝试了超过300毫秒的延迟,但问题仍然存在,  

    关于硬件调用,我所处理的主板的设计没有考虑更新固件的未来需求,这意味着没有与RST和测试引脚的输出连接,因此 ,在 我们的情况下,使用软件调用变得至关重要。

    我有一些与软件调用相关的问题 

    1.调用0x1000位置执行调用过程后,程序计数器是否仍保留在BSL部分(BSL是否继续等待数据包)?

    2.为什么程序计数器跳转到未知地址(0xf3ffe)? 我注意到在调试过程中暂停程序时!!

    感谢您的快速响应  

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

    您好,Jafar   

    很抱歉由于假期而延迟回复。  

    关于5507关于硬件403.7889万硬件调用,主板的设计和未来使用固件调用的方式  ,没有必要。

    我想让您尝试硬件,只是想验证您下载到设备的UART BSL映像是否可以正常工作。

    1.调用5507调用0x1000403.7889万0x1000位置1000位置执行数据包调用过程后,BSL/BSL-source-code/B1000部分是否会继续等待?

    是的,它将跳到0x1000,但如果BSL映像有一些错误,会使PC指向错误的位置,如您看到的0xf3ffe。

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

    您好,Gary  

    感谢您的跟进。

    我想让您尝试硬件,只是想验证您下载到设备的UART BSL映像是否可以正常工作。

    如您所述 ,之前的UART BSL图像存在问题。

    我现在正在使用自定义版本,UART_BSL工作正常,我只是尝试重新映射在与BSL通信期间使用的TX/RX引脚,我修改 了代码,使 WFP 4.5 成为RX引脚,并使WFP 4.4 成为TX引脚。 但是当我调试代码并尝试向BSL发送数据包时,我没有得到任何响应,而且MCU似乎没有识别任何接收到的字符(通过调试)。

    下图描述了我所做的更改

     

    那么,我在哪里出错了?

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

    这只是所需修改的一部分。 您必须将P4,0.0 (存在于WFP 1.1 上)和0.1 (存在于WFP 1.2 上)配置为P4的针脚。 slau208的第13章端口映射控制器(MSP430x5xx和MSP430x6xx系列用户指南)中对此进行了说明。 我想你可以在e2e上找到一些示例,搜索它。

    以下是如何在汇编器中重新映射两个UART RX/TX引脚的示例...

    https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/73.746万/msp430f5529-uart-programming/2723075</s>5529 272.3075万

    您应该执行此操作,但需使用计时器PIN。

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

    您好,zrno

    感谢您的跟进  

    参考用户手册和数据表,没有任何选项可选择0.0 或0.1 来重新映射P4处的针脚,请参见下图;

    另一方面,如果无法更改上述限制,我想更改所使用的计时器(从timerA更改为timerB),然后使用TimerB,通过使用P4重新映射它,这是否有效? 如果是,应考虑哪些因素?