【经验】R-Car E3 flashwriter烧写mot文件解析
R CAR E3新制作的板子,第一次烧录调试,DDR3出现出错的问题,比如运行ramck 410000000 @c000出现错误,我们可以通过代码中确认mot文件下载获取的数据与load到内存后的数据是否一致,来确认DDR3的数据是否通过写内存出错了来确认是硬件的问题。
在 flashwriter代码中,我们进入EM_W命令,跟踪代码,scif下载mot文件,以及load到DDR的函数为dg_emmc_mot_load(&workAdd_Max ,&workAdd_Min, prgStartAdd);
.
.
.
.
mmcPrgStartAdd = sectorStartAddress<<9;为emmc的扇区数*512,对应烧录到EMMC的地址;
FillData32Bit((uint32_t *)Load_workStartAdd,(uint32_t *)Load_workEndAdd,0x00000000);
Load_workStartAdd为#define EMMC_WORK_DRAM_SADD 0x50000000U,即mot文件load到0x50000000U地址;
prgStartAdd为ot文件的运行内存地址;
dg_emmc_mot_load函数为最终的scif下载以及写入内存0x50000000U实现,数据写入ddr如下:
红圈中为获取mot文件每一行的数据量,即除了S3,以及对应的数量字段后的数据,如下第二行中S315中的15的意思为本行的实际数据为21葛字节包含 运行内存地址(4byte)+ 实际mot执行数据(16字节) + sumCheckByteCount(最后1个字节),总共21个字节:
然后获取运行内存地址,此处为4个字节,例如44000000;通过计算获取到的loadGetAddress为0x50000000U;
这里的含义为获取除去4字节运行内存地址后的数据量即21-4=17字节;
然后最重要的一步就是一字节一字节获取实际的固件数据,每一行这里的例子为16字节:
此处通过scif下载获取mot数据,然后赋值给*((uint8_t *)loadGetAddress) = loadGetData;我们可以在此处来对比scif的数据和内存中读出来的数据,如果都一致,说明DDR没有问题,如果有出现错误就可以判断DDR不稳定,出错了;
最后是最后一个字节的校验数据:
由于我们并不知道这个mot文件校验算法,所以也就无法通过校验字节来验证数据的完整性了。
我们可以看到mot文件的每一行都是以16进制的0D,0A结尾的,与代码中的CR_CODE,LF_CODE是一致的。
通过以上R-Car E3 flashwriter烧写mot文件下载load过程解析,我们就可以从软件最底层来验证DDR出错,从而去排查DDR信号质量以及硬件电路的问题了。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由Bill提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】R CAR E3编译bitbake命令报错do not use Bitbake as root问题原因及解决方法
Renesas R CAR E3主要应用于车载高端的仪表,双核A53,集成实时R7核,可以在R7核上运行freertos,atuosar等实时系统。本文解决在实际开发过程中,编译bitbake命令报错do not use Bitbake as root问题原因及解决方法。
【经验】flash_write在项目开发中编译Ebisu-4D开发板出错的解决方法
R CAR E3需要把固件全部烧录到EMMC,需要用到flash_write工具,首先需要把工具编译为R CAR E3平台可使用的mot格式固件,才能烧录到内部RAM中,来使用相关烧写EMMC命令,本文记录了在本文主要介绍flash_write在项目开发中编译给Ebisu-4D开发板出错的解决方法。
【经验】瑞萨R Car E3 2片DDR3L容量系统修改实操
Renesas SoC R-Car E3的DEMO板上最小的DDR3L配置为1GB,为了降低成本需要采用2片256MB的DDR3L,总共512MB,这个容量已经低于E3的所有DEMO板的DDR容量,本文实操修改相关注意点,并成功启动系统。
【经验】如何解决R CAR E3在下载编译yocto报bitbake出错
R CAR E3在下载编译yocto的过程有对应的文档参考,步骤不较多,而且很多初学者,甚至是有经验的研发也是经常出错,有时候是网络原因,或者本身环境原因,有些时候也会由于自己的操作不当出现各种问题,本文记录一例开发过程中由于自身操作不当导致的编译yocto异常。
【经验】R CAR E3 DDR3L电路设计MBKPRST引脚注意点
R CAR E3 在采用BD9574作为电源时,BD9574的BKUP_CTRL控制R CAR E3的MBKPRST引脚作为DDR3L的suspend to ram功能,而采用瑞萨的raa271001时,没有这个功能,那我们如何处理这个引脚呢?本文在 R CAR E3 板子上测试验证了MBKPRST引脚电平对DDR3L的工作的影响,使得设计这部分电路时有所依据。
【经验】瑞萨R CAR E3安全访问寄存器资源实操
本文详细说明了瑞萨R CAR E3安全访问寄存器资源的控制模块lifec,并且通过实际修改IPL代码中lifec寄存器实现A53核访问GPIO5寄存器资源的控制,这样就可以实现R CAR E3的各个模块的资源使用开关了,从而使资源不会发生冲突。
【经验】R CAR E3启动调试阶段测试DDR的方法和注意点
在R CAR E3上测试DDR的时候,在系统启动调试阶段,往往通过minimon的命令DDRCK,ramck来测试,那在MINIMON中这个测试地址空间是多少呢,如何测试,以及需要注意哪些地方呢,本文实操测试命令,以及指出需要注意的地方。
【经验】R CAR E3开发中如何操作EMMC的分区和格式化
R CAR E3量产时启动固件,内核,文件系统一般都是烧录在EMMC中,一个EMMC设备默认只有mmcblk0,mmcblk0boot0,mmcblk0boot1 和mmcblk0rpmb这几个设备,其中mmcblk0boot0,mmcblk0boot1 和mmcblk0rpmb是用于启动固件使用的,mmcblk0不能直接使用,需要做分区,以及格式化的操作,本文记录在开发中EMMC的分区
【经验】R CAR E3 PMIC BD9574没有外接eeprom,如何调试启动mini monitor?
R CAR E3通常用来做AR HUD,大屏仪表,低端驾驶舱。本文主要分享R CAR E3 PMIC BD9574没有外接eeprom的情况下,如何调试启动mini monitor?
【经验】R CAR E3编译报错oe_runmake failed解决方法
Renesas R CAR E3主要应用于高端车载仪表,双核A53,集成实时R7核,可以在R7核上运行freertos,atuosar等实时系统,A53上运行LINUX系统,内部集成2D,3D图形加速IP,使高端仪表图像界面酷炫流畅,本文解决在实际开发过程中,编译报错oe_runmake failed的一个问题。
【经验】解决R CAR E3编译报错: Function failed: sstate_task_postfunc
Renesas R CAR E3主要应用于高端车载仪表,HUD,双核A53,集成实时R7核,可以在R7核上运行freertos,atuosar等实时系统,A53上运行LINUX系统,内部集成2D,3D图形加速IP,使高端仪表图像界面酷炫流畅,本文解决在实际开发过程中,编译报错ERROR: Function failed: sstate_task_postfunc的一个问题。
【经验】瑞萨R CAR E3上加载uio_imr.ko驱动失败的解决过程
瑞萨R CAR E3的IMR模块可以用于图像的畸变矫正,而不需要做畸变矫正软件算法,减轻了CPU的负担,用于AR HUD,以及其他需要做图像矫正的场景非常有优势,本文解决在R CAR E3上编译IMR驱动报错,以及加载失败的问题。
【经验】解决R CAR E3开发中EMMC启动系统后无法挂载到服务器的问题
R CAR E3在开发阶段通常采用网络挂载方式进行,这样可以把E3板子的文件系统等资源都放在服务器上,调试时,把对应的程序copy到服务器的文件系统中,在E3的板子上挂载服务器后,直接可以在板子上运行调试,本文解决在R CAR E3开发中无法挂载到服务器的过程。
LX Semicon电机驱动器&MCU选型表
LX Semicon电机驱动器&MCU选型表包含32位通用MCU、2ch H-桥电机驱动器、三相电机驱动器三个品类,主要包含以下参数,Operating Temperature(℃):-40℃ ~ 85℃;Power (V):3.9 to 5.5V、2.7 to 5.5V、Max.20V、Max.28V;competitor:Toshiba、Renesas、TI。
产品型号
|
品类
|
封装/外壳/尺寸
|
Power (V)
|
Grade certification standard
|
competitor
|
External High Speed OSC(MHz)
|
External Low Speed OSC(KHz)
|
Operating Temperature(℃)
|
Maximum Frequency(MHz)
|
SRAM(Kbyte)
|
SW31100
|
32位通用MCU
|
LQFP 64
(10*10, 0.5pitch)
|
3.9 to 5.5V
|
IEC 60730 supported
|
Toshiba
|
10MHz
|
32.768kHz
|
-40℃ ~ 85℃
|
35MHZ
|
12 Kbyte
|
选型表 - LX Semicon 立即选型
RENESAS RH850车规32位 MCU选型表
RENESAS RH850车规32位 MCU,闪存容量:256KB~16MB,RAM:32KB~3.6MB,数据闪存:32KB~576MB。
产品型号
|
品类
|
闪存容量(KB、MB)
|
RAM(KB、MB)
|
数据闪存(KB)
|
内核
|
I/O端口数
|
CSI/UART/LIN
|
CAN/CAN-FD
|
I²C
|
其他接口
|
定时器通道(8/16/32位)
|
PWM输出
|
时钟频率(MHz)
|
内部振荡器
|
A/D转换器或D/A转换器
|
电源电压(I/O)(V)
|
引脚数
|
封装
|
最高工作温度(°C)
|
Application category
|
温度/质量等级
|
连接材料
|
R7F7010023AFD#BA4
|
车规32bit MCU
|
512K
|
64K
|
32K
|
单RH850核(最大96MHz)
|
81
|
5/4/7
|
6/-
|
1
|
-
|
-/32/9
|
48
|
80
|
240KHz,8MHz
|
36x10位&12位/-
|
3.0-5.5
|
100
|
100LQFP
|
105,125
|
Automotive
|
-40℃~105℃
|
无: 金线bonding
|
选型表 - RENESAS 立即选型
电子商城
现货市场
登录 | 立即注册
提交评论