主题:SysConfig 中讨论的其他器件
工具/软件:
您好、
对于硬件验证、我们希望禁用缓存以确保所有数据都是原始数据和直接数据。 但是、如果我注释掉了此函数下的 CACHE_ENABLE、整个应用程序将无法启动。 是否有办法进入无缓存环境?
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.
工具/软件:
您好、
对于硬件验证、我们希望禁用缓存以确保所有数据都是原始数据和直接数据。 但是、如果我注释掉了此函数下的 CACHE_ENABLE、整个应用程序将无法启动。 是否有办法进入无缓存环境?
尊敬的会议:
在我这边,我尝试了两件事
1.严格按照你的屏幕截图,包括区域地址和区域大小
2.不更改区域地址设置、而只更改索引 4 的属性
两者都无法正常工作。
我尝试调试示例代码、但收到错误消息 :<Source file 'portable\gc\arm_CA53\portasm.S' was not found.>
然后我尝试调试我自己的工程、我看到这两种情况下它都将进入无穷大的 while 循环
MmuP_RegionConfig gMmuRegionConfig[CONFIG_MMU_NUM_REGIONS] = { { .vaddr = 0x0u, .paddr = 0x0u, .size = 0x80000000u, .attr = { .accessPerm = MMUP_ACCESS_PERM_PRIV_RW_USER_NONE, .privExecute = 1, .userExecute = 0, .shareable = MMUP_SHARABLE_OUTER, .attrIndx = MMUP_ATTRINDX_MAIR0, .global = 1 } }, { .vaddr = 0x82000000u, .paddr = 0x82000000u, .size = 0x02000000u, .attr = { .accessPerm = MMUP_ACCESS_PERM_PRIV_RW_USER_NONE, .privExecute = 1, .userExecute = 0, .shareable = MMUP_SHARABLE_OUTER, .attrIndx = MMUP_ATTRINDX_MAIR4, .global = 1 } }, };
MmuP_RegionConfig gMmuRegionConfig[CONFIG_MMU_NUM_REGIONS] = { { .vaddr = 0x0u, .paddr = 0x0u, .size = 0x80000000u, .attr = { .accessPerm = MMUP_ACCESS_PERM_PRIV_RW_USER_NONE, .privExecute = 1, .userExecute = 0, .shareable = MMUP_SHARABLE_OUTER, .attrIndx = MMUP_ATTRINDX_MAIR0, .global = 1 } }, { .vaddr = 0x80000000u, .paddr = 0x80000000u, .size = 0x80000000u, .attr = { .accessPerm = MMUP_ACCESS_PERM_PRIV_RW_USER_NONE, .privExecute = 1, .userExecute = 0, .shareable = MMUP_SHARABLE_OUTER, .attrIndx = MMUP_ATTRINDX_MAIR4, .global = 1 } }, };
谢谢、
Dazong
您好、Dazong、
请尝试以下 MPU 配置设置:
•将 ATF 代码放置在缓存的 DDR 存储器中。
•将应用程序保留在未缓存的 DDR 内存中。
•确保 AMP 共享缓冲区驻留在缓存的内存中。
我附上了代码供您参考。
请注意:
如果将 DDR 存储器的任何部分移动到未缓存状态、性能会降低。
如果这种降级对于您的用例来说是可以接受的、则可以继续使用这些设置。
否则、建议将所有内容都保存在缓存中、以获得更好的性能。
代码:
请告诉我,如果你遇到任何问题..
此致、
Anil.
嘿 Anil、
我想我会继续这里的讨论、因为它与缓存禁用有关。 所以、我测试的是我使用了与 MMC 示例相同的设置和代码、我能够构建和运行示例 MMC 代码。 但是、当我将 MMU ARMv8 的设置复制到 I2C Led 闪烁示例时、一旦我将 DDR_MEM_REGION 的属性从 Attr 索引 7 更改为 Attr 索引 4、I2C Led 闪烁的该示例代码将不起作用
您能否请尝试一侧对 MMU ARMv8 的 MMC 示例模拟上述相同的设置、看看您是否能够使用它来运行 I2C led 闪烁示例。
谢谢
e2e.ti.com/.../i2c_5F00_led_5F00_blink_5F00_am62lx_2D00_evm_5F00_a53ss0_2D00_0_5F00_nortos_5F00_gcc_2D00_aarch64.zip