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.

[参考译文] 编译器/msp430f5659:mspboot ISR 不工作

Guru**** 2220740 points
Other Parts Discussed in Thread: MSP430F5659, MSP430F5529
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/605546/compiler-msp430f5659-mspboot-isr-not-working

器件型号:MSP430F5659
主题中讨论的其他器件: MSP430F5529

工具/软件:TI C/C++编译器

您好!  

我正在为 msp430f5659测试 MSPBoot 代码。

我成功下载了 mspboot 应用程序代码。

但是,当我使用 USCI_B1 I2C 和时,我的代码没有响应。  

我认为 ISR 矢量映射是正确的。

其他 ISR、如 DMA_ISR、P3_ISR 等正在运行。

这是我的链接器文件。

e2e.ti.com/.../linker.zip

我还应该设置什么?

引导程序文件: e2e.ti.com/.../vector-file.zip

mspboot: e2e.ti.com/.../F5659_5F00_spi-MSPBoot.zip

谢谢、

此致  

Youngjun

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

    您能否提供矢量映射? 此外、是否可以调试代码并查看当您尝试与器件通信时会发生什么情况?

    最后、在您的帖子中、您提到您正在使用 I2C、但链接器文件显示为 SPI。 澄清一下、您使用的是哪种协议?

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

    您好 Caleb Overbay。

    感谢你的答复。

    我将使用 SPI 和 DMA by ISR 来实现 MSPBoot。

    可以了。

    我的 OLED 在一般 CCS 项目中工作。 (OLED:WEO006432a)

    但是、当我在 MSPBoot 应用程序代码中运行 OLED 代码时、OLED 不工作。

    而且、我无法调试 mspboot 应用程序代码。

    我上传了上述问题的矢量文件。

    谢谢
    此致、
    Youngjun。

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

    感谢您提供矢量文件。 您似乎已经正确设置了它们。 我注意到您在此器件上使用的是 USB、但在链接器文件中、您没有定义 USBRAM。 这可能不是问题、但我建议将其包含在应用程序的链接器中。

    MSPBoot 专为我们的小型存储器型号器件而构建、MSP430F5659是一款大型存储器型号器件。 在将 MSPBoot 移植到此器件时、您是否考虑了这一点?

    此外、您为什么无法调试应用程序代码? 我建议首先使用调试器将 MSPBoot 编程到 MCU 上。 保持调试器连接并处于调试模式。 然后让主机将映像传输到器件、MCU 切换到应用程序后、您可以在 CCS 中从应用程序加载符号并调试应用程序代码。 这将是找出导致您问题的原因的最佳方法。

    此致、
    Caleb Overbay
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Caleb Overbay。
    我还遇到了 USB 通信问题。 谢谢。

    我只想知道为什么我的 OLED 在 mspboot 应用程序代码中不起作用。
    因为、我检查了连接我的 MCU 的另一个传感器是否正常工作。
    我认为我必须在应用程序代码中检查 I2C 寄存器。

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

    我不确定您的 OLED 为什么不工作。 MSPBoot 是一个非常复杂的程序、因此它可能是导致此问题的许多因素。 为了支持大内存模式、您对 MSPBoot 进行了哪些更改? 此外、您是否能够使用上述方法调试代码?

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

    我的代码如下所示进行了修改。
    1.系统时钟频率为8MHz。
    TI_MSPBoot_CI_PHYDL_USCI_SPI.c 中的 SPI 寄存器变量
    TI_MSPBoot_CI_PHYDL_Poll ()函数中的缓冲方法。
    4.矢量表
    5.链接器文件
    我上传了上面问题的 mspboot 项目。

    此外、我可以在通过 mspboot 上传后通过反汇编来调试应用程序代码。
    此外、我还可以在 CCS 中看到寄存器设置。

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

    尊敬的 Youngjun:

    为了适应大内存模型、需要进行更多的更改。 我一直在努力更新 MSPBoot 以包含此支持。 当前在代码中、如果任何内容放置在上部存储器中、它将不起作用。

    我将在 MSP430F5529上附加一个使用 UART 通信的 MSPBoot 的初始代码修订版。 请密切注意代码的存储器接口(MI)部分。 此外、一些链接器变量名称已经过修改、因此如果要将其集成到当前代码中、您需要更改它们。

    e2e.ti.com/.../Large_5F00_Mem_5F00_MSPBoot.zip

    此致、

    Caleb Overbay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复。
    我找到了问题。
    我的 OLED i2c 写入时序比我预期的要长。
    当我添加 DELAY_CYCLE 时、它正常工作。
    但是、我不知道为什么 mspboot 应用程序不能立即工作。

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

    您能告诉我、您需要在代码中的哪个位置添加延迟吗? 也许我可以帮助确定为什么这会使事情再次正常工作。

    此外、请务必查看我提供的大内存模型示例。 务必对存储器接口代码进行适当的更改、以便充分利用完整的代码空间。

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

    您好 Caleb Overbay。

    我添加了 I2C 启动、停止空闲条件、

    下图是我的 OLED 数据表。

    我的代码的系统时钟为8MHz、TIDLE 的时序为1.3us。  

    感谢您上传大内存模型示例。

    我很快将更改大内存模型。

    谢谢。

    此致、

    Youngjun。