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/TM4C123BE6PM:TM4C123BE6PM、使用串行 I2C ROM_bootloader、无法在偏移量0x0000_0000和偏移量0x0000_0004处写入。

Guru**** 2487425 points
Other Parts Discussed in Thread: TM4C123BE6PM

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/728352/ccs-tm4c123be6pm-tm4c123be6pm-using-serial-i2c-rom_bootloader-fail-to-write-at-offset-0x0000_0000-and-offset-0x0000_0004

器件型号:TM4C123BE6PM

工具/软件:Code Composer Studio

您好!

我使用 TM4C123BE6PM 微控制器作为目标板、使用 CCS v6并处理串行(I2C)引导加载程序应用。 我尝试在0x0000_0000偏移处的空白微控制器中使用 ROM_bootloader 加载应用程序映像。  

当我使用 LM 闪存编程器实用程序读回我的映像时、0x0000_0000和0x0000_0004地址不会被写入、而其他每个偏移都被写入预期值。

在发送 bin 文件时、是否需要对这些地址进行额外保护?

我尝试在其他一些偏移(例如、0x0000_2000)处写入相同的 bin 文件、并且写入操作非常完美。

提前感谢、

Abhishek

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

    您好、Abhishek、

     我不确定前两个位置为什么未编程、因为这是第一次报告此类问题。

    • 是否在开始 ROM 引导加载之前先擦除闪存?
    • 这是否每次都可重复?
    • 您能否下载不同的程序映像、或许是一个简单的 TivaWare 闪烁示例、它是否会有所不同?
    • 您是否有另一个器件可以尝试看到相同的东西?
    • 您使用 PC 端的哪个下载实用程序来下载程序映像?
    • 您是否可以使用相同的 PC 实用程序通过 UART 接口下载相同的程序映像? 您是否看到了相同的问题?

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

    您好、Charles、

    感谢您的快速响应、  

    1、是的、编程前擦除闪存。

    2.是的、每次都是可重复的。

    3.我尝试了多个图像,但结果都相同。

    4.我没有尝试其他设备,如果运气好,我会尝试更新。

    5.它是我开发的自定义实用程序,我的 I2C (I2C 主设备)来源是 FPGA。

    6.我在同一电路板上没有 UART 连接、但如果可能、我会尝试连接并告知您。

    在 TI TM4C 串行引导加载程序演示实用程序中、是否会发生任何其他步骤、例如解锁闪存等??

    谢谢、

    Abhishek

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Abhishek、
    不、我不知道需要执行任何额外步骤来解锁闪存。 您正在使用 ROM 引导加载程序、因此所有内容都从 ROM 运行。 ROM 引导加载程序中没有任何可以更改/修改的内容。

    您是否能够确认可能导致问题的原因不是 FPGA 侧的问题?

    您是否有机会尝试使用基于闪存的 I2C 引导加载程序?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 Charles、

    我尝试使用一些更新的微控制器、但遇到了同样的问题。

    在 FPGA 方面、我不能怀疑它是否能够写入除0x0000_0000 (我尝试写入0x3000)以外的地址。 我仍将再次检查以确保正常。

    尚未尝试基于闪存的引导加载程序、将很快尝试更新。

    谢谢、此致、

    Abhishek

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

    您好、Charles、

    使用闪存引导加载程序、它可以正常工作。

    ROM 引导加载程序中没有任何可以更改/修改的内容。

    不、我不想在 ROM 引导加载程序中更改、我问、特权软件是什么意思、特权软件只允许写入0x0000_0000?

    提前感谢、

    Abhishek

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Abhishek、
    我不知道为什么基于 ROM 的 I2C 引导加载程序在您的设置中的行为与基于闪存的行为不同。 您是否可以捕获和比较基于闪存和基于 ROM 的 I2C 总线事务、尤其是在对位置0x0和0x4进行编程时?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Abhishek、
    我没有听到你的反馈。 我假设您能够解决您的问题。 如果不是、只需在下面发布答复或创建新主题。 我现在要关闭这个线程。