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.

[参考译文] TMS320F28377S:TMS320F28377s 引导加载器

Guru**** 2468460 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1068827/tms320f28377s-tms320f28377s-bootloader

部件号:TMS320F28377S

尊敬的 TI 工程师:

我在    TMS320F28377中遇到了有关 bootloader 的问题。

我 想 将 闪存分为  两 个  包含 应用 程序和 引导加载 程序的扇区。  因此 ,我  想  定义 两 个 ram 扇区,以便 在     应用 程序模式 和 bootloader 模式下运行一些重要的逻辑。  但  定义 似乎 不 正确。   图 中显示    了 CCS 中的警告。

那么,  你会 给 我 一些 建议  吗?

期待    您的备注。  

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

    尊敬的 TI 工程师:

    我 修改 了 codebranchstart.asm 文档,如下所示。

    但  当 CPU 重置时  ,它会运行 到 app_entry 而 不是 code_start。  那么,      我的计划中是否有任何错误?

    期待    您的备注。  

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

    您使用的是哪种引导模式。

    引导加载程序和应用程序是否都在闪存中正确编程?

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

    您好,

    我  在这里。

    我 想   从 闪存启动。       启动电源时,GPIO72和 GPIO84都是高电平的。  在我 看来  ,当代码 启动时 ,它 必须 从 code_start 开始。  

    我 将 bootloader 和 应用 程序分为  不同 的 Flash 部分。  和 调试 在    上图中有警告 。  这 是  第一 个问题。

     第二 个问题 是  为什么程序 运行 到  app_entry 而 不是 code_start。  

           在 ccs3.3中,28035的配置是相同的。 它可以像 我 想象的那样工作。  而28377 s 则使用 ccs8.2  进行开发。

    那么,  你   有什么建议吗?  期待    您的备注。  

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

    关于警告-这可能是由于 FLASHN 内存不足。请尝试将附加内存组合到同一部分。

    入口点是 CCS 中的配置,您可以尝试覆盖入口符号-将此线程称为如何执行 https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/655910/compiler-tms320f28027-specify-program-entry-point-in-ccs 

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

    您好,

    Baskaran, 谢谢   您的建议,

    1.我 将  一个部门的  规模与 FLASHRAM 一样大 ,以 取代 FLASHN。 但 警告  仍然存在。

    2.   根据修改*0xD00=0x0B5A,           CCS 可以在模拟模式下从闪存启动程序。    这样,程序  将运行 到 BL_CheckCodeID 函数。   在此功能中,  应    包括闪存初始化。  但  当程序 进入       下图所示的行时, 它  会跳 到 错误 位置。

    我 比较  了具有  相同代码的闪存初始化,这些代码分别在 main 和 BL_main 中初始化。    两者之间有一些区别。

    那么    ,问题是什么?

     期待    您的备注。 太棒了!

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

    您好,

    有人   有什么建议?

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

     其他 TI 工程师能否 提供 一些 建议?

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

    您好,科克库,

    今天,我被要求看这个帖子。

    根据您提供的快照,应用程序正在结束 ITRAP ISR (获取非法操作码)。

    我查看了拆卸窗口,发现代码在下面的位置已损坏。  

    请检查您的应用程序执行流程并找出导致此损坏的原因。

    谢谢,此致,
    瓦姆西

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

    您好,

    Vamsi,感谢  您 的建议。

    我 发现   原因 可能 是  使用 两 种方法   将代码 从 闪存移至  RAM。  我 在    BL  中使用的函数前面使用了“#pragma code_section()”   ,  并使用 了一些 方法 ,如  下图所示。


    这些 方法 可能 会重复。  现在, 我将 继续 完成 逻辑。  如果  出现问题 , 我会 向 您咨询。

    谢谢,此致,

    焦炭。

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

    您好,可口可乐

    感谢您的更新。

    我将关闭此帖子。  您可以根据需要打开新帖子。

    谢谢,此致,
    瓦姆西