海思SDK编译填坑

夜墨11111 2020-07-31 15:13:59 2815

最近开始学习海思的开发,使用的芯片型号是 hi3518e。首先需要面对的问题,就是如何使用海思 SDK

真正的产品是一个很复杂的东西,涉及到的知识面很广,单独的一个开发商很难完成。因此嵌入式开发这个行业存在不同层级,大家各司其职。海思芯片的应用场景中,会普遍的使用到音视频编解码,而这些算法也很复杂,为了简化开发,海思提供了这个 SDK,里面提供已经实现好的音视频编解码的算法,提供用户调用。另外这个 SDK 中,也包含了 uboot、linux、cross compiler 等等开发必须的工具,通过 SDK 可以更加方便的使用这个工具进行用户程序的开发

SDK 解包

首先解压 SDK 包,并进入它的文件夹,可以看到以下信息

.
├── package
├── scripts
├── sdk.cleanup
└── sdk.unpack

我们需要做的就是通过运行 source sdk.unpack,将 SDK 中的压缩包解压,解压后的文件夹

.
├── drv
├── mpp
├── osdrv
├── package
├── scripts
├── sdk.cleanup
└── sdk.unpack
安装工具链

进入到 osdrv/opensource/toolchain 可以看到两个工具链, hisiv300 是 uclibc 的, hisiv400 是 glibc 的
进入到 arm-hisiv300-linux ,可以见到一个安装脚本 cross.install.v300 , 修改它的 TOP_DIR 为自己想安装工具链的位置,超级权限安装
最后可执行文件会放到 TAR_BIN_DIR=$TOOL_DIR/target/bin 这个目录,将它添加到 $PATH 环境变量中
最后运行 arm-hisiv300-linux-gcc -v ,输出信息正常即可

编译整个 osdrv

进入到 osdrc/opensource 下,可以看到 busybox kernel toolchain uboot ,通过 SDK 的 Makefile 可以一次性全部编译
需要提前安装必修的软件包

sudo apt-get install uuid-dev zlib1g-dev

下面说说遇到的问题的解决方法

编译错误: /bin/sh: 1: pushd: not found的问题

解决方法很简单,执行sudo dpkg-reconfigure dash 命令,将 dash 设置为 No

error: storage size of ‘hints’ isn’t known

这个问题是因为开发机的系统版本过高,SDK 中的 mtd-utils 版本过低导致的

比较好的解决方法是,下载 mtd-utils-2.0.0 版本对 SDK 中的 mtd-utils 进行替换

wget ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-2.0.0.tar.bz2

在我的电脑上无法使用 mtd-utils-2.1.1 版本,所以一般人最好还是下载 2.0.0 版本

修改 osdrv/tools/pc/jffs2_tool/Makefile

CC             := gcc
BUILD_DIR      := $(PREFIX)/tmp
ZLIB           := $(shell pwd)/../zlib
ZLIB_INSTALL   := $(PREFIX)/../zlib
ZLIB_DIR       := $(ZLIB_INSTALL)/tmp
STRIP          := strip
MTD_UTILS      := mtd-utils-2.0.0       #需要修改的地方
# this lib should be install to host
LZO            := lzo-2.09

TARGETS        := mkfs.jffs2

将下载好的 mtd-utils-2.0.0.tar.bz2 解包,进入文件夹,运行

./configure --prefix= 

然后重新再压缩回 mtd-utils-2.0.0.tar.bz2

最后就是以 ---------finish osdrv work 结束编译

原文链接:https://blog.csdn.net/juhou/article/details/102508743

相关推荐:

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 1 2 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
夜墨11111
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区