主题中讨论的其他器件:SysConfig
工具与软件:
嗨、团队:

1. TCMA-R5F :地址为0x0~0x40的 R5F_VECS 区域是什么? 用户可以将其 用作 TCM 吗?
是否需要从样片程序中修改 TCMA 起始地址?
3.ram0_m4F :地址为0x0~0x200的 M4F_VECS 区域是什么? 用户可以将其 用作 RAM 吗?
4.闪存中没有 M4F 内核,这与 Applmage?
此致、
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.
工具与软件:
嗨、团队:

1. TCMA-R5F :地址为0x0~0x40的 R5F_VECS 区域是什么? 用户可以将其 用作 TCM 吗?
是否需要从样片程序中修改 TCMA 起始地址?
3.ram0_m4F :地址为0x0~0x200的 M4F_VECS 区域是什么? 用户可以将其 用作 RAM 吗?
4.闪存中没有 M4F 内核,这与 Applmage?
此致、
您好!
感谢您的提问。
。 TCMA-R5F :地址为0x0~0x40的 R5F_VECS 区域是什么? 用户可以将其 用作 TCM 吗?
从0x0到0x40的 TCMA 地址用于存储向量信息。 这是应用程序的条目、_vector 必须放置在起始地址0x0。
ram0_m4F :什么是地址为0x0~0x200的 M4F_VECS 区域? 用户可以将其 用作 RAM 吗?[/QUOT]0x0 - 0x200之间的 M4F_VECS 地址用于存储 M4F 应用的向量信息。 此区域需要用于存储矢量条目、不能用于保留应用程序代码。
闪存中没有 M4F 内核、这与应用程序不同吗?我不明白上面的句子。 您能详细说明一下吗?
此致、
Tushar
[/quote]
TCMA_R5F 起始地址与技术参考手册 P.41中写入的主域存储器映射不同。 在 P208引导存储器映射中、只有0x4101_000~0x4101_7FFF、并且想知道是否需要更改此设置。
>>闪存中没有 M4F 内核,这与 Applmage?
在闪存区域中未找到内核、希望知道它是否与将要写入的应用映像不同。
尊敬的 Sho:
[报价 userid="477139" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1450446/am2432-epmty-sample-program-system-configuration/5564240 #5564240"] TCMA_R5F 起始地址与技术参考手册 P.41中写入的主域内存映射不同。 在 P208引导内存映射中、只有0x4101_000~0x4101_7FFF、并且想知道是否需要更改此值。[/QUOT]对于 R5F 应用、R5F TCMA 存储器本地地址从0x0开始、且 TCMB 本地地址从0x41010开始。 TRM 的 P41定义了外部源的 TCM 地址。 请参阅一节 6.2.3.2.2紧耦合存储器(TCM) TRM。
未找到闪存区域内核、并想知道它是否与将要编写的应用程序映像不同。
我不理解这句话、您的意思是闪存不属于 R5或 M4、那么哪个内核能够写入闪存?
请参阅一节 12.3.1闪存子系统(FSS) TRM 、以了解闪存详细信息。
此致、
Tushar
尊敬的 Tusher Thakur:
>>我不理解这句话,你是说闪存不属于 R5或 M4下,那么哪个内核能够写入闪存?
我提出此问题是因为我不了解 SysConfig 的存储器区域中指定的闪存区域的用途。
在 Memory Region 中分配内存时、每个内核都可以使用 FSS (闪存子系统)访问所分配的区域这种说法是否正确?
此外、是否需要在存储器区域中指定用于 OSPI 引导的应用程序映像的地址、这是正确的?
此致、
长田芳秀
尊敬的 Yoshihide:
如果用例只是 将二进制写入闪存、您可以使用 SDK 中提供的刷写工具。
请参阅 flash_application、 以了解刷写应用程序的步骤。
此致、
Tushar
您好、Tusher、
>>如果用例只是 将二进制文件写入闪存、可以使用 SDK 中提供的刷写工具。
作为一个用例、我考虑将扩展数据从 MSRAM 写入闪存、而不是从 PC 写入。
我相信有相应的示例代码。
AM243x MCU+ SDK:OSPI 闪存 IO
AM243x MCU+ SDK:OSPI 闪存 DMA
当我测试示例代码时、我能够通过 OSPI 写入闪存。
然而、"此存储器只能在进行读写操作时访问"这一说法与示例代码不符。
我想知道原因。
此致、
长田芳秀
嘿 Vaibhav、
新年快乐!
请 回复 Nagata San 的查询。
[报价用户 id="635233" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1450446/am2432-epmty-sample-program-system-configuration/5575967 #5575967"]然而、"此存储器只能在进行读写操作时访问"这一说法与示例代码不符。
我想知道原因。
[报价]此致
Charan
您好!
感谢您的耐心。
我已通读该主题、我将提供我的见解。
[报价用户 id="635233" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1450446/am2432-epmty-sample-program-system-configuration/5575967 #5575967"]>>如果用例只是 将二进制文件写入闪存、可以使用 SDK 中提供的刷写工具。
作为一个用例、我考虑将扩展数据从 MSRAM 写入闪存、而不是从 PC 写入。
我相信有相应的示例代码。
AM243x MCU+ SDK:OSPI 闪存 IO
AM243x MCU+ SDK:OSPI 闪存 DMA
当我测试示例代码时、我能够通过 OSPI 写入闪存。
然而、"此存储器只能在进行读写操作时访问"这一说法与示例代码不符。
我想知道原因。
[报价]我想对你在这里写的回应发表评论。
注意:
在阅读以下回复之前、请了解短语"DAC Enable"。 所以、无论我说"DAC Enable"、它都意味着启用直接访问。 这是一种初始方式、意味着当 DAC 处于启用状态时、闪存会映射到从地址0x60000000开始的 SoC 存储器。 当 DAC 启用时、很明显、您可以看到从0x60000000开始的 SoC 存储器中的闪存内容。
所以、您正在使用的闪存部件具有其自己的存储器。
现在,我们的驱动程序的设计方式是,它能够通过调用顶级 API 即 Flash_WRITE()和 Flash_READ ()写入闪存存储器和读取相同的数据。 但还有更多。
该分类根据您使用的闪存器件 NAND 或 NOR 闪存器件进行。
此处明确记录了 NOR 不进行间接写入和 NAND 进行直接写入的原因: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1448730/am6421-does-ospi-support-dma/5561444#5561444
就从闪存器件读取而言、读取始终在直接模式下进行。 因此、NOR 和 NAND 闪存器件均支持直接/DAC 读取。
如果您启用 DMA、则可在 DAC 读取之上获得优势、因此这意味着最快的读取方式是(启用 DMA +启用 DAC 读取)。
请告诉我这是否澄清了你的一些疑虑、请继续提出更多的疑虑、以便进一步澄清。
此致、
Vaibhav
您好、Tusher、
很抱歉响应延迟。
感谢您提供有关 DAC 的信息。
您能为我澄清以下三点吗?
A)我知道在 AM243x-LP 上、由于存在 NOR 闪存、因此在启用 DAC 时无法写入。
->我的理解是正确的:"该存储器只能在读取而不能写入时访问。" 准确吗?
b)如何确定是启用还是禁用 DAC?
C)我知道如果 DAC 被禁用、则可以写入 NOR 闪存。
->我应该采取什么步骤来禁用 DAC 并写入 NOR 闪存?
AM243x MCU+ SDK:OSPI 闪存 IO 是否适合解决方案?
此致、
长田芳秀
您好!
我的理解是"此存储器只能在读取时而非写入时才能访问。"
可以直接访问存储器以便进行只读操作、而对于写入闪存、这是间接写入操作、我们使用内部 SRAM。
)如何确定是启用还是禁用 DAC?
一个名为 OSPI_enableDacMode ()和 OSPI_disableDacMode ()的 API 分别用于启用和禁用 DAC 模式。
另一种解决方法是如果您看到闪存器件来自地址0x60000000的内容、则启用 DAC。
但在读取 API 中、需谨慎操作、因此您只需调用读取 API 即可。 流程如下:
flash_read()调用
OSPI_readDirect ()
DAC 在此启用
发生读取
DAC 禁用
退出 OSPI_readDirect()
函数调用返回到 Flash_Read()
因此,您无需显式定义何时调用 DAC 启用,只需确保调用 Flash_READ ()即可。
希望这能解答您的疑问。
[报价 userid="635233" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1450446/am2432-epmty-sample-program-system-configuration/5641612 #5641612"]c)我明白如果禁用了 DAC、则可以写入 NOR 闪存。您不必担心 DAC 被启用用于写入操作、这是因为当间接写入操作发生时、此 DAC 被禁用。
假设您要向某个闪存写入一些字节、那么您应该:
1.擦除要写入的闪存
2.现在写入闪存
在第2点,当你写的时候,你需要调用 Flash_WRITE(),它的实现如下:
flash_write() 调用
OSPI_writeIndirect()
禁用 DAC 模式
发生写入
退出 OSPI_writeInDirect()
函数调用返回到 Flash_WRITE()
此致、
Vaibhav
您好!
[报价 userid="635233" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1450446/am2432-epmty-sample-program-system-configuration/5663542 #5663542"]我知道我可以使用 Flash_WRITE()写入闪存。
我关于这一问题的所有问题都已解决。
[报价]如果说明有帮助、请将我之前的回答标记为已解决。
正在关闭该主题帖。
此致、
Vaibhav