jLink V8调试exynos 4412 u-boot的几点补充

/**

******************************************************************************

* @author ? ?Maoxiao Hu

* @version ? V1.0.0

* @date ? ? ? Dec-2014

******************************************************************************

* < COPYRIGHT 2014 ISE of SHANDONG UNIVERSITY >

*******************************************************************************

**/

上接博客《使用eclipse与jLink V8调试exynos 4412 u-boot》,以下简称《博客1》。

?

提前声明:经过本人亲自测试与修改,用JLink是完全可以实现uboot调试的。

?

在《博客1》中初步实现了调试环境的搭建,但是经过实验,出现的问题很多:

1、没有考虑eMMC中代码/数据完全被破坏,无法启动的情况。

2、如果只使用三星提供的BL1烧写到TF卡上启动,JLink无法探测到CPU。

3、eclipse自动匹配汇编/源码错误,造成无法识读。

?

据分析原因或解决方法如下:

1、eMMC中数据/源码被完全破坏,需要从TF/SD卡启动,制作方法参考我的另一篇博客《[小知识]如何在Mac下使用TF/SD 卡制作Exynos 4412 u-boot启动盘》

2、CPU无法被探测的原因可能是电源管理芯片未给4412的CoreSight所在的IP核供电,JTAG口Vref引脚无参考电压输出,JLink探测不到这个参考电压无法确定CPU的高低电平范围。

3、board文件夹下只保留samsung子文件夹,cpu文件夹下只保留arm_cortexa9子文件夹,删除其它架构文件夹即可。

?

一、制作可以连接Jlink调试器的最小启动盘

为了解决上面第二个问题,我们需要在制作TF卡启动盘的时候,除了烧写BL1,还需要烧写另外一段使能电源管理芯片(PMC)的BL2,但是这个BL2只是使能PMC,无其它任何代码。

修改start.s开头部分如下:

然后编译uboot,烧写BL1和CodeSign4SecureBoot文件夹下生成的checksum_bl2_14k.bin。注意此时一个可以连接JLink调试的TF卡就制作完成了,在以后整个u-boot调试阶段这个启动盘都不需要再动!

?

二、暂时修改代码基地址

修改board/samsung/smdkc210/config.mk

TEXT_BASE = 0x02023400?

?

同时取消lowlevel_init.S中的check_mem定义

原因参看《Exynos4412_iROM_Secure_Booting_Guide_Ver.1.00.00.pdf》图3-1。

三、去掉MMU使能函数

mmu_on

四、eclipse里替换以下gdb初始化命令

target remote localhost:2331
monitor sleep 10
monitor halt
monitor sleep 500
load
break _start

补充:如果eclipse中的源码经过调整显示仍然错误,不用管它,直接看eclipse下方的汇编区,汇编区的源码显示是一定正确的。

做完以上几点后,uboot的调试就可以完美进行了,剩下的问题基本都是代码问题。

仍然存在的问题:

当调试到uboot中时钟初始化代码时,JLink会失去连接,估计是时钟的调整直接影响了CoreSight模块,JLink被迫与CPU断开。

所以,时钟初始化在uboot调试阶段,需要直接放到gdb初始化命令中做,待其它部分都调试完成,再转移uboot代码当中。

以上脚本会在以后博客中放出。

附:

1、三星BL1.bin下载 密码:7jpr

2、制作好的checksum_bl2_14k.bin下载 密码:av3y

时间: 2024-10-07 06:00:57

jLink V8调试exynos 4412 u-boot的几点补充的相关文章

使用eclipse与jLink V8调试exynos 4412 u-boot

/** ****************************************************************************** * @author ? ?Maoxiao Hu * @version ? V1.0.0 * @date ? ? ? Dec-2014 ****************************************************************************** * < COPYRIGHT 2014 IS

JLink V8初始化exynos4412脚本

/** ****************************************************************************** * @author ? ?Maoxiao Hu * @version ? V1.0.0 * @date ? ? ? Dec-2014 ****************************************************************************** * < COPYRIGHT 2014 IS

【转载】s3c2440裸机开发调试环境(MDK4.6,Jlink v8,mini2440)

用于arm裸机程序开发的IDE基本有 以下3个:MDK,IAR,还有ADS.具体它们的具体情况在这里我就不多说了,百度一下就明白了.由于之前开发c51,stm32时候都使用了MDK开发环境,而且MDK的界面确实看起来舒服多了,所以我选择了MDK作为我的s3c2440裸机开发的IDE.以下主要介绍一下如何使用MDK配合J-link来调试基于s3c2440的开发板. 首先,我们需要下载的有以下2样: MDK J-link 驱动 我的开发环境:windows 7 64位,J-linkv8,mini24

exynos 4412 时钟配置

/** ****************************************************************************** * @author ? ?Maoxiao Hu * @version ? V1.0.0 * @date ? ? ? Jan-2015 ****************************************************************************** * < COPYRIGHT 2015 IS

J-LINK V8固件烧录指导

1 J-LINK V8固件烧录指导 J-LINK 是使用过程中,如果内部固件意外损坏或丢失,请参考下面操作步骤说明,重新烧录JLINK固件. 1.1 安装固件烧录软件 请ATMEL官方网址下载AT91-ISP下载软件. 软件下载地址:http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3883 在打开的网页中,下载下图中红色框所示软件.   安装下载好的Install AT91-ISP v1.13.exe软件 双击Install AT

2440A 裸机(Jlink V8+驱动4.9+MDK4.9)总结

1:新买的Jlink V8(of course, Clone)固件在MDK上使用会提示 Clone,需要更新修改过的固件,具体怎么修改不知道,就是某个地址的某个值 2:新建MDK工程 器件为2440A ,加上启动代码,添加主函数或者要调试的代码 3:设置工程,这个是最主要的步骤如下 3.1Target,设置三个地址 3.2:Output 设置CreatHexFile 3.3:User  勾上Run #1 后面的字符照写,意思大概是运行这样的文件 3.4:Linker 勾上Use Memory L

exynos 4412 eMMC配置及使用方法

/** ****************************************************************************** * @author ? ?Maoxiao Hu * @version ? V1.0.0 * @date ? ? ? Feb-2015 ****************************************************************************** * < COPYRIGHT 2015 IS

如何在Ubuntu下使用TF/SD 卡制作Exynos 4412 u-boot启动盘

/** ****************************************************************************** * @author ? ?Maoxiao Hu * @version ? V1.0.0 * @date ? ? ? Feb-2015 ****************************************************************************** * < COPYRIGHT 2015 IS

解决:j-link V8下载器灯不亮,无法正常烧写固件

昨天j-link V8下载仿真F4正常,下午下载仿真F1后吃了个饭,然后它的灯就不亮了...按照这个例程弄了好几遍都不行,http://www.cr173.com/soft/98542.html,卡在这个步骤:上拉TST后,一直无法识别... 解决办法:换个win7 32位的系统烧写固件,一切顺利~