基于芯驰 X9HP PTG4.3 修改 4G DDR Layout

2024-02-19 19:12

本文主要是介绍基于芯驰 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 / 刘沛

更多资讯,请关注下方公众号:

 登录大大通,了解更多详情,解锁1500+完整应用方案,更有大联大700+FAE在线答疑解惑!

这篇关于基于芯驰 X9HP PTG4.3 修改 4G DDR Layout的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/725664

相关文章

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

Linux修改pip临时目录方法的详解

《Linux修改pip临时目录方法的详解》在Linux系统中,pip在安装Python包时会使用临时目录(TMPDIR),但默认的临时目录可能会受到存储空间不足或权限问题的影响,所以本文将详细介绍如何... 目录引言一、为什么要修改 pip 的临时目录?1. 解决存储空间不足的问题2. 解决权限问题3. 提

Linux文件名修改方法大全

《Linux文件名修改方法大全》在Linux系统中,文件名修改是一个常见且重要的操作,文件名修改可以更好地管理文件和文件夹,使其更具可读性和有序性,本文将介绍三种在Linux系统下常用的文件名修改方法... 目录一、引言二、使用mv命令修改文件名三、使用rename命令修改文件名四、mv命令和rename命

mybatis-plus 实现查询表名动态修改的示例代码

《mybatis-plus实现查询表名动态修改的示例代码》通过MyBatis-Plus实现表名的动态替换,根据配置或入参选择不同的表,本文主要介绍了mybatis-plus实现查询表名动态修改的示... 目录实现数据库初始化依赖包配置读取类设置 myBATis-plus 插件测试通过 mybatis-plu

Linux下修改hostname的三种实现方式

《Linux下修改hostname的三种实现方式》:本文主要介绍Linux下修改hostname的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下修改ho编程stname三种方式方法1:修改配置文件方法2:hFvEWEostnamectl命

4G/5G全网通! FiberHome烽火5G CPE Air路由器拆机评测

《4G/5G全网通!FiberHome烽火5GCPEAir路由器拆机评测》烽火5GCPE已经使用一段时间了,很多朋友想要知道这款路由器怎么样?今天我们就来看看拆机测评... 我想大家都听说过、了解过5G。 5G是具有高速率、低时延和大连接特点的新一代宽带移动通信技术,5G通讯设施是实现人机物互联的网络基础设

Git如何修改已提交人的用户名和邮箱

《Git如何修改已提交人的用户名和邮箱》文章介绍了如何修改Git已提交人的用户名和邮箱,包括注意事项和具体步骤,确保操作正确无误... 目录git修改已提交人的用户名和邮箱前言第一步第二步总结git修改已提交人的用户名和邮箱前言需注意以下两点内容:需要在顶层目录下(php就是 .git 文件夹所在的目

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

MySQL修改密码的四种实现方式

《MySQL修改密码的四种实现方式》文章主要介绍了如何使用命令行工具修改MySQL密码,包括使用`setpassword`命令和`mysqladmin`命令,此外,还详细描述了忘记密码时的处理方法,包... 目录mysql修改密码四种方式一、set password命令二、使用mysqladmin三、修改u