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/TMS320C6418:EMIFA CE1 defaul 设置

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/743587/ccs-tms320c6418-emifa-ce1-defaul-settings

器件型号:TMS320C6418

工具/软件:Code Composer Studio

你(们)好。

我要开发的应用使用 C6418器件 CCS5.5

我有一个定制板、配备了外部闪存(RC28F00AP30TF)、16位数据总线访问。

由于我正在使用汇编语言开发二级引导加载程序、我更喜欢让引导代码只将应用程序从外部存储器复制到 RAM 中、而无需额外的代码、也无需 EMIF 初始化。

根据 C6418 EMIF 用户指南 (SPRU266E)、我了解在启动时、在任何 EMIF 初始化之前、CECTL 寄存器- MTYPE 字段配置为8位异步访问模式。

8位异步 EMIFA 如何在16位数据总线上工作?

为了在具有 EMIFA 8位配置的16位数据总线上正确读取、应该如何对外部闪存进行编程?

换句话说、假设我必须将该数据存储到闪存中:0xAA 0xBB 0xCC 0xDD 0xEE 0xFF... 我必须将其复制到 C6418片上 RAM 中。 如何将数据存储到外部闪存中?

字宽:

FlashAddress 0:0xAA 0xBB

FlashAddress 1:0xCC 0xDD

FlashAddress 2:0xEE 0xFF

(笑声)

或字节宽?

FlashAddress 0:0x00 0xAA

FlashAddress 1:0x00 0xBB

FlashAddress 2:0x00 0xCC

FlashAddress 3:0x00 0xDD

(笑声)

谢谢你

此致

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

    Carles、您好!

    有趣的问题。

    我现在正在研究它、希望在一天结束前得到响应。

    谢谢、
    标记

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

    很抱歉未按时完成。 您是否了解了如何通过8位 ROM 引导模式引导16位存储器?

    C6418具有32位 EMIFA (根据数据表 SPRS241D)、仅支持8位 ROM 引导。

    在 SPRU266E 中、C6418最匹配 C6411 (32位 EMIFA)、C64x 的注意事项适用于 C6418。

    您连接的是16位存储器、其中引导加载程序需要8位存储器。 因此、当 EMIFA 配置为8位存储器时发生的地址移位将导致从16位存储器读取时出现寻址问题(正如您指出的那样)。

    该地址被适当地向左移位、以便为窄存储器提供正确的地址。 16位 ROM 的移位量为1位、8位 ROM 的移位量为2位。

    A[19:0]将在 EA[22:3]上输出。 当地址递增时、EMIFA 只需读取一个字节、但您的16位存储器将输出2个字节。 在这两个字节中、EMIFA 将只读取最低有效字节。

    我认为您应该必须将程序代码存储在内存的"字节宽"中
    FlashAddress 0:0x00 0xAA
    FlashAddress 1:0x00 0xBB
    FlashAddress 2:0x00 0xCC
    FlashAddress 3:0x00 0xDD

    选定的女男爵也可能会发挥作用。 请参阅 SPRA544D 中的3.3 C64x EMIF
    当复位被释放时、ROM 端字节序格式必须与 TOUT1/LENDIAN 定义的系统端字节序相匹配。 无论8位或16位存储器如何、这都是相同的、但这可能是需要解决的问题。

    我不想您可以使用这些标志使用十六进制实用程序创建引导映像? -memwidth 16和-romwidth 8?
    请参阅 SPRA544D 中的4.2.2 8位 EPROM 引导

    我会尝试引导加载、然后在没有任何初始化 GEL 文件的情况下连接到目标、并验证.bin 引导时间的内容是否与复制到存储器中的内容相匹配。 使用 hexEditor 查看 bin 文件的内容、并与 bootloader 复制的内容的存储器窗口进行比较。

    希望这对您有所帮助、
    标记
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Mark、您好!
    很抱歉、我没有更新您的信息! 我按照您的描述解决了存储引导加载程序二进制映像"字节宽"的问题!
    非常感谢您的支持、非常感谢!

    此致