ngswfx

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx  发布于  2016-03-10 03:00:21
采纳率 0%
55个问答
13187

3520D使用512M内存实战

 
本帖最后由 ngswfx 于 2016-3-10 03:15 编辑

在网站学习了有2个月了,从不知道linux具体编程细节,从没搞过arm编程,到现在基本掌握(呵呵,奇快,主要我以前搞VC6多年,有基础,搞来搞去,发现都一样,有大量的现有资源可以直接移植使用,一天就能移植一个模块),多亏了这个网站,为此,需要把自己学到的一点东西,处理问题的一点经验分享一下。

先说说我这次遇到的问题:

首先我这边找了一台NVR的主板,上面是3520D   SPIflash 是16M 的,内存是三星的K4B4G1646,也就是512M内存,不得不说厂商,的确给力,舍得用料。

我想在这个板子上面研发东西,当开发板用,先前我使用的板子也是这个公司的NVR,是256M的内存,使用HI3520开发包中的一套东西,研发的很顺利,也测试了其他厂商的NVR主板,只要是256M的,都跑起来了,就连128的K4B1G1646也能跑起来。

当我把,以前做好的u-boot刷入后,除了蜂鸣器狂叫外,串口没反应了,使用fastboot刷spi flash,怎么都刷不进去,提示...DDR init..错误,这意味着,可能是内存配置出了问题,又找了半天的文档,网络搜索,有文中提示要把,“uboot-Hi3520D-bvt_No1_660_330_660_ddr_innerFEPHY.xls”

中的,DDRC_RNKCFG 由 0x132改为0x142,我改了,重新编译U-boot,还是启动不起来。我也看了3516以及3536文档中,关于DDR的配置,毕竟和3520区别太大,没敢随便照着改。因为到处都不一样。

到此,似乎没有解决方案了。

我想,还是先把这个板子恢复为厂商的正常东西先。于是从厂商网站下载USB升级包。可问题来了,这个升级包restore.bin,是需要U-boot才能支持的,有15M左右。杂升级呀。使用fastboot强刷,提示1M限制,于是找来vc6.0,利用它打开这个15M二进制文件,强制裁剪为1M(从开头裁剪1M下来)。再刷,没反应。

此刻,意识到,厂商提供的这个升级包,使用mkimage打包过的,代码位置可能有区别,为此,找来自己编写的u-boot,也查看二进制,为此,明确U-boot的开始字符为:CC 04 ,也到开始生成的那个1M二进制中去找,找到了,前面的数据都删除,另外我知道它的这个U-boot,应该是256K的,为此,256K后面的数据也抛弃,这样就生成了一个256K的 u-boot文件,赶紧用fastboot刷入,板子启动起来了。呵呵。

到此,问题似乎解决了,可是我要自己编自己的U-boot才行呀,还要做自动升级等其他功能呀。还需要研究才行。

又一想,这个U-boot里面应该有,uboot-Hi3520D-bvt_No1_660_330_660_ddr_innerFEPHY.xls生成的那个reg_info.bin的信息,为此再次打开这个文件,然后再打开我以前生成的reg_info.bin文件,还有我自己做的U-boot文件,发现在地址0x550附近,有那个0x142的影子 42 01,然后对比厂商的U-boot发现,下面还有个6A 7A 63 FF 我自己生成的里面是35 7A 63 FF,呵呵,6A正好是35的2倍,512M是256的2倍,然后再到 “uboot-Hi3520D-bvt_No1_660_330_660_ddr_innerFEPHY.xls”内存设置里面去找这几个字符,呵呵,DDRC_TIMING1 0xFF637A35  果断,改为0xFF637A6A,然后重新生成reg_info.bin,然后再去编译u-boot,在fastboot刷入。

成功了,其他我没对比了。有兴趣的朋友可以自己对比自己生成的reg_info.bin U-boot.bin 以及可以使用的512M u-boot.bin(附件中有压缩文件)。

这算是另外一种解决问题的方法,也算是闭门造车吧。给需要升级内存512M的,不知怎么改参数的提供另外一个思路。
易百纳技术社区文件: 2106C_Uboot.zip
下载
我来回答
回答27个
时间排序
认可量排序

小玩命

0个粉丝

2

问答

0

专栏

0

资料

小玩命 2016-03-14 13:52:23
认可0
楼主,请教下关于硬件的问题,我想了解下开发板的各个模块,比如说它的视频输入模块是NVP1918C,那么它的视频输出有模块吗?还是说HI3520D内部集成的有处理系统?

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-03-17 22:48:27
认可0
你就把3520D当成一个完整的计算机就行了,基本上,计算机的东西它都有,只不过都集成在一个芯片内部了,显卡,支持VGA HDMI VIDEO输出,内存就是DDR3,硬盘就是SPI flash。其实它的内部显示主要是一个Mail-450之类的图形处理器,海思的解码,甚至编码,以及很多处理,其实是在这个处理器基础上封装的,我们看到的是几个(HI_VO ,HI_VI, HI_VPASS, HI_VDEC等)SDK而已。MMZ也是关于内存的一个封装,这些封装仅仅是把我们程序人员需要和硬件指令、硬件底层打交道的程度降低了,这样可以很快出产品,产品周期大大降低而已。要么前些年搞个产品好几年,现在,几个月甚至数周,只要你积累的资源足够,流程熟悉。海思支持到位,产品可以很快完成研发。

Jacky

0个粉丝

8

问答

0

专栏

0

资料

Jacky 2016-03-26 16:47:55
认可0
能否将你的xls文件发给我一份,谢谢。

nschcl

0个粉丝

1

问答

0

专栏

0

资料

nschcl 2016-03-26 17:45:50
认可0
多谢楼主分享

freesky

0个粉丝

3

问答

0

专栏

0

资料

freesky 2016-03-28 09:20:16
认可0
多谢楼主分享,我也使用512M内存,发现加载mpp驱动有问题,正好可以试试楼主的方法:lol

freesky

0个粉丝

3

问答

0

专栏

0

资料

freesky 2016-03-28 10:45:43
认可0
DDRC_RNKCFG改成142,行地址位宽+1,DDRC_TIMING1改成0xFF637A35 ,DDR的trfc改成107,与芯片手册参数匹配,再次感谢楼主的分享

Jacky

0个粉丝

8

问答

0

专栏

0

资料

Jacky 2016-03-28 14:05:56
认可0
大侠,你好,你的3520D的512M内存的是三星K4B4G1646-xxxx?
速率是DDR3-1600?还是DDR3-800?DDR3-1066?

AOC

0个粉丝

19

问答

0

专栏

15

资料

AOC 2016-03-30 10:07:39
认可0
感觉LZ进行了一次万里长征,各种脑洞大开,不过感谢楼主,成功搞定还分享出来

cky167

0个粉丝

0

问答

0

专栏

0

资料

cky167 2016-04-13 15:34:25
认可0
此方法好牛逼····

ethancwchen

0个粉丝

1

问答

0

专栏

0

资料

ethancwchen 2016-04-25 22:17:45
认可0
找時間試試, 升級成512M,多謝,

bohan

0个粉丝

2

问答

0

专栏

0

资料

bohan 2016-05-05 14:51:31
认可0
ngswfx,你好,我这边也是一块3520D+ 512M DDR3 ( K4B4G1646Q-HYKO)的板子,用你的《3520D使用512M内存实战》中的方法,uboot可以通过fastboot工具,烧写到flash中,但是无法连接网络,无论是烧写我自己编的uboot,还是烧写你提供的那个2016C_Uboot.bin,启动后,想通过tftp烧写kernel和文件系统,就是无法连接网络。
Hisilicon ETH net controler
MAC:   00-5F-FC-43-65-4D
Up/Down PHY not link.
ping failed; host 192.168.1.3 is not alive

总是提示Up/Down PHY not link。

能提供些建议吗?

您手上的NVR的开发板是在哪里购买的?方便提供一下方式吗?我也买一块回来,对比一下。(板子是自己根据参考设计画的,所有的器件都是用的参考设计上的,除了加了内存到512M)。
谢谢!

ngswfx

1个粉丝

55

问答

1

专栏

40

资料

ngswfx 2016-05-05 17:46:03
认可0
本帖最后由 ngswfx 于 2016-7-14 16:06 编辑

我用的板子就是汉邦最便宜的6路NVR 2106C 130元左右。

另外,U-boot里面好像就是ping不通别的设备,你用PC能ping通板子即可。当然,别忘了setenv设置板子的IP地址,以及tftp服务器的地址。

//////////////随着学习的多了,发现这个说法是错的,uboot可以ping通的,PC反而不一定能通,主要需要把env里面的自己的IP配置正确,代码在ping命令发出后,才会会按照env配置,开启网络模块,配置IP,发包....

Cybers

0个粉丝

0

问答

0

专栏

0

资料

Cybers 2016-09-02 15:16:00
认可0
学习中,楼主太有创意了!!!

applepen

0个粉丝

11

问答

0

专栏

11

资料

applepen 2017-01-08 22:37:48
认可0
本帖最后由 applepen 于 2020-3-25 10:45 编辑

大侠:请问现代DDR H5TQ2G63FFR 在uboot-Hi3520D-bvt_No1_660_330_660_ddr_innerFEPHY.xls怎么改啊?   

applepen

0个粉丝

11

问答

0

专栏

11

资料

applepen 2017-02-08 23:18:44
认可0
请问reg_info.bin怎样生成?

Benz

0个粉丝

29

问答

0

专栏

0

资料

Benz 2017-03-06 20:36:20
认可0
楼主你好,看了你的方法,我深受启发。 你的u-boot可以在我的板子上用。
我也仔细的对比了两个.bin文件,  我的问题主要是 自己编译的u-boot.bin最开始的两个字节不对,我的是 72 02 ... ..., 我不知道程序中哪里影响了这两个字节 ,如下图:

Benz

0个粉丝

29

问答

0

专栏

0

资料

Benz 2017-03-06 20:38:08
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=44806&ptid=10333]applepen 发表于 2017-2-8 23:18[/url]
请问reg_info.bin怎样生成?[/quote]

你好 ,你的u-boot启动问题解决了吗

1401696616

0个粉丝

1

问答

0

专栏

0

资料

1401696616 2017-07-27 20:54:40
认可0
路过  顶一下。。。。。。。。。。。。。。

nsearchf

0个粉丝

0

问答

0

专栏

0

资料

nsearchf 2017-08-11 15:22:25
认可0
感谢楼主分享,我遇到的一个新情况,给大家也分享一下。使用FastBoot3.1_BVT.exe下载镜像时,这个软件不能在虚拟机里的Windows运行,否则,及时镜像文件没有问题,软件也提示烧写失败。

先知先觉_bin

0个粉丝

0

问答

0

专栏

0

资料

先知先觉_bin 2017-09-21 21:41:57
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=29572&ptid=10333]bohan 发表于 2016-5-5 14:51[/url]
ngswfx,你好,我这边也是一块3520D+ 512M DDR3 ( K4B4G1646Q-HYKO)的板子,用你的《3520D使用512M内存实 ...[/quote]

我用自己做的hi3518e的板子也是按照官方的文件做的,也是提示"Up/Down PHY not link.\n",不知朋友解决了没有,可否交流交流,我qq309682022
加载中···
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

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

详细说明

易百纳技术社区