[NXP i.MX 應用處理器教室] 在i.MX8MQ上使用容量3GByte以上的記憶體

由於在i.MX8MQ的EVK上,使用了3GB 的LPDDR4的記憶體。所以在NXP所提供的軟件中,Source code中將記憶體的規劃成3GB容量。
但是,在客人的運用端,因為有不同運用的需求,必須在開發平增加許多的APP。當增加 了許多的APP,同時間所需的記憶體也要增加。
常常遇到記憶體容量必須大於3GB。

此時,除了在硬件上:換上更大容量的記憶體之外,在軟件開發上也要有相對應的修改才行。
以下,將以一個4GB LPDDR4 記憶體來說明:

一、產生一個全新4GB LPDDR4的u-boot
       1. 基於4GB LPDDR4的datasheet,用NXP 提供的工具"MSCALE_DDR_Tool"產生全新lpddr4_timing.c
           

       2. 將此全新lpddr4_timing.c置換於u-boot。置換路徑為"board/freescale/imx8mq_evk/lpddr4_timing.c"
       3. 在程式碼中變更記憶體的容量,由3GB變成4GB (PHYS_SDRAM_SIZE 0x100000000). 路徑為"include/configs/imx8mq_evk.h",如下:

           

       4. 重新編譯u-boot ,可依藉由以下指令
                 bitbake command (bitbake u-boot-imx -c compile -f && bitbake u-boot-imx -c deploy -f).

二、從NXP MKIMAGE功能中刪除OPTEE container

       1. 修改此檔案"imx-boot_0.2.bb",路徑為 /sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-bsp/imx-mkimage/
             

三、在Arm Trusted 韌體原始碼中刪除OPTEE功能
       1. 修改此檔案 "imx-atf_2.0.bb",路徑為 /sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-bsp/imx-atf
              
四、重新編譯程式碼即可

       1. 重新編譯 ARM Trust Firmware
              bitbake imx-atf -c compile -f && bitbake imx-atf -c deploy -f
       2. 重新編譯 NXP MKIMAGE
              bitbake imx-boot -c compile -f && bitbake imx-boot -c deploy -f
       3. 重新編譯 full image
              bitbake core-image-base 

五、將得到全新的映像黨(Image)燒錄到開發版(4GB記憶體)中即可
       1. 藉由UUU工具將完整映像黨燒錄製eMMC中
               sudo uuu -b emmc_all imx-boot-imx8mqevk-sd.bin-flash_evk yourImageName.sdcard
       2. 重新開機即完成4GB的記憶體設置。Log檔案如下
              

以上提供的步驟,能讓開發者將更大的記憶體容量(大於3GB)運用於i.mx8mq的平台之上。


★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论