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.

[参考译文] TM4C1294NCPDT:CodeComposer 7引导加载程序和 CodeComposer 10之间的差异

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1045375/tm4c1294ncpdt-difference-between-codecomposer-7-bootloader-and-codecomposer-10

器件型号:TM4C1294NCPDT
主题中讨论的其他器件:CODECOMPOSER

在我的公司中、我们在过去的 CodeComposer 7环境中使用过、并且我们没有使用"boot_EMAC_flash"或任何其他软件。 我们刚刚开发了一个项目、并使用了远距离编程 LM Flasher 服务。

今天、使用 CC (code composer)版本10时、我 将使用 "boot_emac_flash"作为烧写操作的基础、然后使用烧写的项目本身(位于地址0x4000)。

1 -两种引导加载程序方法之间的推理是什么?  

   当我要从版本7升级到版本10时、无法完成。

   我的系统每个都有超过一百个板,版本7 CC,我需要用新的代码版本将其更新到版本10,这是无法通过串行服务完成的。

2-是否有办法使用 CC 10版本提供 LM Flasher 服务而无需 "boot_emac_flash"?

3 -如果(2)不可用、如何使用 LM Flasher 将 CC 7版本项目升级到新的 CC 10版本代码(适用于 我的100多个主板系统)。

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

    Maccabi、您好!

    很抱歉、但我想确保在尝试回答之前澄清您问题的一个关键要素。

    基本上、您是否在不使用在 CCS v7中工作但不在 CCS v10中工作的 TivaWare 引导加载程序代码的情况下从头开始开发客户引导加载程序?

    此致、

    Ralph Jacobi

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

    否否否

    首先、我不得不说我犯了一个错误、我写的内容是"当我想从版本7升级到版本10时、它无法完成"-它可以完成、只是需要很长时间才能连接(这使我感到迷惑)。

    现在、我可以更详细地说明一下。

    在 CCS 7下运行工程时、使用了基于 ROM 的引导加载程序。 当更改为 CCS 10时、这里的前编程器收到了使用 BOOT_EMAC_FLASH 项目更改为基于闪存的引导加载程序的建议(系统在启动时读取地址0x0000.0004)。  

    我想了解如何使系统恢复使用基于 ROM 的引导加载程序、因为从我们的角度来看、我看不到任何对闪存版本的偏好。

    谢谢。

    Maccabi

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

    Maccabi、您好!

    您可以使用以下代码使用 ROM 引导加载程序:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    void
    JumpToBootLoader(uint32_t ui32SysClock)
    {
    //
    // Disable all processor interrupts. Instead of disabling them
    // one at a time (and possibly missing an interrupt if new sources
    // are added), a direct write to NVIC is done to disable all
    // peripheral interrupts.
    //
    HWREG(NVIC_DIS0) = 0xffffffff;
    HWREG(NVIC_DIS1) = 0xffffffff;
    HWREG(NVIC_DIS2) = 0xffffffff;
    HWREG(NVIC_DIS3) = 0xffffffff;
    HWREG(NVIC_DIS4) = 0xffffffff;
    //
    // Also disable the SysTick interrupt.
    //
    SysTickIntDisable();
    SysTickDisable();
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    此致、

    Ralph Jacobi