研发日记——海思HI3519A芯片环境搭建

时间:2024-04-03 14:02:26

【1】SDK安装

1.1 Hi3519AV100 SDK 包位置

在"Hi3519AV100***/01.software/board"目录下,可以看到一个Hi3519AV100_SDK_Vx.x.x.x.tgz 的文件,该文件就是 Hi3519AV100 的软件开发包。

1.2 解压缩 SDK 包

在 linux 服务器上(或者一台装有 linux 的 PC 上,主流的 linux 发行版本均可以),使用命令:tar -zxf Hi3519AV100_SDK_Vx.x.x.x.tgz,解压缩该文件,可以得到一个Hi3519AV100_SDK_Vx.x.x.x 目录。

1.3 展开 SDK 包内容

返回 Hi3519AV100_SDK_Vx.x.x.x 目录,运行./sdk.unpack(请用 root 或 sudo 权限执行)将会展开 SDK 包打包压缩存放的内容,请按照提示完成操作。如果您需要通过 WINDOWS 操作系统中转拷贝 SDK 包,请先运行./sdk.cleanup,收起SDK 包的内容,拷贝到新的目录后再展开。

1.4 在 linux 服务器上安装交叉编译器

在发布包 Hi3519A V100R001C02SPCxxx.rar 所在的目录中下载工具链文件。
1) 安装 himix200 交叉编译器:
注意:安装交叉编译器需要有 sudo 权限或者 root 权限。
解压 tar –xzf arm-himix200-linux.tgz,运行 chmod +x arm-himix200-linux.install,然后运
行./arm-himix200-linux.install 即可。
2) 执行 source /etc/profile,安装交叉编译器的脚本配置的环境变量就可以生效了,或者请重新登陆也可。

1.5 编译 osdrv

1)从linux开源社区下载v4.9.37版本的内核:
1)进入网站:www.kernel.org
2)选择HTTP协议资源的https://www.kernel.org/pub/选项,进入子页面
3)选择linux/菜单项,进入子页面
4)选择kernel/菜单项,进入子页面
5)选择v4.x/菜单项,进入子页面
6)下载linux-4.9.37.tar.gz(或linux-4.9.37.tar.xz)
2、打补丁
1)将下载的 linux-4.9.37.tar.gz 存放到 osdrv的opensource/kernel目录中
2)在linux服务器中进入 osdrv 的根目录,执行如下命令:
cd opensource/kernel
tar -zxf linux-4.9.37.tar.gz
mv linux-4.9.37 linux-4.9.y
cd linux-4.9.y
patch -p1 < …/linux-4.9.37.patch
cd …/
tar -czf linux-4.9.y.tgz linux-4.9.y
cd …/…/

1)将下载的 linux-4.9.37.tar.gz 存放到 osdrv的opensource/kernel目录中
2)在linux服务器中进入 osdrv 的根目录,执行如下命令:
make OSDRV_CROSS=arm-himix200-linux all

make OSDRV_CROSS=arm-himix100-linux all

注意:
若下载的内核格式为linux-4.9.37.tar.xz,
第一步先用:
xz -d linux-4.9.37.tar.xz
命令将linux-4.9.37.tar.xz解压为linux-4.9.37.tar。
第二步再用:
tar -xvf linux-4.9.37.tar
解压linux-4.9.37.tar。

【2】烧写 uboot、kernel、fs

2.1 准备工作

首先,请阅读文档《Hi3519AV100 Demo 单板用户指南》,了解 Hi3519AV100 DEMO板硬件的功能、结构、接口等信息。
1.如果您拿到的单板没有 uboot,就需要使用 HiTool 工具进行烧写。HiTool 工具位置放在 Hi3519A***/01.software/pc/HiTool,使用说明请参见该目录下的《HiBurn工具使用指南》。
2. 如果您拿到的单板中已经有 uboot,可以按照以下步骤使用网口烧写 uboot、kernel及 rootfs 到 Flash 中。
研发日记——海思HI3519A芯片环境搭建

2.2网络配置

由于嵌入式单板的资源有限,不能在单板上运行开发和调试工具,通常需要交叉编译调试的方式进行开发和调试,即“宿主机+目标机(评估板)”的形式。宿主机和目标机一般采用串口连接,也可同时通过网口或者 JTAG 连接,宿主机和目标机的处理器一般不相同。宿主机需要建立适合于目标机的交叉编译环境。程序在宿主机上经过“编译-连接-定位”得到可执行文件。通过一定的方法将可执行文件烧写到目标机中,然后在目标机上运行。

目标机上的 Bootloader 启动后,目标机中的操作信息通过串口或者网口输出到宿主机上显示。在宿主机上的控制台中输入命令,可以控制目标机。

Hi3519AV100 开发环境通常包括 Linux 服务器、Windows 工作台和Hi3519AV100DMEB(目标板),三者同处于一个网络中(即在同一网段,为后期PC与开发板通信做准备,需要将pc与开发板设置成同一局域网)。
研发日记——海思HI3519A芯片环境搭建

然后配置 tftp 服务器,可以使用任意的 tftp 服务器,将 package/smp_image_uclibc_xxx(或 image_uclibc_xxx)下的相关文件拷贝到 tftp 服务器目录下。

2.3设置uboot参数

setenv bootargs ‘mem=256M console=ttyAMA0,115200 clk_ignore_unused
root=/dev/mtdblock2 rw rootfstype=yaffs2
mtdparts=hinand:1M(boot),4M(kernel),128M(rootfs)’
setenv bootcmd ‘nand read 0x42000000 100000 400000; bootm 0x42000000’

setenv serverip 192.168.1.119
setenv ipaddr 192.168.1.19

2.4 SMP 版本烧写映像文件到 SPI Nand Flash

①烧写 u-boot

mw.b 42000000 ff 80000
tftp 0x42000000 u-boot-hi3519av100.bin
nand erase 0 80000;nand write 42000000 0 80000

②烧写内核

mw.b 42000000 ff 400000
nand erase 100000 400000;nand write 42000000 100000 400000
tftp 42000000 uImage_hi3519av100_smp
00
③烧写文件系统

tftp 42000000 rootfs_hi3519av100_2k_4bit.yaffs2
mw.b 42000000 ff 2000000
nand erase 500000 2000000;nand write.yaffs 42000000 500000 0xafeb00 (0xafeb00 为实际文件大小)

2.5重启系统

reset配置成功
研发日记——海思HI3519A芯片环境搭建