- 收藏
- 点赞
- 分享
- 举报
系统地编译Hi3519过程及其处理问题思路
[i=s] 本帖最后由 laocheng 于 2017-2-13 14:56 编辑 [/i]
[font=宋体][/font][size=2][/size]
开发Hi3519,非常需要查看论坛:易白纳 [http://www.ebaina.com/bbs/?fromuser=laocheng]http://www.ebaina.com/bbs/?fromuser=laocheng]
网友在编译过程中遇见或解决的问题 [=http://blog.csdn.net/mengxihe29/article/details/52439098]http://blog.csdn.net/mengxihe29/article/details/52439098]
sdk.cleanup和sdk.unpack都是使用bash,而ubanntu默认使用sh,所以出现下面错误 [=http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=10994]http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=10994] 首先是查看:ls -l /bin/sh //当前bash/dash设置 [code]xiao@ubuntu:~$ ls -l /bin/sh lrwxrwxrwx 1 root root 4 Jan 2 17:15 /bin/sh -> bash[/code] 或者直接在编译make时指定SHELL=/bin/bash也可以 这样就可以执行脚本,展开SDK
交叉编译工具链已经安装好,却提示: arm-linux-gcc: Command not found
[=http://blog.csdn.net/tigerjibo/article/details/]http://blog.csdn.net/tigerjibo/article/details/] 总结:在编译osdrv过程中,需要使用sudo权限,而sudo + xx(需要执行的命令)是需要利用sudo(输入密码)创建一个新的shell(没有继承环境变量),所以找不到对应的命令(也就是/etc/profile失效了)。 上面的执行测试发现,并没有真正解决问题:实际上是环境变量的问题,所以,查看下面知识点;
linux的环境变量: [=http://www.cnblogs.com/growup/archive/2011/07/02/2096142.html]http://www.cnblogs.com/growup/archive/2011/07/02/2096142.html] 上面并没有真正解决问题,而是仅仅讲述了环境变量的基本知识。(可以直接跳过这部分的链接和解析) 要在 Bourne、Korn 或 BASH shell中设置此变量, 以便它应用于所有用户,请将该命令添加到文件 /etc/profile。 要仅对特定用户设置此变量,请将该命令添加到该用户的主目录中的文件 .profile
经过思考,其实可以继承环境变量 对sudo命令的思考,通过su去继承环境变量,也就是使用su - root 命令去继承普通用户下的环境变量(已经设在/etc/profile文件中的路径) http://renlifeng.blog.51cto.com/2076113/(讲解su命令的几种报错) [=http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=13857]http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=13857] (结合hi3519解析,解答看laocheng)
好不容易弄好了环境变量问题:你会发现依然错误百出,因为存在各种依赖问题,所以: 通过查看SDK包内每一个PC工具的源码,然后去获知到底这个源码会生成什么工具。 其实也可以直接参考SDK里面的osdrv/readme_cn.txt,里面有提供工具树,你就知道什么回事了。 可以使用到的技巧: [code]root@H265:osdrv# apt-cache search mkimage jigit - tools for working with jigdo files u-boot-tools - companion tools for Das U-Boot bootloader[/code] 这样继续: [code]root@H265:osdrv# apt-get install u-boot-tools[/code] 如此类推,少那个,补那个。
再次clean还是无法编译出jffs2_tool [=http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=12147]http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=12147](解答看laocheng) 解决的思路:
1. 首先是查看编译错误提示(参考上面链接),获知jffs2_tool编译失败
2. 先将osdrv/Makefile中的jffs2_tool部分注释(不再编译sdk提供的源码包)
3. 然后自己从源上下载mkfs.jffs2(apt-get install mtd-utils)
4. 并且将执行文件(mkfs.jffs2)放到pub/pc目录下
5. 然后再重新在osdrv/下编译(注意clean掉之前发生错误部分,不需要全部clean,选择hipctools_clean)
注意:上面的思路,必须要亲自查看osdrv/Makefile内容,观察每一步到底操作了什么,才能明白,为何这样做是可行的。
从3519提供的两种交叉编译链(针对3519 SDK来说,是500、600的区别) 思考,为何需要提供:uclibc、glibc呢? [=https://code.google.com/archive/p/openwrt-for-embedded/issues/6]https://code.google.com/archive/p/openwrt-for-embedded/issues/6] 思考:通过理解他们的区别,这是选择他们的依据。
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片
-
2018-09-12 14:05:10
-
2018-09-13 13:14:53
-
2018-12-10 15:14:29
-
2012-12-24 14:36:42
-
2018-12-05 15:12:34
-
2017-09-16 08:50:00
-
2017-03-01 17:04:08
-
2015-03-16 09:27:42
-
2018-04-11 14:24:10
-
2018-10-29 14:55:33
-
2017-08-05 19:24:19
-
2019-03-30 13:17:16
-
2018-11-28 14:19:36
-
2020-01-01 15:57:41
-
2018-12-20 16:06:49
-
2017-07-11 17:38:56
-
2017-07-19 18:48:11
-
2020-04-02 09:26:31
-
2019-01-04 11:04:54
-
5hisi3516cv610 + gc4336p 夜晚很模糊
-
5AIISP(功能演示,SC4336P为BGGR,强制转RGGB,会导致颜色异常)
-
5rv1106使用luckfox的SDK,设备树和驱动都写好了,结果设备文件没有生成
-
5海思3516cv610中如何进行SD卡升级,根据官方文档操作,烧录进板子时,走的默认uboot,没有执行uboot升级。
-
5G610Q-IPC-38E 夜晚很暗 有什么办法解决吗 已经补光了
-
10转换模型时,SoC版本里没显示hi3516cv610芯片
-
5hisi3516cv610 使用 yolov8n 模型训练 要如何提高 这里识别的是人
-
10有人在海思平台接过SC035HGS吗
-
5关于hi3519dv500,以SD卡虚拟 U 盘操作
-
5ss928 sample_venc代码移植到openEuler24.03上执行报错 [sample_comm_vi_start_dev]-1068: vi set dev attr failed wi
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明

微信扫码分享
QQ好友