【海思HI3520底层开发】Hi3520DV300增加 Nandflash并适应与V200评估板
序
由于项目需要可能需要在之前底板的基础上升级核心板,如果是基于易佰纳Hi3520V200核心板,基于Hi3520V200评估板设计进行的电路设计,即使拿到SDK也会有网卡不兼容的问题。
需要注意在更换HiV3520V300时认真比对Hi3520V300和Hi3520V200的技术参数差异。
比如
- Hi3520V200支持 BootRom 启动 SPI NOR flash 启动
- Hi3520V300 支持从 BootROM 启动 SPI NOR flash 启动 还支持SPI NAND flash 启动
这也是因为其支持的存储器接口差异有关。
Hi3520V200
SPI Nor Flash 接口
− 1、 2、 4bit SPI Nor Flash
− 2 个片选
− 每个片选最大容量支持 8Gbit
Hi3520V300
SPI NOR/NAND Flash 接口
− 1、 2、 4bit SPI NOR/NAND Flash
− 2 个片选,可分别接不同类型的 Flash
− (仅对 NOR flash)每个片选最大容量支持 32Mbytes
− (仅对 SPI NAND flash)每个片选支持的最大容量为 8GByte
− (仅对 SPI NAND flash)支持 2KB/4KB 页大小
− (仅对 SPI NAND flash)支持 8bit/1Kbyte ECC 及 24bit/1Kbyte ECC
Hi3520V200有4个Uart ,Hi3520V300只有3个Uart等。
一、更改网卡配置,让V300核心板适应V200评估底板
1、uboot更改网卡配置(网络正常才好TFTP快速烧录内核和文件系统固件)
vi include/configs/hi3520dv300.h
184 /*-----------------------------------------------------------------------
185 * HIETH-GMAC driver
186 -----------------------------------------------------------------------*/
187 #define CONFIG_NET_HIGMACV300
188 #ifdef CONFIG_NET_HIGMACV300
189 #define CONFIG_GMAC_NUMS 1
190 #define HIGMAC0_IOBASE 0x100A0000
191 /* #define HIGMAC1_IOBASE 0x10091000 */
192 #define CONFIG_HIGMAC_PHY1_ADDR 2
193 /* #define CONFIG_HIGMAC_PHY2_ADDR 2 */
194 #define CONFIG_HIGMAC_PHY1_INTERFACE_MODE 0
195 /* #define CONFIG_HIGMAC_PHY2_INTERFACE_MODE 2 */
196 #define CONFIG_HIGMAC_DESC_4_WORD
197 #endif
配置ipaddr gatewayip serverip uboot环境变量
此时uboot即可与主机ping通,但是如果用SDK中的内核镜像,内核的网络是不能用的,需要修改内核相关配置。
制作uboot镜像
make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux- hi3520dv300_config
make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux-
cp u-boot.bin ../../../tools/pc/uboot_tools/
cd ../../../tools/pc/uboot_tools/
./mkboot.sh reg_info.bin u-boot-hi3521a.bin
2、内核更改网卡配置
内核启动后无论如何配置网络都不能ping通主机设备,dmesg查看内核打印信息看到下面信息,发现phy地址出现问题 。
PHY mdio0:01 not found
ETH0: rmii, phy_addr=1, mii_name=mdio0
进入内核源码配置即可
cd linux-3.10.y
make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux- menuconfig
->Device Drivers
->Network device support (NETDEVICES [=y])
-> Ethernet driver support (ETHERNET [=y])
-> hieth gmac family network device support (HIETH_GMAC [=y])
(2) hieth-gmac phy0 addr
(6) hieth-gmac phy0 interface mode
二、修改nandflash配置,增加V300 flash 到128M
1、更改确认uboot支持nandflash
因为原板板载16M falsh,存储非常小,在使用Hi3520时由于增加了QT界面的设计,如果移植的QT库功能比较丰富的情况,存储是肯定不够用的。这里介绍增加更换nandflash的方法。
由于板载是8脚的nor flash,更换nandflash 也必须是8引脚的flash,这里我选用的是F50L1G41A,选用这个芯片的原因主要是uboot源码中已经填了这该芯片的配置信息,如果需要添加自己的flash可以在drivers/mtd/nand/hifmc100/hifmc_spi_nand_ids.c
文件下添加nand flash的 参数信息,对应于datasheet中的数据参数。其中id是地址,
.id = {0xC8, 0x21},
.id_len = 2,
.chipsize = _128M,
.erasesize = _128K,
.pagesize = _2K,
.oobsize = 64,
这里我圈出一个 Internal ECC Requirement: 1bit/512Byte
,这里就是之后做文件系统需要的eec type。需要注意。
2、制作nand flash 需要的文件系统yaffs2
更改nandflash之后,之前的文件系统则不再适用,需要针对nandflash制作需要的文件系统。
对于yaffs2 文件系统海思在 SDK 中作为一个模块提供。只需在 yaffs2 代码中的 Makefile 中加入所依赖的内核代码路径,进行编译,即可生成 yaffs2 文件系统模块。yaffs2 镜像文件的制作可以通过SDK中mkyaffs2image工具制作,只需简单的几个参数,具体如下:
mkyaffs2image ./rootbox yaffs2-root.img pagesize ecctype
其中, rootbox 是之前已经制作好的根文件系统, yaffs2-root.img 是生成的 yaffs2 文件系统镜像文件, pagesize 是单板上焊接 NAND Flash 器件的页大小, ecctype 是单板上焊接 NAND Flash 器件的 ecc 类型。
上文中根据F50L1G41A的datasheet可以知道他的 pagesize 是2K ecctype是ibit
找到工具osdrv/tools/pc/mkyaffs2image编译生成可执行文件,放到ubuntu /bin目录中,执行生成rootfs镜像操作发现出现下面报错。这里是因为工具oob_config_v100不支持2K1bit参数导致,重新更改Makefile编译oob_config_v300工具。
22 BUILD_DIR := $(PREFIX)/mkyaffs2image
23 STRIP := strip
24
25 MKYAFFS2IMAGE := mkyaffs2image300
26
27
28 all: \
29 $(BUILD_DIR)/tar
30 cd $(BUILD_DIR) && \
31 make && \
32 cd -
33 mkdir -p $(PREFIX)/bin
34 cp $(BUILD_DIR)/mkyaffs2image300 $(PREFIX)/bin
然后mkyaffs2image300 ./rootfs rootfs_2k1bit.yaffs2 2K 1bit
生成可烧写的roots镜像
三、向没有uboot的nandflash中烧写uboot,内核,文件系统
- 分享
- 举报
-
浏览量:4488次2020-07-31 13:45:09
-
2018-06-18 22:47:22
-
浏览量:2539次2020-08-14 15:09:41
-
浏览量:2707次2020-08-04 20:12:26
-
浏览量:2381次2022-01-10 09:00:16
-
浏览量:4789次2020-08-15 17:29:07
-
浏览量:1394次2023-11-04 15:07:11
-
2019-04-10 21:45:38
-
浏览量:4776次2021-09-22 16:21:48
-
浏览量:4961次2020-08-11 17:39:02
-
浏览量:3671次2020-07-28 10:49:06
-
浏览量:10522次2020-08-30 00:41:53
-
浏览量:1456次2020-08-30 00:47:29
-
浏览量:4827次2020-08-11 18:51:18
-
浏览量:9860次2020-09-12 17:58:14
-
浏览量:3824次2020-08-14 17:18:54
-
浏览量:1463次2020-08-30 00:47:44
-
浏览量:6535次2020-08-15 17:22:26
-
浏览量:2142次2019-07-20 14:05:57
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
MacianYuan
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
使用Hitool 串口下载 ,注意选择芯片Hi3521A 选择Hi3520D会烧不进去。