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.

[参考译文] EK-TM4C1294XL:具有 UDMA 交替模式和闪存程序的从 SSI

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/608292/ek-tm4c1294xl-slave-ssi-with-udma-ping-pong-mode-and-flash-program

器件型号:EK-TM4C1294XL

您好!

我在乒乓模式下的从 SSI 和 UDMA 中有一个完整的工作代码、用于从 ADC 获取数据。

现在、我想将数据存储到内部闪存中。

但是、当我在 UDMA 正在进行时尝试使用 FlashProgram API 将数据编程到内部闪存时、DMA 的中断处理程序会与 IRQ DMARX 循环调用、但 DMA 模式不指示任何已完成的 DMA。

有人可以给我任何建议吗?

在对内部闪存进行编程时、在乒乓模式下使用 UDMA 是否有任何限制?

此致、

Nicolas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Nicolas、
    为什么要将数据存储在内部闪存中而不是 EEPROM 中? 内部闪存是非易失性的、如果要更改数据、您需要擦除闪存。 内部闪存通常用于存储程序映像。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Charles、

    我想使用内部闪存、因为 EEPROM 太小、只有6KB。

    在8MHz 时、数据速率为2位、我需要尽可能记录数据速率。

    Nicolas

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

    您好!

    我尝试从 SRAM 运行我的所有代码、但用于 DMA RX 的 SSI 的 ISR 似乎不运行。

    有什么想法吗?

    Nicolas

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Nocolas、您好!
    您能否详细说明从 SRAM 运行代码的目的? 您需要将代码从闪存复制到 SRAM、不是吗? 当您说用于 DMA RX 的 SSI 的 ISR 似乎不运行时、您是说从未进入过 ISR 吗? 如果是这种情况、则需要检查 DMA 是否已完成传输。 为了使 DMA 能够传输、它需要接收 SSI 模块发出的 DMA 请求。 SSIDMACTL 寄存器的 RXDMAE (接收 DMA 使能)位是否置位?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Charles、

    为了避免在将数据记录到闪存中期间运行软件时访问闪存、我尝试从 SRAM 运行所有软件应用程序。 目前、我使用调试器、因此我预计不需要将应用从闪存复制到 SRAM。 我只需更改"ccs.cmd"文件即可将所有段映射到 SRAM。

    当我将所有段放入 SRAM 时、永远不会进入 SSI 外设的 RX DMA 的 ISR。 我仔细检查了 RXDMAE 位、该位被设置为1。

    但是、如果我将".intvecs"段保留在闪存中、ISR 没有问题...

    Nicolas

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

    您好、Nicolas、
    是的、您需要将 intvecs 设置为0x0。 擦除闪存并加载代码后、如果.intvecs 未映射到0x0、地址0x0和0x4都是 F、对吧?