小言_互联网的博客

【填坑】海思wifi平台Hi3861开发(1) -- 搭建环境篇

752人阅读  评论(0)

背景

  • 近期在海思的一款wifi模组Hi3861V100上开发,想来和ESP模组应该很像,心情还是很放松的,但… …后面就有点郁闷了

处处坑

1. 编译环境

  • 一上来搭建Ubuntu编译环境就遇到了阻碍,至今还是个谜… …
  • 好在文档还是很全的,满满一个文件夹的指南手册和API的文档(很走心)上图一起感受一下 :)
  • 有需要的下载链接也放上:软件资料看这里 ------ 硬件资料看我的下载(不知为何,链接放这里说我营销推广… … 这… 比较尴尬 (´ο`*)))唉 那就去我的下载资源中看看吧)
  • 跟着上图在列的《…SDK开发环境搭建 用户指南》,看着就有点蒙圈… 这内容有点多啊[/汗],包括交叉编译链、Python环境和Scons的安装,每个里面还有各种小步骤… 跟着做吧。

Ubuntu Python

  • 对一个游走于各种模块开发SDK的人来说,电脑里预装的虚拟机下就有不少于2种Linux系统,这次懒得再装一个(主要是电脑没空间了o(╥﹏╥)o)就直接从一个Ubuntu16.04的版本开始进行了。 前面吧都还挺顺利的,到了python就开始使绊子。
  • 系统下本来就装了python2和python3.x,但是这次的编译命令运行需要默认用python3来执行(文档中有说明,一定要用python3.7及以上版本),而事实上系统默认链接的python命令确是用的python2,使用命令cd /usr/binls -l python*可以看到列出的python链接情况:

  • 上图看到是我已经修改了python命令指向的实际工具链,修改步骤为:
    • 把要修改链接的版本使用mv pythonX pythonX.bak的方式改名
    • ln -s python[要链接到的版本] python[被链接的版本]
      • 例如修改第一条中python实际使用的命令:
      1. mv python python.bak
      2. ln -s python3.7 python
  • 这样就改掉了默认使用的python命令,让后面的开发更顺畅点
  • 好啦!所有步骤按照文档做了一遍,可以编译了?… … 想太多,就不让你省心… …

报错

  • 来,试一把,./build.sh all回车,刷刷的出现一推 : )

  • 剧情不对呀,不是应该刷刷的到最后来个令人愉快的build success吗? : ) (想得美)

  • 好吧,询问了下客户使用的编译环境是Ubuntu19.1… …高级!立马去下了个镜像,吭哧吭哧安装一通,在按照上面文档说的步骤搞一遍…一上午过去… … 令人兴奋的时刻到了!!./build.sh all回车… …

  • … …
  • 还是一样的错?!WTF…

去找客户

  • 下午直奔客户现场拷贝了一个镜像,然而仿佛在开玩笑… 客户用的虚拟机是VBox… 行吧,差异不大,导入进去… 诶!编译成功了!客户的SDK编译成功了!我的SDK呢?快去找来,嗯… 在共享文件夹里,搞进去呗… …
  • 好吧,我不能用客户已经建立好的共享文件夹,自己再新建一个咯,怎么建?嗯,有经验是好事,但也抵不过碰上新操作…
  1. 在Vbox下配置共享文件夹还有点骚操作… 必须安装VBox的增强功能,类似VMWare里面的VMWare Tools,但是刚开始导进去的镜像怎么都装不成功,捣鼓一下午没搞成一个共享文件夹… 第二天想到是不是我下载的VBox版本和客户导出用的不一致嘞,就去下了个新版本,导进去… mmp安装成功了, ε=(´ο`*)))唉,还是最新版的兼容性最好啊
  2. 增强功能装好了,但虚拟机下还是找不到共享目录呀,怎么搞的嘞,一通检查下来,最终发现当时创建共享目录只做对了一半,图中的挂载点在创建的时候是空着的… 空着的… -_-||

  • 这样下来,能在虚拟机下看到共享目录了,但还是打不开,需要权限。行吧,给你root用户组权限。命令:sudo adduser xxx_当前username vboxsf

新虚拟机OK

  • 终于看到期待已久我的SDK了,试一把,./build.sh all回车,嗯,看着屏幕刷刷的有点兴奋,出现了一些新的东西:

  • 这并不是build succrss呀,想看成功怎么就这么困难嘞!
  • 到此时我已经放弃了这个SDK… …毕竟是基线版本的SDK,于是向客户要了个其他的已经编过的SDK,总算看到了上面展示过的BUILD SUCCESS,感动啊!!!至于我搭建的Ubuntu环境到底能不能编过新的SDK,目前还没有去验证,留下一个谜,我会在空闲时去求证

  • 到这里,已经从编译环境脱坑了,准备进入下一步 ——> SDK开发

2. 开发SDK


转载:https://blog.csdn.net/Emmy_kanly/article/details/107581705
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场