基于芯驰 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次,发文人进小黑屋喔~

评论