基于芯驰 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

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

Python对PDF书签进行添加,修改提取和删除操作

《Python对PDF书签进行添加,修改提取和删除操作》PDF书签是PDF文件中的导航工具,通常包含一个标题和一个跳转位置,本教程将详细介绍如何使用Python对PDF文件中的书签进行操作... 目录简介使用工具python 向 PDF 添加书签添加书签添加嵌套书签Python 修改 PDF 书签Pytho

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

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命