R-Car作为瑞萨抢占高端车载产品市场的拳头产品,也是当前在自动驾驶领域有着强大竞争力的一个产品系列。瑞萨可以提供包括软硬件资源在内的整套开发支持,通过与多家全球顶级方案商的合作,可以给客户提供完整的解决方案,大大方便客户的产品开发。R-Car系列作为高端的SoC产品,可以支持包括Linux,Android、QNX、Intergrity在内的多种操作系统,其中Android在智能座舱产品上应用比较广,目前提供的最新版本为Android P5.1.3。最近在测试Android P5.1.3的emmc启动时遇到了一些问题,本文主要对该问题现象及解决方法做了介绍。

在编译完成Android P5.1.3后按照flash writer的参考地址烧写,IPL启动阶段BL2提示:

[    0.110615] ERROR:   GPT signature is incorrect

[    0.113659] ERROR:   Failed to load GPT table

检查IPL的sa6.c源码以及makefile文件看到,默认的启动方式为emmc启动,但是在源码中多了一个emmc_ipl_addr.h的地址信息文件,其中描述的cert_header_sa6、bl31、optee以及uboot的存储地址均与flash writer操作说明中的地址信息不一致,因此导致找不到emmc的相关参数表。因此我们在烧写时需要对地址信息进行匹配修改。emmc的烧写是以block为单位,一个block的地址区间大小为0x200,源码定义的地址除以0x200就能得到相应的存储block。但是在烧写地址做出匹配修改后,问题依然存在。根据错误log追查源码,发现是在bl2_rcar_setup.c中的avb_ab_flow()函数返回错误,经过追查代码,发现该部分代码对于emmc启动并无太大作用,于是将该函数屏蔽后重新编译,烧写后emmc启动正常,问题得到解决。将源码修改输出成patch文件,内容如下:

diff --git a/plat/Renesas/rcar/bl2_rcar_setup.c b/plat/renesas/rcar/bl2_rcar_setup.c

index 3583766..47d403d 100644

--- a/plat/renesas/rcar/bl2_rcar_setup.c

+++ b/plat/renesas/rcar/bl2_rcar_setup.c

@@ -786,19 +786,20 @@ static void rcar_bl2_early_platform_setup(const meminfo_t *mem_layout)

LOSSY_FMT2, LOSSY_ENA_DIS2);

#endif /* #if (RCAR_LOSSY_ENABLE == 1) */

-        if (isSwitchPressed()) {

-                 NOTICE("BL2: Force boot from HyperFlash.\n");

-                 rcar_io_setup();

-                 return;

-        }

+       isSwitchPressed();

+       //if (isSwitchPressed()) {

+       //      NOTICE("BL2: Force boot from HyperFlash.\n");

+       //      rcar_io_setup();

+       //      return;

+       //}

/* Initialise the IO layer and register platform IO devices */

if((modemr_boot_dev == MODEMR_BOOT_DEV_EMMC_25X1) ||

(modemr_boot_dev == MODEMR_BOOT_DEV_EMMC_50X8)) {

#if (RCAR_BOOT_EMMC == 1)

-                 if (avb_ab_flow() != AVB_AB_FLOW_RESULT_OK)

-                           rcar_io_setup();

-                 else

+                //if (avb_ab_flow() != AVB_AB_FLOW_RESULT_OK)

+                //      rcar_io_setup();

+                //else

#endif

rcar_io_emmc_setup();

} else {

以上就是R-Car Android P5.1.3 bsp emmc启动所遇到的问题及解决方法,该测试以R-Car H3为例,同样适用于R-Car M3。

android bsp调试环境,【经验】R-Car Android P5.1.3 bsp emmc启动出错解析及解决方法相关推荐

  1. PHP7不能用string类名,thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法...

    这篇文章主要介绍了thinkphp在php7环境下提示Cannot use 'String' as class name as it is reserved的解决方法,涉及thinkPHP针对php7 ...

  2. android+ndk+r9+x64下载,Win7 64位中文旗舰版上Cocos2d-x 3.0的Android开发调试环境架设

    系统环境: Win7 64位中文旗舰版 各组件的版本: VS2012 Python2.7.6 x86 安装步骤: 1.默认安装VS2012 2.默认安装Python 2.7.6,修改环境变量Path ...

  3. Android Camera 测试环境搭建:编译Android模拟器

    在 Ubuntu 下面我编译 android 12 已经尝试过很多次,都失败了. 都是执行下面这步的时候,编译了几个小时以后报错 make sdk sdk_repo -j12 一开始给虚拟机分配了 8 ...

  4. android 7 开发环境搭建,win7下android 开发环境搭建

    第一步:准备JDK最小版本1.5 第二部:准备环境所需要的安装介质Eclipse ,ADT和windows平台下的SDK. 等待安装JDK和eclipse完成后,在eclipse中选择Help-> ...

  5. android模拟器中,不能将文件拷贝到的/system分区的原因,以及自动化解决方法

    某些情况下,要调试的apk需要一些共享库,而这些库要放/system/lib下才能在运行时连接到. 但android模拟器每次启动后,系统分区/system是以只读方式挂载的,不能用向/system分 ...

  6. android手机存储速度慢,安卓内存泄露后台应用被迫关闭、系统速度慢的解决方法...

    安卓内存泄露怎么办?升级到lollipop的android设备用户们有没有遇到后台应用被迫关闭.系统速度慢.经常重启等情况呢?其实这是内存泄露问题,下文小乐哥分享安卓内存泄露解决办法,遇到朋友可以节操 ...

  7. Android studio导出的apk在真机上安装提示“文件不存在或已失效”的解决方法

    假设Android studio当前的minSdk版本为API21,对应的Android版本是5.0,如果你的Android手机版本低于API21->Android5.0版本的,则导出的apk在 ...

  8. Delphi XE5开发的Android启动时黑屏解决方法

    默认的情况下,程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初始化列表数据等.    去除步骤  1./res/values/styles.xml 在 Theme 中 ...

  9. Android studio中打包生成release版本时提示 A problem occurred evaluating root project ‘My‘出错问题的解决方法

    在Android studio中打包生成release版本时,下面的build output 提示 :   A problem occurred evaluating root project 'My ...

最新文章

  1. 避免图像去雾算法中让天空部分出现过增强的一种简易方法
  2. 谷歌利用OKR系统考核 脑力行业或可借鉴
  3. 清晰版 构建最高可用oracle数据库系统.pdf,构建最高可用Oracle数据库系统
  4. hibernater面试一
  5. wpf 自动完成comboxBox
  6. MFC获取当前应用程序实例句柄的三种方法
  7. php如何隐藏入口文件,php怎么隐藏入口文件
  8. python如何提取数据_python提取数据的常用方法
  9. 科技爱好者周刊:第 91 期
  10. 设计模式(十一)——树形结构:组合模式
  11. 【AAAI2022】FDIWN - Feature Distillation Interaction Weighting Network for Lightweight Image SR
  12. 如何在线制作gif图片?
  13. 计算机科学与技术反思录。
  14. JS逆向-新榜数据nonce和xyz参数分析
  15. 微信小程序实时音视频的使用
  16. 阿里笔试2023-3-15
  17. 漫画|假如一个程序员有“社交牛逼症”
  18. ECSHOP模板文件功能说明
  19. svn checkout 出现异常,E210007:Cannot negotiate authentication mechanism
  20. 专访“澳洲中本聪”:我打算用钱摧毁比特大陆

热门文章

  1. 刚听完CSDN总裁蒋涛先生的学术报告
  2. CDR插件开发之Application(应用程序)
  3. 阿里巴巴 强大的帝国时代
  4. 微信小程序雪花背景(动态)
  5. A类核心芯片的质量管理(连载二)
  6. IDEA 最新破解工具--永久免费
  7. 条条大路通云端,华为云应用平台ROMA破解传统政企上云困境
  8. 内行才知道的大数据分析平台
  9. Linux解决Ubuntu中vi编辑方向键不能移动光标的问题
  10. 进来试试这份字节跳动面试题,看看你能打几分