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.

[参考译文] TMS320F28075:如何修改配置以从闪存引导加载?

Guru**** 2927270 points

Other Parts Discussed in Thread: TMS320F28075

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/963793/tms320f28075-how-to-modify-the-configuration-to-boot-load-from-flash

器件型号:TMS320F28075

您好、专家、

我的客户使用100引脚 F28075、将 GPIO29&28设置为 SCI 引导引脚、以便首次从外部 ARM 器件引导加载、请参阅以下线程方法。

http://e2e.ti.com/support/microcontrollers/c2000/f/171/p/890085/3297264#3297264

将代码更新为器 件后、他们希望代码在下次从闪存引导时复位器件并将 GPIO29/28更改为高电平。

但是、在按照 e2e 线程的建议更改 OTP 区域后、它们很难实现闪存引导加载模式。 因为代码将读取 OTP 内容并更改为 SCI 引导模式、尽管 GPIO29/28为高电平。

他们想要检查是否将引导加载模式从 SCI 更改为闪存? 如果是、您能否帮助提供指南/备注以实现这一目标? 谢谢!

此致

王雷娜

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

    Rayna、

    他们应该能够通过与调试器连接并使用内存浏览器查看这些位置来检查 OTP 内容、以确保它们被编程。

    请注意、SCI 引导模式本身只能将代码加载到 RAM 中。  如果它们尚未加载、则需要将内核加载到器件的 RAM 中、并使用内核将它们需要的任何内容编程到闪存中。

    最棒的

    Trey

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

    Rayna、

                 您提到的另一个主题与您提出的问题无关。  

    区分引导模式选择引脚和用于引导的 GPIO 引脚非常重要。 客户似乎已将用于 SCI 引导的 GPIO 引脚重新分配至 GPIO29和28。 它们是否已从 GPIO72和 GPIO84的默认选项中重新分配引导模式选择引脚?  

    您能否为引导模式选择引脚提供电路? 即,用于选择引导模式的引脚?  

    我觉得客户通过 GPIO72=0和 GPIO84=1来选择 SCI 引导模式、bt 希望在闪存更新结束后切换到获取/闪存。 我是对的吗?

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

    尊敬的所有,

    非常感谢您提供的所有专家指导。

    首先  、请允许 我澄清我的应用和要求信息。

     我们使用了176引脚 F28075、并将 GPIO28&29 (SCI boot1)引脚设置为从外部 ARM 引导加载。 当使用 GPIO72&84引脚选择 SCI 引导模式时、默认 GPIO84&85 (SCI 引导0)、因此我们必须通过修改 引导模式值(OTP 0x81)参数来更改此默认配置。  我们想知道在闪存更新结束后切换到获取/闪存的具体操作计划。

    期待您的回复。谢谢!

    祝你一切顺利!

    Alan.Qin

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

    通过将 GPIO72=0和 GPIO84=1绑定、您似乎已通过硬连线将您的电路板连接到 SCI 引导模式。 此外、您将 BMODE 值编程为0x81、选择 SCI 引导1选项。 完成闪存编程后、您需要在后续复位时引导至闪存、而不是引导至 SCI 选项。 是这样吗?

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

    尊敬的专家:

    是的、我认为这是我们想要的。  是否可以自动完成此过程而无需软件编程。 请向我们提供更详细的指导,然后我们 可以轻松实现此功能。

    非常感谢。

    Alan

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

    如果将来通过 SCI 进行固件更新是有保证的、您需要在电路板中配置将 GPIO72驱动为高电平或低电平。

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

    您好、Haresh、

    这里是迪伦、负责此客户的 FAE。

    您能解释一下有关我们需要在电路板中设置以将 GPIO72驱动为高电平或低电平的更多详细信息吗? 我们需要哪种配置? 您是否有任何可与我的客户分享的示例或教程或测试计划?  

    谢谢!

    迪伦

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

    您所需要的只是一个可以将 GPIO72连接到高电平或低电平的跳线。  对于 SCI 引导、GPIO72=0。  GPIO72=1用于闪存引导。

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

    尊敬的 Hareesh Janakiraman,

    正如您所说、对于 SCI 引导、GPIO72=0。 可以设置哪个 SCI 端口、 默认 为 GPIO84&85 (SCI 引导0)、但我们已重新分配 GPIO28&29 (SCI 引导1)完成此函数。  因此、我们必须通过修改 引导模式值(OTP 0x81)参数来更改此默认配置。 当我改变引导模式值(OTP 0x81)参数时, 请 确认 ,GPIO72=1,是否可以设置闪存引导。  

    在 shortshortshort 中 ,《TMS320F2807x 微控制器技术参考 》第4章(P558) 未能解释此函数的实现。您能解释有关此函数的更多详细信息。 您是否有任何示例、教程或测试计划?

    谢谢!

    Alan

     

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

    [引用]因此、我们必须通过修改引导模式值(OTP 0x81)参数来更改此默认配置。 [/报价]

    OTP 是一次性可编程存储器。 编程完成后、无法更改。 正如我在上一篇文章中提到的、"区分引导模式选择引脚和用于引导的 GPIO 引脚非常重要。" 引导模式选择引脚用于选择特定的引导模式。 这就是 https://www.ti.com/document-viewer/TMS320F28075/datasheet/boot-rom-and-peripheral-booting-sprs8801514#SPRS8801514中显示的内容。 根据我的理解、您没有更改这些引脚。 也就是说、您仍然使用 GPIO72和 GPIO84来选择引导模式。 您可以通过 GPIO72=0和 GPIO84=1来选择 SCI 引导模式、但希望在闪存更新结束后切换为 Get/Flash。 为此、您现在需要将 GPIO72连接到高电平。  

    [引用]但我们已重新分配 GPIO28&29 (SCI boot1 [/引用]             

    这对引导模式选择没有影响。  

    [引用]当我更改引导模式值(OTP 0x81)参数时,请确认,GPIO72=1,是否可以设置闪存引导。 [/报价]

    如前所述、您无法再次更改 OTP 值。 对于 SCI 和 Get 模式、GPIO84均为1。 您只需将 GPIO72的外部连接更改为1即可切换为 Get 模式、这将使您能够从闪存引导。 这是一个非常简单的跳线连接。 没有退出教程或测试计划。

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

    尊敬的 Hareesh Janakiraman,

    根据我们的测试,我们无法 通过 GPIO72=0和 GPIO84=1选择 GPIO28&29SCI boot1)引导模式,因为它不是 默认的 SCI 选项。  如何 通过 SCI boot1 ( GPIO28&29)引导模式启用引导加载程序功能,请提供详细 的指导,以及  在  闪存更新结束后如何切换到获取/闪存。 《TMS320F2807x 微控制器技术参考 》第4章(P558) 无法明确 说明此函数的实现。 换言之,这是一个矛盾的选择。所以 ,我们必须知道我们可以做什么 和做什么。

    请向我们提供详细的指导计划。 请原谅我、我们是一个使用此功能的新员工。

    谢谢!

    Alan

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

    尊敬的 Hareesh Janakiraman,

    根据我们的测试,我们无法 通过 GPIO72=0和 GPIO84=1选择 GPIO28&29SCI boot1)引导模式,因为它不是 默认的 SCI 选项。  如何 通过 SCI boot1 ( GPIO28&29)引导模式启用引导加载程序功能,请提供详细 的指导,以及  在  闪存更新结束后如何切换到获取/闪存。 《TMS320F2807x 微控制器技术参考 》第4章(P558) 无法明确 说明此函数的实现。 换言之,这是一个矛盾的选择。所以 ,我们必须知道我们可以做什么 和做什么。

    请向我们提供详细的指导计划。 请原谅我、我们是一个使用此功能的新员工。

    谢谢!

    Alan

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

    尊敬的 Hareesh Janakiraman,

    根据我们的测试,我们无法 通过 GPIO72=0和 GPIO84=1选择 GPIO28&29SCI boot1)引导模式,因为它不是 默认的 SCI 选项。  如何 通过 SCI boot1 ( GPIO28&29)引导模式启用引导加载程序功能,请提供详细 的指导,以及  在  闪存更新结束后如何切换到获取/闪存。 《TMS320F2807x 微控制器技术参考 》第4章(P558) 无法明确 说明此函数的实现。 换言之,这是一个矛盾的选择。所以 ,我们必须知道我们可以做什么 和做什么。

    请向我们提供详细的指导计划。 请原谅我、我们是一个使用此功能的新员工。

    谢谢!

    Alan

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

    您好、Rayna、

    看起来您在尝试在此处更改 BOOTCTRL 配置两次-

    第一步-更改默认 SCI 引导选项以选择 SCI boot1而不是 SCI BOOT0 (请告诉我们您如何更改此初始时间以及您为什么要更改此时间? 我不清楚。)

    第二步-将引导模式更改为闪存引导。 (假设您正在通过 SCI 引导更新此程序-正确吗?)

    这不能通过使用相同的配置来完成、因为您只能更新一次 OTP 位置。

    您可以使用的替代解决方案是-  

    第1步-对 Zone2 BOOTCTRL 寄存器进行编程以选择 SCI boot1选项(我们需要知道如何/为什么要这样做?)

    Step2 -对 Zone1 BOOTCTRL 寄存器进行编程、以选择闪存引导选项、而不是 SCI boot1。 您不必为此更改引导模式引脚设置。

    请注意、一旦您执行此操作、除非您将引导模式引脚值更改为选择"获取模式"以外的引导选项、否则该器件将始终引导至闪存、但在这种情况下、如果您选择 SCI 引导模式、则它将不会引导至 SCI 引导1、而是引导至 SCI 引导1 只用于 SCI 引导0。 因此、请注意这一点。

    此致、

    Vivek Singh

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

    尊敬的所有专家,

    请让我重新发布我的功能要求。

    正常条件、用于 TMS320F28075的 DSP、在完成直接复位到闪存中的操作后、运行程序的正常功能。 此过程不需要引导程序。  

    当我们需要软件更新时、我们必须将 DSP 控制到引导模式、现在我们选择 引导模式端口为 SCI boot1 ( GPIO28&29)。

      我需要对这一问题作两部分的答复。 一,是否可以实现该功能。 第二、如何  实现此功能?

    请尽快给我们一个明确的答案。

     感谢您的所有支持。

    Alan

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

    您好、Haresh、

    这里是负责此客户的 Dylan、FAE。

    我在下图中列出了有关客户特殊要求的完整详细信息。 请找到它并忽略所有其他东西。 我们只需要您回答两个问题。 谢谢!

    如果您认为图片不清楚、我在此处列出了有关客户要求的所有详细信息:

    步骤1:客户已设置 GPIO72=0且 GPIO84=1 >>、然后它将进入 SCI 模式

    步骤2:客户已设置 GPIO28和 GPIO29 >>、然后将进入 SC 引导1模式的引导选项2

    步骤3:使用 GPIO28和29进入引导选项2时、客户必须将 OTP 值修改为0x81参数

    步骤4:通过从 SCI 引导完成系统升级

    步骤5:客户现在希望从闪存引导。 因此、它们设置 GPIO72=1。 但是、它不起作用、因为 OTP 值已更改、OTP 值可更改一次。

    注意:根据客户当前的情况、他们不愿意更换外部硬件电路。 因此、他们正在寻找实现此功能的软件解决方案。

    支持需求:  

    1) 1)您是否有任何建议、我们可以根据上述信息退出 SCI 引导1模式并切换到闪存模式?

    如果有,如何实施?

    谢谢!

    迪伦

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

    您好、Vivek、

    请参阅上面显示的我的回答。 这是客户的特殊要求。 他们只是想确保是否可以实现此功能、如果是、如何实现?  

    谢谢!

    迪伦

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

    您好!Dylan、

    您能否解释为什么不能使用默认 SCI 引导引脚(GPIO84/GPIO85)?

    回到您的查询、对 OTP 进行编程以选择 SCI boot1选项后、Get Mode (GPIO72/GPIO84 =1)将始终选择该选项。 如果您看一下 SCI 引导流程(见下面)、如果您未提供有效密钥、则应引导至闪存。 您是否可以尝试看到它是否起作用?

    此致、

    Vivek Singh

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

    您好、Vivek、

    为了回应您的第一个问题、客户在将 GPIO72=0和 GPIO84=1设置为开始时进入 SCI 模式后、不知道 GPIO84将可用。 他们发现 SCI-Boot 0 SCITXDA 使用的 GPIO84与第一步(进入 SCI 模式)冲突。 因此、它们决定使用 SCI 引导1模式、但不使用 SCI 引导0 (默认模式)。 他们已经设置了这个硬件电路、因此无法改回。

    为了回应您的建议、您可以参阅12月16日下午5:31的 Hareeesh 回复 它指出 OTP 是一次性可编程存储器。 编程完成后、无法更改。 我们的客户在开始进入 SCI-Boot 1模式时已将 OTP 值更改为0x08。 但现在、他们希望切换到从闪存引导。 您提到的跳转到闪存的前提条件是设置无效的密钥值(而不是0x08)。 但是、现在我们不再能够更改 OTP 值。  

    因此、总结一下、在这种情况下、您是否可以确认我们是否有任何方法来满足客户要求? 我只需要这个问题的答案、否则我们的客户不关心。  

    谢谢!

    迪伦

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

    迪伦

    此坏密钥不在 OTP 中、而 是在外部主机发送的 SCI 通信上。 我们需要致电进一步讨论这一点。  

    此致、

    Vivek Singh

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

    您好、Vivek、

    很棒! 我们现在可以召开 WebEx 会议吗? 如果可以、我将向您发送日历。

    谢谢!

    迪伦

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

    您好、Vivek、

    感谢您的帮助! 客户已经知道如何操作。

    谢谢!

    迪伦