在1642演示中、我尝试将 SOC_AR16XX_DSS_L2_buff 大小修改为更大的0x10000 (L2RAM 对于每个 UMAP 具有128KB 的容量)、链接器将在此处提供错误。
那么、限制是什么、我如何修改它呢?
L2RAM 处理速度是否比 L3RAM 快? 那么、演示中是否可以将一些变量或数组(例如 detmatrix)从 L3RAM 移动到 L2RAM?
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.
在1642演示中、我尝试将 SOC_AR16XX_DSS_L2_buff 大小修改为更大的0x10000 (L2RAM 对于每个 UMAP 具有128KB 的容量)、链接器将在此处提供错误。
那么、限制是什么、我如何修改它呢?
L2RAM 处理速度是否比 L3RAM 快? 那么、演示中是否可以将一些变量或数组(例如 detmatrix)从 L3RAM 移动到 L2RAM?
您好!
C74x 内部存储器的说明可在 C74x TRM 中找到(在 TI.com 上搜索 SPRUH91D)。 C74x 具有256K L2 RAM。 如 TRM 第4.2节所述、将其配置为部分缓存和部分 RAM。 RAM 部分被演示的 BIOS 配置文件(dss_main.cfg)进一步分频、该文件为堆分配16KB 的 L2。 链接器配置文件将其分为两半:
(来自 SDK 1.0.0.5)
L2SRAM_UMAP1 007e0000 00020000 00000000 RWIX
L2SRAM_UMAP0 00800000 00020000 00016d19 000092e7 RWIX
因此、它似乎全部配置为 RAM。 您看到的故障是因为0x10000块不适合已配置的块。
define SOC_AR16XX_DSS_L2_buff _size 来自 SDK 0.8。 在1.0.0.5 SDK 中、名称已更改为 MMW_L2_heap_size、并设置为0xC000、从0x5000开始递增。
是的、L2 RAM 将比 L3快一些。 L2通常以 CPU 的时钟速率进行访问、无需分频。