从零开始,学习Hi3520D,持续更新,20160824

 2 E币 
成为会员,免费下载资料
文件大小:574.55 KB 上传者:19504643 时间:2016-08-20 14:52:17 下载量:81
本帖最后由 19504643 于 2016-8-24 23:00 编辑

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

/***************************************************************************************************************/

2016-08-19 22:16:55
板子拿到了,靓照如下:
[attach]4477[/attach]


挂上串口,终端一直打印空格(乱码),十六进制是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
[attach]4478[/attach]
担心有毒,特意查杀了一下,现在好像比特币勒索病毒比较猖狂,一旦中毒,所有文档、图片等重要文件均被加密,只有付款才可解密,我电脑一直裸奔的
Win+R调出运行,输入 devmgmt.msc ,就直接弹出设备管理器了
插上USB2TTL,可以显示出串口号,同样Win+R调出运行,输入 regedit
打开注册表编辑器,删除 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter下的ComDB
再在设备管理器中,将串口号设置为你喜欢的数字,这样就可以解决串号号占用的问题,避免潜在的错误
[attach]4481[/attach]

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

但是,我的一直提示 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 选择的
[attach]4482[/attach]

4、有人提到不上下电,用按键复位,我对照datasheet,找到了reset 引脚,发现引到了 SW2上,焊上了一个开关,也是一顿again and again,无果

我的说法:
1、TTL串口易受干扰,我换了模块,用了排线,把线绞在一起,无果
2、我这台电脑,Thinkpad W520,WIN7 X64,I7+8G,莫非跑太快,换跑xp的电脑,无果
3、准备飞线把第88脚强制拉高,先问问大家的意见
[attach]4483[/attach]

实在没有其他办法了,各位支个招,感谢



/***************************************************************************************************************/


2016-08-22 21:44:24

D大给发了个新的 Fastboot v3.1.5(BVT),可以正常下载了,附件如下:
[attach]4488[/attach]

[attach]4486[/attach]

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

[attach]4487[/attach]

然后我把网卡的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,我也不知道怎么回事
[attach]4489[/attach]


/***************************************************************************************************************/

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,同时给板子上电
[attach]4505[/attach]

下载fs配置如图:
[attach]4506[/attach]

二、通过终端,要把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

成功后如图:
[attach]4507[/attach]

然后设置启动参数:
        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

完成后重启,但是我两种方法都写入之后,仍然启动不了
[attach]4508[/attach]




展开
折叠
729
评论
共 0 个
内容存在敏感词
    易百纳技术社区暂无数据
相关资料
更多相关资料
关于作者
易百纳技术社区
19504643
贡献资料 9
易百纳技术社区 我上传的资料
登录查看
我赚取的积分
登录查看
我赚取的收益
登录查看
上传资料 赚取积分兑换E币
易百纳技术社区
删除原因
广告/SPAM
恶意灌水
违规内容
文不对题
重复发帖
置顶时间设置
结束时间
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-资料模块

审核失败

失败原因
备注
易百纳技术社区