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.

[参考译文] CCS/MSP430F6726:MSP430F6726 I2C 定制 BSL

Guru**** 2540720 points
Other Parts Discussed in Thread: MSP430F6726, MSP430F6736, UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/760096/ccs-msp430f6726-msp430f6726-i2c-customized-bsl

器件型号:MSP430F6726
主题中讨论的其他器件: MSP430F6736UNIFLASH

工具/软件:Code Composer Studio

尊敬的先生/女士:

感谢 TI 论坛的支持。

我正在尝试 为 MSP430F6726/MSP430F6736开发定制 BSL。

我从 software-dl.ti.com/.../index_FDS.html 获取了示例源代码  (MSP430BSL_1_01_00_01\ccs_BSL_Source\ccs_v7_MSP430F522x_I2C)  


我使用代码存储器 来放置自定义 BSL 映像。 附加的(lnk_msp430f6736_BSL.cmd)是 BSL 项目的自定义命令文件。  生成输出 BSL.txt 文件。

我还针对相同的器件型号构建了项目应用程序映像、并将其放置在不同的代码存储器位置。 附加的(lnk_msp430f6736.cmd)是自定义命令文件。 输出 App.txt 已生成。

当我尝试  使用 UNIFLASH 同时将两个输出文件闪存/编程/写入微控制器存储器时 、由于 存储器位置0xFFD0存在冲突、因此无法写入。   两个输出文件 都有一些数据存储在 0xFFD0位置、这些数据是中断矢量地址。 如果我一个接一个地写入输出文件、那么第二 个文件数据将在0xFFDO 处写入第一个文件。

BSL 项目和我的应用项目都启用了 I2C 中断。 在上述情况下、我将松散地在其中一个项目中获取 I2C 中断。

为了应对这种情况、我配置了我的应用程序项目命令文件(作为 lnk_msp430f6736_Cust .cmd 附加) 、以存储0xFFA2到0xFFCE 的中断矢量地址(这是保留的存储器)。 我无法获取中断。

请建议 解决此问题的任何解决方案。 我希望我的定制 BSL 代码和应用代码驻留在代码 存储器中、并且两者 都正常工作。 e2e.ti.com/.../CommandFiles.zip

此致、

Niranjan

  

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

    闪存中的中断矢量表属于应用程序、因此 BSL 一定不能使用它。

    如果您不想在软件中完全实现 μ I²C、请将中断矢量重新映射到 RAM;请参阅用户指南的第1.3.6.1节和以下线程:
    使用 RAM 作为中断向量位置的备用位置中断向量重定位 MSP430F5659RAM 中的中断向量:使用此?的任何缺点CCS/MSP430F5340:SYSRIVECT

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

    您好、Clemens Ladisch、

    -------- >如果您不想在软件中完全实现 I²C,请将中断矢量重新映射到 RAM 中。-------------------------------------------------------

    我想在 BSL 代码和我的应用代码中使用 I2C 中断。
    我的应用 肯定需要 I2C 从设备实现、因为我启用了 I2C 中断并定义了 I2C ISR。

     

    -------- >闪存中的中断矢量表属于应用程序,因此 BSL 不能使用它。-------------------------------------------------------

    如何通过 I2C 实现 BSL 并克服上述问题?

    此致、

    Niranjan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    BSL 不能使用 μ I²C 的闪存中断向量。 为了能够使用 μ I²C、它必须将所有中断向量重新映射到 RAM。