HI3518E用J-link烧写裸板fastboot u-boot流程
2015-09-24 15:47
302 查看
Hi3518E的裸板烧写fastboot是不能像HI3531那样,可以通过FB直接烧写。遵循ARM9的烧写流程。其中一般u-boot的烧写流程可分为几类:第一:通过编程器芯片直接烧写;第二通过RVDS来烧写(海思官方原版的方式);第三通过j-link烧写。这三种方式中,前两种都是很麻烦的事情,需要编程支持比较贵。第二种价格就更加不菲。第三种方式是一般嵌入式工程师能想到也很容易能得到的方式。下面介绍j-link烧写流程,以下演示芯片为海思的HI3518E芯片。
第一、连接j-link打印对应的j-link信息。如果连接成功打印如下信息:
第二、初始化内存,这里需要内存初始化脚本。下面是我实现的HI3518E的内存初始化脚本。全部拷贝后黏贴在j-link commander栏中执行后的结果如下:
[cpp] view plaincopyprint?
w4 0x20050014 0x0fff8000
w4 0x20030000 0x11000000
w4 0x20030004 0x0068306E
W4 0x20030008 0x12000000
W4 0x2003000c 0x007C2063
W4 0x20030010 0x19000000
W4 0x20030014 0x00682064
W4 0x20030020 0x1B000000
W4 0x20030024 0x007C40E1
W4 0x20030028 0x00000010
Sleep 1000
mem32 0x200300e8 1
Sleep 1000
W4 0x10000004 0xaaa
W4 0x20050000 0x214
Sleep 1000
mem32 0x20050000 1
Sleep 1000
Sleep 1000
W4 0x2011001c 0x80000500
W4 0x20110020 0x784
W4 0x20110058 0x6330a000
W4 0x2011002c 0x22
W4 0x20110040 0x80000000
W4 0x20110050 0x33440d0a
W4 0x20110054 0xff635616
W4 0x2011005c 0xffdff0f2
W4 0x201100ac 0x3000001
W4 0x201100f4 0x1
W4 0x20110004 0x0
Sleep 1000
W4 0x20120404 0x80000000
Sleep 2000
W4 0x20120430 0x2
W4 0x20120408 0x01842202
W4 0x20120418 0x220055
W4 0x2012041c 0x5053882
W4 0x20120420 0x3233881
W4 0x2012042c 0xf200001e
W4 0x20120434 0x3092668E
W4 0x20120438 0x00400098
W4 0x2012043c 0x1001aa00
W4 0x20120584 0x4b
W4 0x20120440 0x0a63
W4 0x20120444 0x4
W4 0x20120448 0x0
W4 0x2012044C 0x0
W4 0x201205c0 0xe81
W4 0x20120600 0xe81
W4 0x20120404 0xff
Sleep 2000
W4 0x20110058 0x6330a031
W4 0x20120408 0x01842200
loadbin d:\u-boot-200MHZ.bin 0x82000000
setpc 0x82000000
go
执行结果:
第四步、执行go命令后在securCRT上看到的结果为:
第五步,进入u-boot后,下面就可使用sf命令对Flash进行烧写了。这样就完全启动了。如果有什么问题可以给我留言。一般烧写都没有问题。
第一、连接j-link打印对应的j-link信息。如果连接成功打印如下信息:
第二、初始化内存,这里需要内存初始化脚本。下面是我实现的HI3518E的内存初始化脚本。全部拷贝后黏贴在j-link commander栏中执行后的结果如下:
[cpp] view plaincopyprint?
w4 0x20050014 0x0fff8000
w4 0x20030000 0x11000000
w4 0x20030004 0x0068306E
W4 0x20030008 0x12000000
W4 0x2003000c 0x007C2063
W4 0x20030010 0x19000000
W4 0x20030014 0x00682064
W4 0x20030020 0x1B000000
W4 0x20030024 0x007C40E1
W4 0x20030028 0x00000010
Sleep 1000
mem32 0x200300e8 1
Sleep 1000
W4 0x10000004 0xaaa
W4 0x20050000 0x214
Sleep 1000
mem32 0x20050000 1
Sleep 1000
Sleep 1000
W4 0x2011001c 0x80000500
W4 0x20110020 0x784
W4 0x20110058 0x6330a000
W4 0x2011002c 0x22
W4 0x20110040 0x80000000
W4 0x20110050 0x33440d0a
W4 0x20110054 0xff635616
W4 0x2011005c 0xffdff0f2
W4 0x201100ac 0x3000001
W4 0x201100f4 0x1
W4 0x20110004 0x0
Sleep 1000
W4 0x20120404 0x80000000
Sleep 2000
W4 0x20120430 0x2
W4 0x20120408 0x01842202
W4 0x20120418 0x220055
W4 0x2012041c 0x5053882
W4 0x20120420 0x3233881
W4 0x2012042c 0xf200001e
W4 0x20120434 0x3092668E
W4 0x20120438 0x00400098
W4 0x2012043c 0x1001aa00
W4 0x20120584 0x4b
W4 0x20120440 0x0a63
W4 0x20120444 0x4
W4 0x20120448 0x0
W4 0x2012044C 0x0
W4 0x201205c0 0xe81
W4 0x20120600 0xe81
W4 0x20120404 0xff
Sleep 2000
W4 0x20110058 0x6330a031
W4 0x20120408 0x01842200
loadbin d:\u-boot-200MHZ.bin 0x82000000
setpc 0x82000000
go
执行结果:
第四步、执行go命令后在securCRT上看到的结果为:
第五步,进入u-boot后,下面就可使用sf命令对Flash进行烧写了。这样就完全启动了。如果有什么问题可以给我留言。一般烧写都没有问题。
相关文章推荐
- IOS 第三方库之-MBProgressHUD的使用详解
- nginx不记录不需要的访问日志
- docker web 管理套件 dockerui
- 遗传算法与多目标遗传算法
- 集合collection总结
- Windows下MinGW编译静态Qt I 之实践
- svn学习之二(配置文件部署详解)svn认证模式详解
- AspNet MVC过滤器+实例
- JS中通过方法名字符串调用方法
- 项目开发整体流程
- 数据结构与算法分析(c++版) #11 链式队列
- c++运算符重载
- MySQL必知必会笔记(四)SELECT语句 联结表 高级联结 组合查询 全文本搜索
- android页面切换效果
- hibernate inverse属性的作用
- UILabel的行间距
- android 实现透明状态栏
- 美团面试题:计算机网络 OSI体系模型及各层特点,以使用QQ为例
- OpenStack(kilo版本)计算服务Nova的安装部署
- mybatis缓存使用