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进行烧写了。这样就完全启动了。如果有什么问题可以给我留言。一般烧写都没有问题。