Hi3516CV610 U-boot移植与烧写
文章目录
1.概述
本文主要介绍在Hi3516CV610单板上如何移植和烧写U-boot(Hi3516CV610单板的Bootloader)的相关操作及如何使用ARM调试工具。
Hi3516CV610单板的Bootloader采用gsl进行ddr初始化后启动U-boot方式。当选用的外围芯片的型号与单板上外围芯片的型号不同时,需要修改gsl使用的寄存器表格配置文件,主要包括存储器配置、管脚复用。
1.1 U-boot 目录结构
2.移植 U-boot
2.1 U-boot 硬件环境
Hi3516CV610 DMEB板上的外围设备包括DDR SDRAM、eMMC、SPI Nor Flash和SPI-NAND Flash。
2.2 编译 U-boot
当所有移植步骤完成后,就可以编译U-boot,进入u-boot源码目录,操作如下:
步骤1 拷贝配置文件
cp configs/hi3516cv610_defconfig .config
步骤2 配置编译环境
make ARCH=arm CROSS_COMPILE=arm-v01c02-linux-musleabi- menuconfig
步骤3 编译U-boot
make ARCH=arm CROSS_COMPILE=arm-v01c02-linux-musleabi- -j 20
编译成功后,将在U-boot目录下生成u-boot.bin。
步骤4 生成本地gzip工具
进入open_source/gzip目录,执行:make
步骤5 进入u-boot源码目录,拷贝gzip工具至uboot目录,权限修改为可执行
cp ../../gzip/bin/gzip arch/arm/cpu/armv7/hi3516cv610/hw_compressed/ -rf
chmod +x arch/arm/cpu/armv7/hi3516cv610/hw_compressed/gzip
步骤6 编译生成u-boot-hi3516cv610.bin
make ARCH=arm CROSS_COMPILE=arm-v01c02-linux-musleabi- u-boot-z.bin
编译成功后,将在U-boot目录下生成u-boot-hi3516cv610.bin
这一步生成的u-boot-hi3516cv610.bin不包含DDR初始化表格,无法直接烧写至DDR运行,并不是最终在单板上执行的U-boot镜像。
2.3配置 DDR 存储器
在Windows下打开SDK中的“bsp/tools/pc/boot_tools/”目录下的配置表格。当选用不同的DDR SDRAM时,需要针对不同器件的特性,对配置工作表中的DDR相关标签页进行修改。
2.4配置管脚复用
如果管脚复用有变化,还需要对配置表格中的管脚复用相关标签页进行修改。
2.5生成最终使用的 U-boot 镜像
U-boot镜像生成步骤如下:
步骤1 完成配置表格的修改后,保存表格。
步骤2 单击表格第一个标签页上的按钮【Generate reg bin file】或者使用regbin工具(详细使用方法请先解压RegBin-X.X.X.tgz, 参考解压后的readme:bsp/tools/pc/boot_tools/regbin/readme_xxx.txt),生成临时文件reg_info.bin。
步骤3 进入bsp/目录,执行以下操作来制作非安全镜像:
cd components/
cd gsl
make clean
make CHIP=hi3516cv610
cd ../../
cp components/gsl/pub/gsl.bin ./tools/pc/image_tool/input
cp ../../../../open_source/u-boot/u-boot-2022.07/u-boot-hi3516cv610.bin ./tools/pc/image_tool/
input/u-boot-original.bin
cp tools/pc/boot_tools/reg_info.bin ./tools/pc/image_tool/input
cd tools/pc/image_tool
python oem/oem_quick_build.py
(执行该步骤前需要先确认image_tool/oem/quick_build_config.json中默认适配项与input目录中文
件名是否一致,不一致请适配一致后再执行该步骤,否则会因找不到文件报错)
tools/pc/image_tool/image/oem/下生成的boot_image.bin即为“非安全启动”能在单板上运行的uboot 镜像。
3.烧写 U-boot
3.1概述
如果待移植单板中已有U-boot运行,则可以通过串口或网口与服务器连接,直接更新U-boot。
如果是第一次烧写,则需要使用ToolPlatform或者DS-5工具进行烧写。由于芯片特性,在使用DS-5时必须要对存储器和芯片进行初始化。在Hi3516CV610 SDK中提供了相应的初始化脚本,当选用了不同的外围芯片,则需要重新配置初始化脚本才能使用。
3.2通过 bootrom 工具烧写 U-boot
具体操作方式请参考《BurnTool工具使用指南》.
3.3 Flash 的 U-boot 烧写方法
3.3.1 SPI -Nor Flash 烧写方法
SPI-Nor Flash烧写方法如下:
步骤1 在内存中运行起来之后在超级终端中输入:
# mw.b <ddr_addr> 0xff 0x80000 /* 对内存初始化*/
# tftp <ddr_addr> boot_image.bin /*U-boot下载到内存*/
# sf probe 0 /*探测并初始化SPI-Nor flash*/
# sf erase 0x0 0x80000 /*擦除 512k大小*/
# sf write <ddr_addr> 0x0 0x80000 /*从内存写入SPI-Nor Flash*/
Hi3516CV610平台的< ddr_addr >可用地址0x44000000。
步骤2 上述步骤操作完成后,重启系统可以看到U-boot烧写成功。
在当前版本,使用sf lock 可以对SPI Nor Flash进行块保护(Blocks Protect)。如果对SPI Nor Flash的某个块进行了块保护,这个块就变成只读,运行擦除和写命令都不会生效,而且掉电并不能失效块保护。在这种情况下,只有在执行sf lock 0命令,解除块保护之后,SPI Nor Flash擦除和写操作才会起作用。
3.3.2 SPI-Nand Flash 烧写方法
SPI-Nand Flash烧写方法如下:
步骤1 在内存中运行起来之后在超级终端中输入:
# nand erase 0 0x80000 /*擦除512k大小*/
# mw.b <ddr_addr> 0xff 0x80000 /* 对内存初始化*/
# tftp <ddr_addr> boot_image.bin /*U-boot下载到内存*/
# nand write <ddr_addr> 0 0x80000 /*从内存写入NAND Flash*/
Hi3516CV610平台的< ddr_addr >可用地址0x44000000。
步骤2 重启系统可以看到U-boot烧写成功。
3.4 eMMC 的 U-boot 烧写方法
eMMC烧写方法如下:
步骤1 在内存中运行起来之后在超级终端中输入:
# mw.b <ddr_addr> 0xff 0x80000 /* 对内存初始化*/
# tftp <ddr_addr> boot_image.bin /*U-boot下载到内存*/
# mmc write 0 <ddr_addr> 0 0x400 /*从内存写入eMMC*/
可用地址0x44000000。
mmc write命令说明:
格式:mmc writeaddr blk# cnt
参数:
●:设备号
● addr:源地址
● blk#:目的地址的块序号
● cnt:块的数目,块大小为512字节
步骤2 重启系统可以看到U-boot烧写成功。
- 分享
- 举报
-
Pere_Ai 2024-06-13 11:04:40回复 举报您好,请问一下,有cv610的 板子出售吗? 辛苦加下微信19820223420
-
浏览量:2444次2024-03-17 11:48:56
-
浏览量:3446次2023-04-03 16:45:01
-
浏览量:2475次2024-03-18 11:50:01
-
浏览量:1778次2023-04-03 15:28:29
-
浏览量:1830次2023-04-03 15:51:40
-
浏览量:2070次2024-02-24 09:57:43
-
浏览量:2744次2024-03-04 16:10:47
-
浏览量:1479次2023-03-28 19:37:31
-
浏览量:2183次2024-04-30 21:01:38
-
2024-08-22 21:17:40
-
浏览量:2149次2024-04-30 22:13:25
-
浏览量:1388次2023-06-12 14:18:20
-
浏览量:1593次2023-11-10 16:09:29
-
浏览量:3408次2022-10-13 17:29:06
-
浏览量:2928次2020-08-26 17:29:05
-
浏览量:1532次2024-06-14 15:31:06
-
浏览量:2635次2023-03-17 18:38:40
-
浏览量:1386次2023-03-28 19:19:22
-
浏览量:2404次2020-08-17 19:39:33
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
Keith_Cheung
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明