1 生成U-boot
基于Hi3520D_SDK_V1.0.5.0
1.1 编译U-boot
在Hi3520D_SDK_V1.0.5.0/osdrv/uboot目录下运行
make ARCH=armCROSS_COMPILE=arm-hisiv100nptl-linux- hi3520d_config
make ARCH=armCROSS_COMPILE=arm-hisiv100nptl-linux-
编译成功后,在 U-boot 目录下生成 u-boot.bin; 这一步生成的 u-boot.bin 只是一个中间件,并不是最终在单板上执行的 U-boot 镜像
1.2 生成最终使用的U-boot镜像
拷贝上面生成的u-boot.bin 到Hi3520D_SDK_V1.0.5.0/osdrv/tools/pc_tools/uboot_tools目录下;并在此目录下运行
mv reg_info_Hi3515A-bvt_No1_600_300_600_ddr_innerFEPHY.binreg_info_hi3515a.bin
mv reg_info_Hi3520D-bvt_No1_660_330_660_ddr_innerFEPHY.binreg_info_hi3520d.bin
./mkboot-hi3520d.sh reg_info_hi3515a.bin reg_info_hi3520d.binu-boot-hi3520d-wzt2016.bin
文件u-boot-hi3520d-wzt2016.bin 及为最终镜像文件
说明: 文件 reg_info_Hi3515A-bvt_No1_600_300_600_ddr_innerFEPHY.bin
文件reg_info_Hi3520D-bvt_No1_660_330_660_ddr_innerFEPHY.bin
都是SDK自带的文件,如果没有的话,需要手动生成;单击表格第一个标签页上的按钮“Generage reg bin file”,生成临时文件 reg_info.bin
2 生成Linux内核
基于Hi3520D_SDK_V1.0.5.0
配置内核之前需要将Hi3520D UART2和UART3加载到内核以及在内核中复用UART2,UART3管脚;配置为串口功能;
2.1 配置内核
在Hi3520D_SDK_V1.0.5.0/osdrv/kernel目录下运行
cp arch/arm/configs/hi3520d_full_defconfig.config
make ARCH=armCROSS_COMPILE=arm-hisiv100nptl-linux- menuconfig
2.2 编译内核
在Hi3520D_SDK_V1.0.5.0/osdrv/kernel目录下运行
make ARCH=armCROSS_COMPILE=arm-hisiv100nptl-linux- uImage
uImage 为最终使用的内核
2.3 在内核中编译驱动模块
在Hi3520D_SDK_V1.0.5.0/osdrv/kernel目录下运行
make ARCH=armCROSS_COMPILE=arm-hisiv100nptl-linux- modules