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.

[参考译文] TM4C1294NCZAD:从 SDRAM/闪存运行代码

Guru**** 2482105 points
Other Parts Discussed in Thread: TMS570LC4357

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/715620/tm4c1294nczad-running-code-from-sdram-flash

器件型号:TM4C1294NCZAD
主题中讨论的其他器件:TMS570LC4357

Tiva-C (至少某些型号)支持使用外部 SDRAM 和/或闪存。 可以从 SDRAM 和闪存运行代码。 好的、这很清楚。  

现在、关键在于细节、 能够运行代码并 合理地执行代码是两个不同的事情。 据我所知、Tiva 没有运行任何类型的缓存。 如果指令是从 SDRAM 逐一获取的、那么这并不是一个完全高效的过程。 存储器控制器是否足够智能、至少可以将单个长指令的两个字读取合并到一个事务中? 例如、如果我们使用典型的16位 SDRAM、则在60MHz 时钟下、其工作原理如下:

Alliance AS4C4M16SA 143MHz 器件可在60MHz 时钟下工作、达到 tRCD = 2 clk、CAS = 2clk、TRAS = 3clk、TRP= 2clk

  • 因此、如果我们以最不理想的方式执行此操作、则每个字的 tras + TRP 3+2 = 5个周期。 在83ns/PoP 下几乎不是最佳选择。 更糟糕的是、您需要两个字、因此  两次访问需要10个时钟或167ns 或6MHz 指令时钟!  
  • 可以一次执行多个读取操作、因此连续抓取一条指令的两个字、在6 个时钟 或10MHz 指令时钟下会稍微减少麻烦。  。
  • 理想情况下 、SDRAM 控制器"知道"行、并且不会取消选择中间访问的器件、您可以查看  每长时钟3个时钟或20MHz 指令时钟。  

那么、在使用 SDRAM 运行代码时、您要处理哪个选项?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Olli、
    为什么不从内部存储器运行代码? 有1MB 闪存和256K SRAM、您可以在单周期中运行代码。 此设备中没有高速缓存。 正如您已经指出的那样、从 SDRAM 内存运行代码的速度会很慢。 您还需要处理需要花费相当长一段时间的更新。 我可能会产生这样的印象:您使用 uDMA 将某些代码从外部 SDRAM 传输到内部 SRAM、并从 SRAM 运行代码、而不是直接从 SDRAM 运行代码。 我认为,即使这是可能的,也不是最佳的解决办法。 您的应用程序需要使用 SDRAM 中的代码吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将在这里进行一项可行性研究。 我们的软件人员不会像他们应该的那样将1MB 代码/常量数据视为一个巨大的存储库、而是要求更多。 编程人员。 我制作了一个选项表、并适当地整理了支持外部 SDRAM 的 Tiva、因此它是一个可行的选择。 但是、现在更仔细地研究它、虽然您 可以这样做、但您似乎不 应该这样做。  

    如果我们改用 Sitara MPU、则会完全消失、它具有实际的高速缓存和专为使用外部 DDR3而设计的存储器控制器。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Olli、
    感谢您的信息。 在本例中、Sitara 将是您的应用的更好选择。 我熟悉的另一个器件是 TMS570LC4357 Hercules 器件。 此器件具有4MB 片上闪存和512K SRAM、具有32k 的指令和数据高速缓存。 该器件还支持外部存储器接口。 此器件以300MHz 运行。 这是您评估的另一个选择。