2212
- 收藏
- 点赞
- 分享
- 举报
hi3516 Uboot的制作(RMII网络)
注意:
1.解压Hi3516AV100最新SDK版本1.0.6.0;
# Hi3516A_SDK_V1.0.6.0.tgz
2.安装Hi3516AV100环境;(进入步骤1解压出来的目录)
#./sdk.unpack
3.安装交叉编译环境;(已安装服务器可略过)
#cd Hi3516A_SDK_V1.0.6.0/osdrv/opensource/toolchain/arm-hisiv300-linux
#./cross.install.v300
一、进入uboot源码目录,解压uboot压缩文件到当前目录并重命名为u-boot-2010-06-rmii;
#cd ~/work/SDK_HI3516AV100/Hi3516A_SDK_V1.0.6.0/osdrv/opensource/uboot/
#tar zxvf u-boot-2010.06.tgz
#mv u-boot-2010.06 u-boot-2010-06-rmii
二、进入解压出来的uboot源码目录,并生成配置文件(hi3516a_config)
#cd u-boot-2010-06-rmii
# make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux- hi3516a_config
make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- hi3519v101_config
三、修改include/configs/hi3516a.h头文件:
#vim include/configs/hi3516a.h
1)配置分区及启动参数
sf probe 0;sf read 0x82000000 0x80000 0x300000;bootm 0x82000000
mem=80M console=ttyAMA0,115200 mtdparts=hi_sfc:512K(boot),3M(kernel),11M(app),1M(app_ext),512K(param)
以下分别是修改之前和修改之后的截图:
2)配置网络
以下分别是修改之前和修改之后的截图:
3) 配置uboot程序空间和环境参数空间大小
以下分别是修改之前和修改之后的截图:
#vim product/env_setup.h
4)修改对应的spi flash驱动代码:
#vim drivers/mtd/spi/hisfc350/hisfc350_spi_ids.c
A:支持MX25L12835F
B:支持GD25Q127C
四、编译生成uboot镜像,完成后将在当前目录生成u-boot和u-boot.bin,我们需要的是u-boot.bin
#make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux-
以上所生成的u-boot.bin就是可以接使用的uboot镜像;
补充说明以下几点:
一、flash分区在uboot的配置中直接进行分区,不需要到内核中的源码中进行分区或在编译内核时在cmdline命令行选项上进行分区(内核编译时,此选项为空不写任何内容)
二、RMII网络,此uboot已经默认是RGMII网络,如果实际硬件板子用的是RMII网络时,需要到include/configs/hi3516a.h这个文件修改配置具体修改项如下:
三、如果硬件板子有寄存器需要重新设置的(Hi3516A需要重新配置DDR和网络),请按如下操作步骤操作:
(1)在windows操作系统中进入SDK中的uboot_tools目录
(2)用Microsoft Execl打开(WPS打开是不行的)
修改相应内容:
1. DDR修改配置
A: 在 mddrc_dmc1 页,设置为 16bit 位宽,地址和相应 bit 位: 0x2011_1050【 5:4】,
见 datasheet;
0x26 修改为->0x16.
B: 在 mddrc_dmc2 页,修改配置 AXI_CONFIG【 3:0】: 0xb,设置为 2k bank 位宽;
0x2000C 修改为->0x2000b.
C: 在 mddrc_phy 页,屏蔽高 16 位的写数据。
0x0 修改为->0x3.
0x0 修改为->0x3.
D: mddrc_dmc1 页面
0x142 修改为->0x132.
E: mddrc_dmc1 页面 : 0x4126804c -------> 0x41268028
【 7:0】进行修改:我们的 uboot 默认发布 DDRC 总线 250M: 160/4 = 40 =0x28
F: mddrc_phy 页面 : 0x089726c4 -------> 0x085026c4
【 24:16】进行修改:修改为 160/2 = 80 = 0x50;
2.网络配置
A: muxctrl_reg 页面 : 0x1 -------> 0x2
muxctrl_reg93进行修改
修改完相应设置后,保存一下,切换到main页面,点击Generate reg bin file按钮,执行之后,在uboot_tools目录下生成reg_info.bin文件
(3)生成u-boot.bin镜像:
在Linux环境界面下,将原来生成的u-boot.bin拷贝到此目录下,需要使用的文件有
mkboot.sh
reg_info.bin
u-boot.bin
执行 ./mkboot.sh reg_info.bin u-boot-hi3516a.bin
生成u-boot.bin查看更新时间,确保是新生成的
1.解压Hi3516AV100最新SDK版本1.0.6.0;
# Hi3516A_SDK_V1.0.6.0.tgz
2.安装Hi3516AV100环境;(进入步骤1解压出来的目录)
#./sdk.unpack
3.安装交叉编译环境;(已安装服务器可略过)
#cd Hi3516A_SDK_V1.0.6.0/osdrv/opensource/toolchain/arm-hisiv300-linux
#./cross.install.v300
一、进入uboot源码目录,解压uboot压缩文件到当前目录并重命名为u-boot-2010-06-rmii;
#cd ~/work/SDK_HI3516AV100/Hi3516A_SDK_V1.0.6.0/osdrv/opensource/uboot/
#tar zxvf u-boot-2010.06.tgz
#mv u-boot-2010.06 u-boot-2010-06-rmii
二、进入解压出来的uboot源码目录,并生成配置文件(hi3516a_config)
#cd u-boot-2010-06-rmii
# make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux- hi3516a_config
make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- hi3519v101_config
三、修改include/configs/hi3516a.h头文件:
#vim include/configs/hi3516a.h
1)配置分区及启动参数
sf probe 0;sf read 0x82000000 0x80000 0x300000;bootm 0x82000000
mem=80M console=ttyAMA0,115200 mtdparts=hi_sfc:512K(boot),3M(kernel),11M(app),1M(app_ext),512K(param)
以下分别是修改之前和修改之后的截图:
2)配置网络
以下分别是修改之前和修改之后的截图:
3) 配置uboot程序空间和环境参数空间大小
以下分别是修改之前和修改之后的截图:
#vim product/env_setup.h
4)修改对应的spi flash驱动代码:
#vim drivers/mtd/spi/hisfc350/hisfc350_spi_ids.c
A:支持MX25L12835F
B:支持GD25Q127C
四、编译生成uboot镜像,完成后将在当前目录生成u-boot和u-boot.bin,我们需要的是u-boot.bin
#make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux-
以上所生成的u-boot.bin就是可以接使用的uboot镜像;
补充说明以下几点:
一、flash分区在uboot的配置中直接进行分区,不需要到内核中的源码中进行分区或在编译内核时在cmdline命令行选项上进行分区(内核编译时,此选项为空不写任何内容)
二、RMII网络,此uboot已经默认是RGMII网络,如果实际硬件板子用的是RMII网络时,需要到include/configs/hi3516a.h这个文件修改配置具体修改项如下:
三、如果硬件板子有寄存器需要重新设置的(Hi3516A需要重新配置DDR和网络),请按如下操作步骤操作:
(1)在windows操作系统中进入SDK中的uboot_tools目录
(2)用Microsoft Execl打开(WPS打开是不行的)
修改相应内容:
1. DDR修改配置
A: 在 mddrc_dmc1 页,设置为 16bit 位宽,地址和相应 bit 位: 0x2011_1050【 5:4】,
见 datasheet;
0x26 修改为->0x16.
B: 在 mddrc_dmc2 页,修改配置 AXI_CONFIG【 3:0】: 0xb,设置为 2k bank 位宽;
0x2000C 修改为->0x2000b.
C: 在 mddrc_phy 页,屏蔽高 16 位的写数据。
0x0 修改为->0x3.
0x0 修改为->0x3.
D: mddrc_dmc1 页面
0x142 修改为->0x132.
E: mddrc_dmc1 页面 : 0x4126804c -------> 0x41268028
【 7:0】进行修改:我们的 uboot 默认发布 DDRC 总线 250M: 160/4 = 40 =0x28
F: mddrc_phy 页面 : 0x089726c4 -------> 0x085026c4
【 24:16】进行修改:修改为 160/2 = 80 = 0x50;
2.网络配置
A: muxctrl_reg 页面 : 0x1 -------> 0x2
muxctrl_reg93进行修改
修改完相应设置后,保存一下,切换到main页面,点击Generate reg bin file按钮,执行之后,在uboot_tools目录下生成reg_info.bin文件
(3)生成u-boot.bin镜像:
在Linux环境界面下,将原来生成的u-boot.bin拷贝到此目录下,需要使用的文件有
mkboot.sh
reg_info.bin
u-boot.bin
执行 ./mkboot.sh reg_info.bin u-boot-hi3516a.bin
生成u-boot.bin查看更新时间,确保是新生成的
我来回答
回答0个
时间排序
认可量排序
暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2017-04-29 17:37:11
-
2016-05-21 09:05:58
-
2019-05-23 17:33:22
-
2017-09-06 18:17:13
-
132016-02-19 10:13:47
-
2018-01-15 21:56:40
-
2017-11-13 14:54:27
-
2017-04-06 13:51:05
-
2016-11-07 18:52:56
-
2016-06-30 14:21:02
-
2018-04-28 17:00:01
-
2016-03-22 09:27:54
-
2019-05-22 09:47:35
-
102017-09-01 09:57:48
-
202015-01-09 11:46:38
-
2019-05-23 17:28:50
-
102019-05-22 09:55:10
-
2018-04-10 10:46:18
-
2018-05-02 18:22:59
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5SS928的emmc有32GB,bootargs设置使用16GB,但是为啥能用的只有rootfs的大小
-
33SS928怎样烧写ubuntu系统
-
10ToolPlatform下载rootfs提示网络失败
-
10谁有GK7205V500的SDK
-
5Hi3516CV610 烧录不进去
-
10Hi3559AV100 芯片硬解码h265编码格式的视频时出现视频播放错误,解码错误信息 s32PackErr:码流有错
-
5海思SS928 / SD3403的sample_venc.c摄像头编码Demo中,采集到的摄像头的YUV数据在哪个相关的函数中?
-
5海鸥派openEuler无法启动网卡,连接WIFI存在问题
-
66有没有ISP相关的巨佬帮忙看看SS928对接IMX347的图像问题
-
50求助hi3559与FPGA通过SLVS-EC接口对接问题
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认