当前位置:   article > 正文

Hi3516A视频摄像机开发环境的搭建_hi3156

hi3156

 

一、SDK的安装

1、Hi3516A SDK包位置

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


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

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

4、在linux服务器上安装交叉编译器
    1)安装uclibc交叉编译器(注意,需要有sudo权限或者root权限):
       进入Hi3516A_SDK_Vx.x.x.x/osdrv/opensource/toolchain/arm-hisiv300-linux目录,运行chmod +x cross.install,然后运行./cross.install即可。
    2) 安装glibc交叉编译器(注意,需要有sudo权限或者root权限):
       进入Hi3516A_SDK_Vx.x.x.x/osdrv/opensource/toolchain/arm-hisiv400-linux目录,运行chmod +x cross.install,然后运行./cross.install即可。
    3) 执行source /etc/profile, 安装交叉编译器的脚本配置的环境变量就可以生效了,或者请重新登陆也可。

二.编译Hi3156A_V1.0.5.0SDK

编译过程中遇到的问题 :

1.“mkimage” command not found – U-Boot images will not be built

找不到mkimage工具, 

解决方法1. : 解压uboot, 在uboot的tool 目录中 找到 mkimage 工具 cp 到 /bin/ 目录 即可 .

 

解决方法2. : sudo apt-get install u-boot-tools .    安装 u-boot 工具链 .

 

2.compr_zlib.c:39:18: fatal error: zlib.h: No such file or directory

找不到zlib头文件    

解决方法 :sudo apt-get install zlib1g-dev

 

 

3.configure: error: ncurses or ncursesw selected, but library not found (--without-ncurses to disable)

解决方法 1:编译带上 --without-ncurses 

解决方法2 :sudo apt-get install libncurses-dev

 

4.configure: error: C++ compiler cannot create executables

See `config.log' for more details.

 

在编译软件之前,进行了export操作,改变了CFLAGS和LIBS的值。

解决方法 1 : 这个时候只要将这个值清空就可以了。

export LIBS=
export CFLAGS=

解决方法 2 : 重装开发编译工具包

sudo apt-get install update

sudo apt-get install build-essential

 

三.烧写镜像

编译完成后,烧写镜像位于 SDK 的

osdrv/pub/image_uclibc(或者 image_glibc)目录下。

 

烧写镜像包括:

 

z U-boot 文件: u-boot-hi3516a.bin

z 内核文件: uImage_hi3516a

z 根文件系统: rootfs_hi3516a_256k.jffs2、 rootfs_hi3516a_2k_4bit.yaffs2 等

 

其中, jiffs2 用于烧写 SPI Flash,“256k”表示块大小; yaffs2 用于烧写 Nand Flash,

“2k”表示器件页大小, 4bit 表示 ECC 校验能力。请根据具体 Flash 器件类型及特性烧

写对应的根文件系统。

 

烧写镜像的两种方法:

方法一 : 

 

 

方法二:

Uboot烧写

 以16M SPI Flash为例。
    1)地址空间说明
        |      1M       |      3M       |      12M      |
        |---------------|---------------|---------------|
        |     boot      |     kernel    |     rootfs    |

        以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。
       2)烧写u-boot
        sf probe 0                        \\探测并初始化SPI flash
        mw.b 82000000 ff 100000      \\在内存82000000 开始的 1M空间内用ff 填充
        tftp 0x82000000 u-boot-hi3516a.bin    \\tftp下载uboot镜像到内存空间 0x82000000
        sf probe 0                          
        sf erase 0 100000            \\擦除起始地址0x0开始的1M空间 
        sf write 82000000 0 100000       \\将地址0x82000000 处的1M大小镜像烧写到0x0地址 .
        reset                                                \\重启 
    3)烧写内核
        mw.b 82000000 ff 300000
        tftp 82000000 uImage_hi3516a
        sf probe 0
        sf erase 100000 300000
        sf write 82000000 100000 300000
    4)烧写文件系统
        mw.b 82000000 ff C00000
        tftp 0x82000000 rootfs_hi3516a_64k.jffs2
        sf probe 0
        sf erase 400000 C00000
        sf write 82000000 400000 C00000

    5)设置启动参数 内核的正常启动依赖这些参数.

 setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)'

        setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000'

        saveenv

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/280210
推荐阅读
相关标签
  

闽ICP备14008679号