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.

[参考译文] TMS320C6727B:寄存器怀疑闪存引导方法更改

Guru**** 2609955 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/579925/tms320c6727b-reg-doubt-flash-boot-method-change

器件型号:TMS320C6727B

目前、我们的应用程序成功支持从并行闪存引导。 闪存.bin 映像包含配置数据+次级引导加载程序(包含整个应用程序)。

由于某些编程问题、我们将更改闪存引导方法。

我们希望实现以下目标

1)将包含配置数据+次级引导加载程序的(Tiny_Golden.) bin 文件刻录到闪存中。

----这能够从主机接收(应用程序) bin 文件并将其刻录到闪存中的特定地址。

---- Tiny_Golden.bin 文件和 Application.bin 文件在 SDRAM 中具有不同的非重叠内存映射(在.cmd 文件中定义)。

2) 2) Tiny_Golden.bin 文件将指向 Application.bin 的起始地址、该地址将接管并再次复位。  

我想验证上述方法是否可行。 由于我是新手、请告诉我是否需要其他详细信息来了解变化的性质。

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

    我已将此事转交给专家。 他们的反馈应发布在此处。

    BR
    Tsvetolin Shulev
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、这是可行的、我们的许多应用开发人员都使用这种方法来执行现场升级、或从主机/FPGA 或微控制器或系统上的任何其他主器件获取应用映像。

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

    尊敬的 Rahul

    感谢您的回答。

    是否有参考项目或材料可实现从主机或闪存中提取应用程序映像的方法?  

    谢谢

    LAK

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

    这是一款非常成熟的器件、因此我不确定是否可以为您指出为该器件创建的可使用示例、但您可以查看此处为 DA830/C6747器件创建的次级引导加载程序说明、该示例的用法与您所描述的类似 在您的帖子中:
    processors.wiki.ti.com/.../DA8xx_Secondary_Boot_Loader_Customization_for_SPI_Master_Boot

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

    我将会进行同样的操作。  

    我还想说明如何从 Golden_Tiny.bin 映像执行 Application.bin 映像。

    1)我们已经有将*。bin 刻录到闪存的工作代码(Golden.bin 的特定偏移- 0偏移+ Application.bin 的0xxx 偏移)

    2) 2) Golden_tiny.bin 文件将包括 TiSecondaryBoot 加载程序阶段(应用手册 SPRAA69D)、该阶段将与主机通信。 它可能更新 Application.bin、也可能不更新(具有非重叠存储器映射)  

    3) 3)程序执行从 Golden_Tiny.bin 传输到 Application.bin 的过程是怎样的

    我无法将其可视化。 如果您能向正确的方向指出、将会有所帮助。  

    谢谢
    LAK

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

    我阅读了技术文档 - SPRAA69D-使用 TMS320C672x 引导加载程序、并对引导过程有一些基本的了解。

    我们使用并行闪存引导,非 BIOS。

    在上电后、会立即发生以下情况

    1)片上引导加载程序从闪存复制1KB 并执行 TiSecondaryBoot (由 TI 提供)、这将调用辅助引导加载程序(执行硬件初始化-配置 PLL 等)。

    2)硬件初始化后、 次级引导加载程序将解析 AIS 流并将代码/数据段加载到不同的存储器中(如.cmd 文件中定义的那样)。  

    3) 3)最后、它跳转到_c_int00 (设置 C 环境)的执行、这将调用 main 函数、并且我们的应用程序开始执行

    您能否告知我当前的理解是否正确?  

    如果是、   

    a)现有应用程序能否将 new_App.bin 加载到代码/数据空间中并将执行转移到新映像?

    b)或仅片上引导加载程序可以加载吗?这意味着我不能有2个单独的.bin 文件(一个回退黄金映像和最新的应用程序映像)

    最后、我要尝试实现2阶段引导过程、如果 闪存写入最新映像失败、则应存在黄金回退映像(永远不会更新)。

    这样它就不会在发生故障时使整个系统砖墙。

    由于系统限制、我们无法使用任何备用引导方法、如 SPI 从站或 HPI。  请就正确的方法提供建议。

    LAK