本系列记载作者来到一个新的车载后装市场小公司,负责从新开始维护一套代码的心路过程。系统使用瑞芯微的rk3368芯片,版本是PX5_Android_8.0_release_20180726,从无到有的每个patch修改以及思考。其中着重点是驱动和系统相关,由于涉及到公司保密,所以APP部分暂时不贴过多的代码,只是针对系统bug进行记录。

2020_02_10 ---- 2020_02_13
将对应版本解压后编译并且下载到了我们自己的主机上,但是出现奇怪的无法启动的log,系统一直重启,经过对比分析觉得是调试口修改问题(不是很清楚原因,估计是硬件上调试口更换,软件没换导致的),最后解决办法也是,通过修改了uboot和内核的调试口,从而系统可以正常启动进入系统,并且屏幕正常显示(此处窃喜)。

其中编译脚本如下:

cd u-boot
make clean
make px5_kernel4.4_defconfig
make ARCHV=aarch64 -j12
cd ..cd kernel
make ARCH=arm64 rockchip_defconfig
make ARCH=arm64 rk3368-px5-evb-android.img -j12
cd ..source build/envsetup.sh
lunch px5-userdebug
make -j12./mkimage.shPACK_TOOL_DIR=RKTools/linux/Linux_Pack_Firmware
mkdir -p $PACK_TOOL_DIR/rockdev/Image/
cp -f rockdev/Image-px5/* $PACK_TOOL_DIR/rockdev/Image/echo "Make update.img"
cd $PACK_TOOL_DIR/rockdev && ./mkupdate.sh
if [ $? -eq 0 ]; thenecho "Make update image ok!"
elseecho "Make update image failed!"exit 1
fi
cd -mv $PACK_TOOL_DIR/rockdev/update.img rockdev/Image-px5/
rm $PACK_TOOL_DIR/rockdev/Image -rf

修改的patch有两个部分:
1.内核:

diff --git a/arch/arm64/boot/dts/rockchip/rk3368-px5-evb-android.dts b/arch/arm64/boot/dts/rockchip/rk3368-px5-evb-android.dts
index 3eb50bb..3496368 100644
--- a/arch/arm64/boot/dts/rockchip/rk3368-px5-evb-android.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3368-px5-evb-android.dts
@@ -52,19 +52,19 @@compatible = "rockchip,px5-evb", "rockchip,px5", "rockchip,rk3368";chosen {
-               bootargs = "earlycon=uart8250,mmio32,0xff1c0000 swiotlb=1 firmware_class.path=/system/vendor/firmware";
+               bootargs = "earlycon=uart8250,mmio32,0xff690000 swiotlb=1 firmware_class.path=/system/vendor/firmware";};fiq_debugger: fiq-debugger {compatible = "rockchip,fiq-debugger";
-                       rockchip,serial-id = <4>;
+                       rockchip,serial-id = <2>;rockchip,wake-irq = <0>;/* If enable uart uses irq instead of fiq */rockchip,irq-mode-enable = <0>;/* Only 115200 and 1500000 */rockchip,baudrate = <115200>;pinctrl-names = "default";
-                       pinctrl-0 = <&uart4_xfer>;
+                       pinctrl-0 = <&uart2_xfer>;interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;};@@ -1218,7 +1218,7 @@};&uart2 {
-       status = "disabled";
+       status = "okay";};

2.uboot:

diff --git a/configs/px5_kernel4.4_defconfig b/configs/px5_kernel4.4_defconfig
index 10e7482..5b119de 100644
--- a/configs/px5_kernel4.4_defconfig
+++ b/configs/px5_kernel4.4_defconfig
@@ -1,4 +1,4 @@
-CONFIG_SYS_EXTRA_OPTIONS="RKCHIP_PX5_KERNEL4_4,RKCHIP_RK3368,PRODUCT_MID,NORMAL_WORLD,SECOND_LEVEL_BOOTLOADER,UART_NUM=UART_CH4"
+CONFIG_SYS_EXTRA_OPTIONS="RKCHIP_PX5_KERNEL4_4,RKCHIP_RK3368,PRODUCT_MID,NORMAL_WORLD,SECOND_LEVEL_BOOTLOADER,UART_NUM=UART_CH2"CONFIG_ARM=yCONFIG_ROCKCHIP_ARCH64=yCONFIG_PLAT_RK33XX=y

u-boot/include/autoconf.mk

CONFIG_UART_NUM="UART_CH2"

rockchip rk3368(px5)车载开发之路1,原生代码系统正常启动相关推荐

  1. rockchip rk3368(px5)车载开发之路5,使能GPS模块UC6226(2.HAL层以及以上)

    本系列记载作者来到一个新的车载后装市场小公司,负责从新开始维护一套代码的心路过程.系统使用瑞芯微的rk3368芯片,版本是PX5_Android_8.0_release_20180726,从无到有的每 ...

  2. rockchip rk3368(px5)车载开发之路2,屏幕正常显示(不对的地方是UI)

    本系列记载作者来到一个新的车载后装市场小公司,负责从新开始维护一套代码的心路过程.系统使用瑞芯微的rk3368芯片,版本是PX5_Android_8.0_release_20180726,从无到有的每 ...

  3. rockchip rk3368(px5)车载开发之路4,使能GPS模块UC6226(1.驱动层)

    本系列记载作者来到一个新的车载后装市场小公司,负责从新开始维护一套代码的心路过程.系统使用瑞芯微的rk3368芯片,版本是PX5_Android_8.0_release_20180726,从无到有的每 ...

  4. 记本阶段建站心得,是走无限做垃圾站之路还是真正的开发之路

    不知不觉,上班有三个月了,三个月除却一些公司里杂七杂八的事,我做了四个站,第一个是六安市志愿者会员管理系统,比较简单,用TP开发,从前台设计.布局,到数据库设计,再到后台代码,改了又改,最后花了近一个 ...

  5. 我的Java开发之路

    最近有一位小伙伴通过公众号给我留言, "我参加工作没多久,看着圈里的技术大牛,特别羡慕,也渴望成为技术大牛,想让您分享一下从小白到大牛是怎样练成的,我该如何提高自己" 首先,谢谢这 ...

  6. 细说inchat系统客户端开发之路

    Inchat系统中间件基础运行环境是经过统一规划的以WebLogic.JBOSS为主的集群环境,企业集成平台是以基础业务应用为基础服务于上层平台和基础业务应用的高度集成平台,数据中心是企业公共数据的集 ...

  7. Qt开发之路39---Qt pro项目检测编译器版本(64位或32位)

    方案一:利用QT_ARCH contains(QT_ARCH, x86_64){message("64-bit") }else{message("32-bit" ...

  8. 攀岩时代:HMS Core 6.0与移动开发之路

    今年的东京奥运会中,一些全新运动项目首次进入奥运是一大看点.其中就包括科技界经常用以比喻自己的:攀岩. 刚刚加入奥运大家庭的攀岩运动,需要选手在陡峭的崖壁,甚至负角度情况下,在仅有的几个发力点支撑下向 ...

  9. 04_HUD_Qt_for_Python开发之路2

    欢迎来到我的博客,希望这篇文章对你有所帮助,如果觉得不错,请点赞搜藏哈. 文章目录 HUD_Qt_for_Python开发之路2 1 设置程序名称 2 隐藏窗口标题栏 3 设置窗口透明裁剪 4 修改下 ...

最新文章

  1. Spring源码分析【8】-分布式环境SpringSecurity保持用户会话
  2. 《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 三 NSArray
  3. CoreAnimation编程指南(六)动画 转自:http://www.dreamingwish.com/
  4. mysql主从同步配置超详细_MySQL主从同步配置
  5. Windows服务程序的调试
  6. JAVA入门级教学之(编写第一个HelloWorld程序)
  7. 火热报名|5月15日线下沙龙上海站——“大促活动场景下的质量保障”主题
  8. 生产数据库更新忙,没有超时
  9. android mvp设计思想,Android-MVP设计模式(基础)
  10. bootstrap-wysiwyg中JS控件富文本中的图片由本地上传到服务器(阿里云、七牛、自己的数据库)...
  11. Oracle修改字段长度
  12. PyTorch实现的ResNet50、ResNet101和ResNet152
  13. 微信小程序怎么做店铺?
  14. 多测师_App 抓包代理设置
  15. Matlab 线性拟合 非线性拟合
  16. linux 监控平台介绍
  17. 输入一个日期,计算该日期是该年度第几天,输出计算结果。
  18. 竟然在GitHub标星27k+阿里大牛肝出的443页TCP/IP协议趣谈笔记,有何神奇之处?
  19. 学习LSSVM以及区别LSSVM和SVM看的几篇博文
  20. IP/tzgm.php,龙之异界手游私服双端APP+本地更新+Gm授权+附视频教程

热门文章

  1. 第35课时_电荷泵电路
  2. 后台管理界面-- 管理员管理[4]
  3. 让javac在中文系统上输出英文的信息
  4. 谷歌浏览器开通flash的访问权限的方式
  5. 通讯录管理系统(c/c++)含完整源码~
  6. 一般使用什么工具压缩视频
  7. 经典算法--Java版本
  8. U盘超级加密3000隐藏后如何打开?
  9. invalid alteration of datatype(varchar2转化clob)
  10. java ssssss_javassssss