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.

[参考译文] Starterware:了解 MMU 的段大小

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/619355/starterware-understanding-section-size-for-mmu

工具/软件:Starterware

您好!

是否有人了解如何在适用于 AM335x 的 Starterware 代码示例中计算段大小:

#define START_ADDR_DDR (0x8000000)
#define START_ADDR_DEV (0x44000000)
#define START_ADDR_OCMC (0x40300000)
#define NUM_SECTIONS DDR (512)
#define NUM_SECTIONS (960)
#define NUM_SECTIONS OCMC (1)


1.如何 计算 NUM_SECTIONS DDR (512)和 NUM_SECTIONS (960)的数字?

2.为什么示例对 DMA 使用 inavlidate / flush? 是否在 上面的 START_ADDR_DEV 中将 DMA 空间配置为不可高速缓冲空间  ?

感谢您对此进行了说明、
已运行

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

    RAN、

    这来自哪个示例?

    如果您看一下以下 C:\ti\pdk_am335x_1_0_7\packages/ti\starterware\examples\example_utils\example_utils_mmu.h、则值不同。

    /*==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== */
    * 宏和 Typedefs /*
    ==================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================== */
    
    /**\page 表中的条目数量简介。 这仅适用于第一级
    页表。 //
    #define MMU_PAGETABLE_NUM_Entry (4096U)
    
    /**\Page Table 的简短对齐。 页表应与16KB
    *对齐 边界。
    *
    *注意:此对齐基于 ARM、如果值不同
    、则适用于其他架构* 此宏应移至 ARCH 特定文件。
    */
    #define MMU_PAGETABLE_ALIGH_SIZE (16U * MEM_SIZE_KB)
    
    /** MMU 配置的内存定义。 //
    //* TODO:需要从芯片/电路板数据库获取以下数据。 */
    #define START_ADDR_DDR (0x80000000U)
    #define START_ADDR_DEV (0x44000000U)
    #define START_ADDR_L2_SRAM (0x40500000U)
    #define START_ADDR_QSPI (0x30000000U)
    /*段大小为1MB、下面的宏是1MB 的倍数。 //
    #define NUM_SECTIONS DDR (128U)
    #define NUM_SECTIONS _DEV (960U)
    #define NUM_SECTIONS OCMC (1U)
    #define NUM_SECTIONS L2_SRAM (1U)
    #define NUM_SECTIONS _QSPI (64U) 

    Lali

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

    为什么 NUM_SECTIONS _dev 等于960? 我是说,它是如何计算的?

    谢谢、
    已运行