基於芯馳 X9HP PTG4.3 修改 4G DDR Layout

以下操作都基於 Docker 編譯環境,使用方法請參考原廠文檔《使用Docker 搭建X9 平台代碼編譯環境》。

 

1.下載 buildsystem

git clone ssh://customer_c@isupport.semidrive.com:29418/x9c/buildsystem_X9_PTG4.3/buildsystem.git -b X9_PTG4.3

 

2.配置編譯環境

source lunch_sd.sh -c X9H_MS_NativeAndroidUser_Serdes_4G_emmc_4266.json -b X9_PTG4.3 -u customer_c

 

3.初始化編譯工具

make inittools

 

4.同步全部代碼

make sync_all

 

5.編譯前的配置

(1)export SHELL=/bin/bash

(2)buildsystem/atf/atf/arm-trusted-firmware/sml_setup.mk 文件修改為如下

 ATF_CROSS_COMPILE := /tool/gcc_linaro/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-elf/bin/aarch64-elf-

 

6.編譯

6.1編譯全部:

make build_all

 

6.2 分步編譯:

make lk

make baremetal

make freertos

make atf

make android 2>&1 | tee xxx.log

 

編譯結束增加如下一個 android log 文件

xxx.log

 

編譯得到的二進制文件在如下目錄

       binary_X9H_MS_NativeAndroidUserdebug_Serdes_4G_emmc_4266

 

6.3 打包命令

make genpac

genpac 打包得到的鏡像文件

image_X9H_MS_NativeAndroidUserdebug_Serdes_4G_emmc_4266

 

 


7.鏡像測試

7.1 無修改鏡像測試

        這份無修改代碼編譯的鏡像可在芯馳 X9H_MS Demo 板顯示兩路 Android 屏,控制台 log 如下。

 

 

 

 

 

 

7.2 無修改鏡像燒寫到 4G DDR 的客戶 Demo 板

       無修改鏡像燒寫進客戶板子螢幕,控制台 log 如下,Android 無法啟動,無 adb 設備,無法使用 scrcpy 工具。

 

 

 

 

 

 

  8.修改代碼適配 4G DDR

8.1 修改 json 配置

       修改 X9H_MS_NativeAndroidUserdebug_Serdes_4G_emmc_4266.json 文件的內存大小適配於客戶的 X9HP 4G 內存

 


8.2 使用 SDToolBox 工具修改配置

      (1)使用 SDToolBox 工具修改 DDR 內存為 4G 並生成新的代碼文件。

 

     




(2)生成的文件與8G配置文件對比如下

 

 

(3)替換或修改文件

一般把生成的文件替換或修改到如下目錄:

buildsystem/rtos/lk_boot/chipcfg/generate/x9_high/projects/ms_serdes/image_cfg.h

 

buildsystem/rtos/lk_boot/chipcfg/generate/x9_high/projects/ms_serdes/image_cfg.mk

 

buildsystem/android10/kernel/include/dt-bindings/memmap/x9_high/projects/ms_serdes/ image_cfg.h

 

本次編譯工程沒有linux 系統,故不需替換 buildsystem/yocto/ 下的內容。

 

(4)重新配置編譯環境

        修改之後,記得重新配置編譯環境,否則修改無法生效:

        source lunch_sd.sh -c X9H_MS_NativeAndroidUser_Serdes_4G_emmc_4266.json -b X9_PTG4.3 -u customer_c

 

(5)重新編譯

全編:

make build_all(單編 make bootimage 反而更慢)

 

分步編譯:

make freertos

make android (之前編譯過會比較塊,一般幾分鐘~十幾分鐘)

 

     
     (6)修改為 4G DDR 的配置後的鏡像可以運行在 X9H_MS Demo 板,X9H_MS Demo 板顯示屏,各控制台 log 狀態如圖。

 



        (7)修改為 4G DDR 的配置後的鏡像可以運行在客戶 Demo 板,客戶顯示屏還未適配所以無法顯示,使用 scrcpy 工具顯示,各控制台 log 狀態如圖。





參考資料

        [1]《SD_X9_PTG4.1_release_notes》

        [2]《X9_SDK_用戶手冊_Rev1.7》

[3]《Hands-On_x9 如何修改 memory layout》



我是好景虛設,歡迎在大大通上關注我!




芯馳 X9 相關博文:

      《基於芯馳 X9HP 的設備樹文件 dts 的編譯和 dtb 文件的反編譯》

      《基於芯馳 X9HP Demo 板使用 tinyplay 命令調試音頻接口》

 

歡迎在博文下方留言評論,我們會及時回復您的問題。如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com

作者:Stark Liu / 劉沛



更多資訊,請關注下方公眾號:


★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論