9846
- 收藏
- 点赞
- 分享
- 举报
从零开始,学习Hi3520D,持续更新,20160824
本帖最后由 19504643 于 2016-8-24 23:00 编辑
写在前面:
感谢david!
大概三年前,我上大三的时候,和版主david(后称D大)意外相识在网络,然后加入了ebaina论坛,在四轴分论坛活跃过一段时间,后来渐渐淡出。
前几日,D大突然小窗我,问我最近工作如何,有没有换工作的打算,然后我看到D大在群里招兵买马,就知道他的意思,无奈一个刚踏入社会不久,
仅仅混过简单的单片机程序的战五渣,怎能担当起开疆拓土的如此重任,所以请命自我学习一段时间,再行给D大定夺。
/***************************************************************************************************************/
2016-08-19 22:16:55
板子拿到了,靓照如下:

挂上串口,终端一直打印空格(乱码),十六进制是20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0A
好像是没有uboot,我是小白,也不知道怎么回事,先从第一步SDK看起吧,
正在下载Hi3520D_SDK_V1.0.5.0,感谢 taiq,链接在[url]http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=9889[/url]
/***************************************************************************************************************/
2016-08-20 14:47:09
下载完Hi3520D_SDK_V1.0.5.0,浏览了一下,里面有uboot、文件系统等等bin文件,可以直接烧写进去,里面还有英文的datasheet,1113页,不多
但是居然没有提供fastboot.exe文件,论坛也没找到,google上下了一个,版本为 FastBoot3.1.2,update: 2011-06-17
附件:FastBoot3.1.rar
担心有毒,特意查杀了一下,现在好像比特币勒索病毒比较猖狂,一旦中毒,所有文档、图片等重要文件均被加密,只有付款才可解密,我电脑一直裸奔的
Win+R调出运行,输入 devmgmt.msc ,就直接弹出设备管理器了
插上USB2TTL,可以显示出串口号,同样Win+R调出运行,输入 regedit
打开注册表编辑器,删除 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter下的ComDB
再在设备管理器中,将串口号设置为你喜欢的数字,这样就可以解决串号号占用的问题,避免潜在的错误

由于板子不能正常打印出信息,估计uboot出了问题,所以要先烧uboot
打开fastboot.exe,设置好串口号,我设置的为串口1
然后点击 ‘burn fastboot’ , 'flash type' 选择 ‘spi’,'file' 选择要烧写的 ‘u-boot_hi3520d.bin’
设置好后,务必先关掉电源,再点击 ‘Burn’ 按钮,然后再给板子上电,如果一切正常,应该就可以看到烧写进度,如图

但是,我的一直提示 Boot Downloading timeout! please try again.
但是我尝试了 again and again,依然如此
搜索了一下,不少人遇到此问题
有以下说法:
1、要ddr支持,spi要是擦除过的,这个我也不确定此板子是不是擦除过,有没有uboot
2、点击'Burn'的同时,迅速上电,多试几次,我试了N次,开关噼里啪啦的,依然不行
3、boot_sel、bootrom、nfboot_pin要配置正确,我查看了datasheet,确实是要把BOOT_SEL引脚拉高
而且提到 SFC_DEVICE_MODE,datasheet中找不到这个,只有SFC_ADDR_MODE,这个是双 flash 选择的

4、有人提到不上下电,用按键复位,我对照datasheet,找到了reset 引脚,发现引到了 SW2上,焊上了一个开关,也是一顿again and again,无果
我的说法:
1、TTL串口易受干扰,我换了模块,用了排线,把线绞在一起,无果
2、我这台电脑,Thinkpad W520,WIN7 X64,I7+8G,莫非跑太快,换跑xp的电脑,无果
3、准备飞线把第88脚强制拉高,先问问大家的意见

实在没有其他办法了,各位支个招,感谢
/***************************************************************************************************************/
2016-08-22 21:44:24
D大给发了个新的 Fastboot v3.1.5(BVT),可以正常下载了,附件如下:

下载完成后,有线网络显示 感叹号,但是ping不通
至于ping的地址,我也不知道uboot里面是哪个地址,想到用WinHex查看,果然找到

然后我把网卡的IP和子网掩码都按上面的设置,还是ping不通
把板子重启复位,发现串口还是一直打印 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0A
uboot里面的 mem = 64M,板子上是 K4B2G1646Q-BCK0,为256MB,会不会是这个问题?
多次重复烧写之后,再重启,发现直接进入了 uboot,我也不知道怎么回事

/***************************************************************************************************************/
2016-08-24 22:05:43
uboot烧写完后,终端打印:
U-Boot 2010.06 (Jun 22 2016 - 22:27:33)
Check spi flash controller v350... Found
Spi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19
Spi(cs1): Block:64KB Chip:32MB Name:"MX25L25635E/735E/635F"
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
hisilicon #
有个Warning,这个是烧写完uboot,没有env导致,实际上.bin文件中有,直接输入 sa ,保存再重启就没有 warning
烧写完,就要烧写 kernel 和 filesystem
可以通过 Fastboot和终端来烧,都要用到 tftp,即要插网线,网线出现感叹号
一、先说 Fastboot,配置如图
下载kernel配置如图:这里要说的是,必须先上电,才能检测到Serve IP并选中,然后断电,配置,点upload,同时给板子上电

下载fs配置如图:

二、通过终端,要把uImage_hi3520d_full 、rootfs_hi3520d_256k.jffs2放到终端程序所在的文件夹,网上都说放到 ftfp 服务的目录,也不指明在哪里
另外,SDK包中给的指令,tftp 82000000 uImage_hi3520d_full,没有指明后面的文件长度,导致发送失败
烧写内核
mw.b 82000000 ff 400000;tftp 82000000 uImage_hi3520d_full 400000;sf probe 0;sf erase 100000 400000;sf write 82000000 100000 400000
烧写文件系统
mw.b 82000000 ff b00000;tftp 0x82000000 rootfs_hi3520d_256k.jffs2 b00000;sf erase 500000 b00000;sf write 82000000 500000 b00000
成功后如图:

然后设置启动参数:
setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),11M(rootfs)'
setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x400000;bootm 0x82000000'
sa
完成后重启,但是我两种方法都写入之后,仍然启动不了

写在前面:
感谢david!
大概三年前,我上大三的时候,和版主david(后称D大)意外相识在网络,然后加入了ebaina论坛,在四轴分论坛活跃过一段时间,后来渐渐淡出。
前几日,D大突然小窗我,问我最近工作如何,有没有换工作的打算,然后我看到D大在群里招兵买马,就知道他的意思,无奈一个刚踏入社会不久,
仅仅混过简单的单片机程序的战五渣,怎能担当起开疆拓土的如此重任,所以请命自我学习一段时间,再行给D大定夺。
/***************************************************************************************************************/
2016-08-19 22:16:55
板子拿到了,靓照如下:

挂上串口,终端一直打印空格(乱码),十六进制是20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0A
好像是没有uboot,我是小白,也不知道怎么回事,先从第一步SDK看起吧,
正在下载Hi3520D_SDK_V1.0.5.0,感谢 taiq,链接在[url]http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=9889[/url]
/***************************************************************************************************************/
2016-08-20 14:47:09
下载完Hi3520D_SDK_V1.0.5.0,浏览了一下,里面有uboot、文件系统等等bin文件,可以直接烧写进去,里面还有英文的datasheet,1113页,不多
但是居然没有提供fastboot.exe文件,论坛也没找到,google上下了一个,版本为 FastBoot3.1.2,update: 2011-06-17
附件:FastBoot3.1.rar
担心有毒,特意查杀了一下,现在好像比特币勒索病毒比较猖狂,一旦中毒,所有文档、图片等重要文件均被加密,只有付款才可解密,我电脑一直裸奔的
Win+R调出运行,输入 devmgmt.msc ,就直接弹出设备管理器了
插上USB2TTL,可以显示出串口号,同样Win+R调出运行,输入 regedit
打开注册表编辑器,删除 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter下的ComDB
再在设备管理器中,将串口号设置为你喜欢的数字,这样就可以解决串号号占用的问题,避免潜在的错误

由于板子不能正常打印出信息,估计uboot出了问题,所以要先烧uboot
打开fastboot.exe,设置好串口号,我设置的为串口1
然后点击 ‘burn fastboot’ , 'flash type' 选择 ‘spi’,'file' 选择要烧写的 ‘u-boot_hi3520d.bin’
设置好后,务必先关掉电源,再点击 ‘Burn’ 按钮,然后再给板子上电,如果一切正常,应该就可以看到烧写进度,如图

但是,我的一直提示 Boot Downloading timeout! please try again.
但是我尝试了 again and again,依然如此
搜索了一下,不少人遇到此问题
有以下说法:
1、要ddr支持,spi要是擦除过的,这个我也不确定此板子是不是擦除过,有没有uboot
2、点击'Burn'的同时,迅速上电,多试几次,我试了N次,开关噼里啪啦的,依然不行
3、boot_sel、bootrom、nfboot_pin要配置正确,我查看了datasheet,确实是要把BOOT_SEL引脚拉高
而且提到 SFC_DEVICE_MODE,datasheet中找不到这个,只有SFC_ADDR_MODE,这个是双 flash 选择的

4、有人提到不上下电,用按键复位,我对照datasheet,找到了reset 引脚,发现引到了 SW2上,焊上了一个开关,也是一顿again and again,无果
我的说法:
1、TTL串口易受干扰,我换了模块,用了排线,把线绞在一起,无果
2、我这台电脑,Thinkpad W520,WIN7 X64,I7+8G,莫非跑太快,换跑xp的电脑,无果
3、准备飞线把第88脚强制拉高,先问问大家的意见

实在没有其他办法了,各位支个招,感谢
/***************************************************************************************************************/
2016-08-22 21:44:24
D大给发了个新的 Fastboot v3.1.5(BVT),可以正常下载了,附件如下:

下载完成后,有线网络显示 感叹号,但是ping不通
至于ping的地址,我也不知道uboot里面是哪个地址,想到用WinHex查看,果然找到

然后我把网卡的IP和子网掩码都按上面的设置,还是ping不通
把板子重启复位,发现串口还是一直打印 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0A
uboot里面的 mem = 64M,板子上是 K4B2G1646Q-BCK0,为256MB,会不会是这个问题?
多次重复烧写之后,再重启,发现直接进入了 uboot,我也不知道怎么回事

/***************************************************************************************************************/
2016-08-24 22:05:43
uboot烧写完后,终端打印:
U-Boot 2010.06 (Jun 22 2016 - 22:27:33)
Check spi flash controller v350... Found
Spi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19
Spi(cs1): Block:64KB Chip:32MB Name:"MX25L25635E/735E/635F"
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
hisilicon #
有个Warning,这个是烧写完uboot,没有env导致,实际上.bin文件中有,直接输入 sa ,保存再重启就没有 warning
烧写完,就要烧写 kernel 和 filesystem
可以通过 Fastboot和终端来烧,都要用到 tftp,即要插网线,网线出现感叹号
一、先说 Fastboot,配置如图
下载kernel配置如图:这里要说的是,必须先上电,才能检测到Serve IP并选中,然后断电,配置,点upload,同时给板子上电

下载fs配置如图:

二、通过终端,要把uImage_hi3520d_full 、rootfs_hi3520d_256k.jffs2放到终端程序所在的文件夹,网上都说放到 ftfp 服务的目录,也不指明在哪里
另外,SDK包中给的指令,tftp 82000000 uImage_hi3520d_full,没有指明后面的文件长度,导致发送失败
烧写内核
mw.b 82000000 ff 400000;tftp 82000000 uImage_hi3520d_full 400000;sf probe 0;sf erase 100000 400000;sf write 82000000 100000 400000
烧写文件系统
mw.b 82000000 ff b00000;tftp 0x82000000 rootfs_hi3520d_256k.jffs2 b00000;sf erase 500000 b00000;sf write 82000000 500000 b00000
成功后如图:

然后设置启动参数:
setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),11M(rootfs)'
setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x400000;bootm 0x82000000'
sa
完成后重启,但是我两种方法都写入之后,仍然启动不了


下载

下载
我来回答
回答29个
时间排序
认可量排序
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
认可0
加载中···
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片
相关问答
-
2013-12-13 16:50:00
-
2013-11-24 16:41:55
-
2013-08-28 01:12:28
-
2019-05-17 15:41:10
-
2016-01-06 23:43:36
-
2015-12-17 11:15:03
-
12017-03-08 18:36:15
-
02013-12-26 15:33:24
-
2020-04-16 18:26:25
-
2016-03-09 20:52:30
-
2017-06-14 11:17:32
-
2015-06-01 15:36:28
-
112015-07-01 14:54:42
-
2015-06-21 17:25:37
-
2017-05-09 14:15:11
-
2015-06-05 08:39:04
-
2014-07-01 13:30:25
-
02016-05-03 13:49:00
-
12014-11-19 23:48:55
无更多相似问答 去提问

点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认