lpowencom

lpowencom

0个粉丝

3

问答

0

专栏

0

资料

lpowencom  发布于  2017-01-01 10:37:54
采纳率 0%
3个问答
7442

关于HI3516A 使用SDK06版本更换DDR和SPI FLASH遇到的问题和解决方法

 

[b]HI3516A 更换DDR 和 FLASH[/b]

最近有新的需求需要使用SDK06版本,以及在硬件上更换了DDR和 FLASH,遇到了一些问题,这段时间搜索了很多hisi的资料和帖子,大概做了如下的总结, 希望对大家有帮助,若有错误的地方或遗漏的地方,请指出。谢谢。

更换DDR 和 flash,则需要更新uboot,因为里面包含了DDR和flash的配置。

首先需要对hisi的uboot有所了解。

hisi uboot分解为两部分。前面一部分为DDR的参数和其他寄存器的配置,总过大小为4K 具体的地址为从0x40 开始的4K大小。

这4K的配置是通过hisi提供的execl表格生成的一个reg_info.bin文件,然后通过mkboot.sh脚本把reg_info.bin和我们编译完的u-boot.bin 合成一个完整的bin文件,这样我们就可以通过fastboot工具中的Burn Fastboot 模式来刷机了。

如何配置execl中的参数。

reg_info.bin 如果仔细看,会发现里面都是excel中提到的寄存器地址然后是后面紧跟这个寄存器的值,如果恰巧别人没有提供这个表格, 自己也可以通过这个一步一步对比找出来。或者不想麻烦,直接把别人uboot中的前面4K 复制到自己的uboot bin 文件上。

[b]1,excel文件的选择[/b] 在osdrv\tools\pc\uboot_tools中有两支不同DDR CPU 频率的表格,选择的时候要注意点。 Hi3516A-DMEB-uboot-DDR250M-1GB-32bit-CPU600M-BUS198M.xls Hi3516A-DMEB-uboot-DDR297M-1GB-32bit-CPU850M-BUS198M.xls

如果你的HISI3516A 是超频到850M的,则要选择Hi3516A-DMEB-uboot-DDR297M-1GB-32bit-CPU850M-BUS198M.xls hisi3516A的CPU 正常是600M的,所以就选择Hi3516A-DMEB-uboot-DDR250M-1GB-32bit-CPU600M-BUS198M.xls

在这个文件更改的地方不多。很多时候会发现根本不用改什么就OK了 O(∩_∩)O~ DDR的就看位宽和bit,bank数,

修改的地方如下: DDRC_CFG_DDRMODE 存储数据总线位宽 AXI_CONFIG BANK 位宽配置

fastboot 工具会先将uboot通过串口线下载到的板子上,然后启动uboot, 如果下载进去后出现DDR init state error 则有可能就是上面配置没对

uboot启动后,就会把自己写入到flash中,前提是flash的驱动在uboot中已做了配置

[b]2 SPI 配置[/b] 如下是uboot的某个spi flash 配置,参考其他帖子说在READ WRITE中只保留READ_STD和WRITE_STD,才能有正常读写。

{
    "W25Q256FV", {0xEF, 0x40, 0x19}, 3, _32M, _64K, 4,

    {
        &READ_STD(0, INFINITE, 50),
        //&READ_FAST(1, INFINITE, 80),
        //&READ_DUAL(1, INFINITE, 80),
        //&READ_QUAD(1, INFINITE, 80),
        0
    },

    {
        &WRITE_STD(0, 256, 50),
        //&WRITE_QUAD(0, 256, 80),
        0
    },

    {
        &ERASE_SECTOR_64K(0, _64K, 50),
        0
    },
    &spi_driver_w25q256fv,
},

在kernel中也要这样改,不然再挂载文件系统的时候会出现jffs2: jffs2_scan_eraseblock() 错误

还有一个重要的点是会影响串口的输出:需要把如下配置改为03 DX3CTRL 0x388 0x00 -->0x03 DX2CTRL 0x308 0x00 -->0x03

我们就会在串口中看到有输出,并且能够进入uboot模式,不然串口没有任何输出

[b]3,网络配置[/b]

海思提供的网络模式模式是rgmii,所以如果你的模式不是这种或者是PHY接口不对,网络就ping不通。 会出现如下错误:

ETH0: PHY(phyaddr=1, rmii) not link! higmac init fail!

/include/configs/hi3516a.h 添加网络模式

define CONFIG_MDIO_INTF "rmii"

define CONFIG_HIGMAC_PHY1_INTERFACE_MODE 1

PHY的地址修改,可以通过mii info 来查看是属于0 还是1 ,或者其他

define CONFIG_HIGMAC_PHY1_ADDR 1

还需要在execel的表格中 把时钟配置为RMILL clk的时钟50M muxctrl_reg93 0x174 0x2 -->0x01

在kernel中需要在config中CONFIG_HIGMAC_PHY0_INTERFACE_MODE 修改为5

mill rmii rgmii 三种模式在uboot为 0 1 2 kernel中为1 5 6

可以看到,我们修改的地方不多。也有可能还有其他问题没有暴露出来。

非常感谢如下帖子的帮助: http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=13621&page=1#pid43461 http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=10128&highlight=rmii http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=11385&highlight=rmii http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=11434&highlight=uboot http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=10256&extra=&highlight=uboot&page=1 http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=7731&highlight=SPI%2Bflash http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=9363&extra=&page=1

我来回答
回答9个
时间排序
认可量排序

harold

0个粉丝

11

问答

0

专栏

3

资料

harold 2017-01-01 11:03:23
认可0
支持,你的office是什么版本的?可以打开那个海思的xls?

lpowencom

0个粉丝

3

问答

0

专栏

0

资料

lpowencom 2017-01-01 11:06:00
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=43588&ptid=13835]harold 发表于 2017-1-1 11:03[/url]
支持,你的office是什么版本的?可以打开那个海思的xls?[/quote]

用的WPS版本

fengwen_ye

1个粉丝

26

问答

0

专栏

0

资料

fengwen_ye 2017-01-02 11:37:22
认可0
支持,很好的参考

spectre

0个粉丝

2

问答

0

专栏

0

资料

spectre 2017-06-14 11:52:40
认可0
DDR配置直接修改.xls吗?
还有就是uboot,kernel,rootfs烧录时,怎么知道他的大小,就是怎么擦除然后写入?
小白一枚,求指教

super11dog

0个粉丝

0

问答

0

专栏

1

资料

super11dog 2017-09-06 17:47:10
认可0
這篇文章總結的不錯, 值得參考

250596303

0个粉丝

1

问答

0

专栏

0

资料

250596303 2018-06-03 23:27:17
认可0
你好,请教下3516a以前使用DDR:256M,现在换成DDR128M,具体这个两个寄存器DDRC_CFG_DDRMODE 存储数据总线位宽
AXI_CONFIG BANK 位宽配置  是如何配置。谢谢!

qyzwangbin

0个粉丝

5

问答

0

专栏

1

资料

qyzwangbin 2019-07-15 17:41:18
认可0
不错,很有帮助,感谢!

hi3519v101

0个粉丝

5

问答

0

专栏

0

资料

hi3519v101 2017-06-14 09:50:53
认可0
感谢楼主:):):):):):)

cloudxxcloud

0个粉丝

2

问答

0

专栏

0

资料

cloudxxcloud 2020-01-09 20:05:44
认可0
厉害,楼主
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区