[文章]【HarmonyOS HiSpark AI Camera试用连载 】初试:鸿蒙开发环境搭建(标准系统)3516dv300

阅读量0
0
0
写在前面:因上一篇编写了个自己的airquality程序,想跑到板子上,但用SD卡装载需要工具,就需要搭建环境。说实话这个环境搭建比较费劲,标准系统的环境搭建我这里有问题,需要接下来要解决的。小型系统正在编译,中间也出现了个问题。但根据链接里面的方法解决了,认真读开头几行字。
根据连志安老师的鸿蒙搭建环境,下载老师的虚拟机直接来用。地址:1~2章 鸿蒙系统介绍 和 编译环境搭建 持续更新 - HarmonyOS技术社区 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com)
根据华为官网文档搭建linux下统一使用Linux环境进行开发、编译和烧录踩坑日志。

问题1:changing permissions of run_upgrader.sh:Read-only file system
老师的虚拟机估计是台式机,我用的笔记本。其中一个硬盘没有,用命令查看磁盘如下:
0.png

1.png

2.png


网上查说是修复一些磁盘就可以。百度吧,发现一篇文章解决了只读的问题。按照他的方法修复磁盘,查看文件系统类型
df -T
3.png

缺少扩展分区/dev/sda2啊,难道台机到笔记本还有问题????
修复试一试吧:fsck.ext4 -y /dev/sda5不能修复。
自己从头搭建开发环境吧
1、下载Ubuntu20.04镜像Download Ubuntu Desktop | Download | Ubuntu,我电脑有Vmware了就不管了,没有的下载一下自己安装。镜像比较大,下载需要时间,时间都去哪儿了,哈哈哈。
2、打开Vmware新建虚拟机,中间配置过程如下图所示。
vmware1.png
1打开虚拟机新建向导
wmware2.png
2 设置虚拟机名称及用户名和密码
wmware3.png
3 虚拟机数据保存位置
vmware4.png
4 虚拟机文件存储设置
vmware5.png
5 完成虚拟机设置
3、虚拟机设置完成后,就开始了漫长的Ubuntu20.04操作系统的安装过程。先拷贝数据,再安装操作系统。等待……
Ubuntu0.png
6 Ubuntu安装过程
Ubuntu1.png
7 安装完成图
4、Ubuntu下安装安装DevEco Device Tool
DevEco Device Tool基于Visual Studio Code进行扩展,在Visual Studio Code上以插件方式运行,Visual Studio Code版本为1.60及以上。同时,DevEco Device Tool还依赖Python工具,并要求Python为3.8~3.9版本。
在安装过程中,DevEco Device Tool会自动检查Visual Studio Code和Python,如果检测到Visual Studio Code、Python未安装或版本不符合要求,安装程序会自动安装Visual Studio Code和Python。
A、修改Ubuntu的shell环境为bash,首先查看一下shell如图8所示。
Ubuntu2.png
8 查看shell环境
B、修改bash环境,执行命令sudo dpkg-reconfigure dash,选择no进行设置。
Ubuntu3.png
9 shell改为bash
C、下载DevEco Device Tool 3.0 Beta2Linux版本,下载时,请先使用华为开发者帐号进行登录后下载。如未注册华为开发者账号,请先注册
D、下载好的工具包拷贝到Ubuntu,解压安装。如图10所示。
Ubuntu4.png
10 安装工具
问题1:如图11所示,没有python3.8-venv,安装后重新安装工具。
Ubuntu5.png
11 问题1
安装成功截图如图12所示,出现Deveco Device Tool successfully installed说明安装成功。
Ubuntu6.png
12 安装完成工具
E、点击Ubuntu左下角应用程序进入口,输入v就可显示出刚刚安装成功的Visual Studio Code,点击启动。安装DevEco Device Tool依赖C/C++、CodeLLDB插件。安装完成图片如图13所示。
Ubuntu7.png
13 安装插件
F、重启Visual Studio Code,点击
图标.png
进入DevEco Device Tool工具界面。至此,DevEco Device Tool Ubuntu开发环境安装完成。


5、获取源码
我已经注册过码云,生成/添加SSH公钥如下代码。
ssh-keygen -t rsa -C "xxxxxxx@qq.com"
三次回车后就生成了ssh key。cat ~/.ssh/id_rsa.pub得到ssh公钥,拷贝贴到码云安全设置SSH公钥中。Ubuntu中输入ssh -T git@giteee.com需要确认并添加主机到本机SSH可信列表。如图14所示。
code2.png
14 生成/添加SSH公钥
首先安装git,sudo apt install git。再安装git-lfs,管理大文件工具好像二进制文件需要这个下载。
curl -s https://packagecloud.io/install/ ... t-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install
Ubuntu下安装git客户端和git-lfs并配置用户信息。
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
安装截图如15所示。
code0.png
15 配置git
安装curl,sudo apt install curl。安装pip3,sudo apt install python3-pip。
安装码云repo工具。
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/repo
chmod a+x ~/repo
ln -s ~/repo /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
如图16所示,图中chmod a+u ~/repo并没有设置执行权限导致后面Permission denied,又重新加上的+x权限。
code1.png
16 安装repo
通过repo+ssh下载(需注册公钥,参考码云帮助中心)。
repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v3.0-LTS --no-repo-verify
repo sync -c     时间比较久,应该是我的网络和硬件不咋滴导致。
repo forall -c 'git lfs pull'
6、创建应用程序helloworld
修改源码,在单板上运行第一个应用程序,包括新建应用程序、编译、烧写、运行等,最终输出Hellow World!。
新建目录如下:
  1. applications/standard/hello
  2. ├── helloworld
  3. │   ├── include
  4. │   │   └── helloworld.h
  5. │   └── src
  6. │       └── helloworld.c
  7. ├── BUILD.gn
  8. ├── ohos.build


  9. productdefine/common
  10. └── products
  11.     └── Hi3516DV300.json
复制代码

helloworld.c文件内容如下:
  1. #include <stdio.h>
  2. #include "helloworld.h"

  3. int main(int argc, char **argv)
  4. {
  5. HelloPrint();
  6. return 0;
  7. }
  8. void HelloPrint()
  9. {
  10. printf("n************************************************n");
  11. printf("nttHello World!n");
  12. printf("n************************************************n");
  13. }
复制代码

helloworld.h文件如下:
  1. #ifndef HELLOWORLD_H
  2. #define HELLOWORLD_H
  3. #ifdef __cplusplus
  4. #if __cplusplus
  5. extern "C"{
  6. #endif
  7. #endif

  8. void HelloPrint();

  9. #ifdef __cplusplus
  10. #if __cplusplus
  11. }
  12. #endif
  13. #endif
  14. #endif //HELLOWORLD_H
复制代码
BUILD.gn文件内容如下:
  1. import("//build/ohos.gni") #load build module
  2. ohos_executable("helloworld"){
  3.     sources = [
  4.         "src/helloworld.c"
  5.     ]
  6.     include_dirs = [
  7.         "include"
  8.     ]
  9.     cflags = []
  10.     cflags_c = []
  11.     cflags_cc = []
  12.     ldflags = []
  13.     configs = []
  14.     deps = []

  15.     part_name = "hello"
  16.     install_enable = true  
  17. }
复制代码
ohos.build文件内容如下:
  1. {
  2.     "subsystem":"applications",
  3.     "parts":{
  4.         "hello":{
  5.             "version":"1.0.0",
  6.             "variants":[
  7.                 "wearable",
  8.                 "phone"
  9.             ],
  10.             "module_list":[
  11.                 "//applications/standard/hello:helloworld"
  12.             ],
  13.             "inner_kits":[

  14.             ],
  15.             "test_list":[
  16.                
  17.             ]
  18.         }
  19.     }
  20. }
复制代码
Hi3516DV300.json文件在第83行增加:"applications:hello":{},
7、编译helloworld
使用安装包方式获取编译工具链,安装依赖工具命令如下:
sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby
执行prebuilts,在源码根目录下执行如下脚本,安装编译器及二进制工具。
bash build/prebuilts_download.sh
编译,进入源码目录执行:./build.sh --product-name Hi3516DV300 --ccache
8、问题及解决方法
在整个过程中出现了许多个问题,每次问题有提示的根据提示进行操作,没有提示的贴到百度查一下,试着各种方法进行操作,看是否能够解决问题。
问题1:找不到python的问题,因安装的版本为python3.8.10,软连接到python即可。如图erro0所示。
err00.png
erro1
问题2:未生成SSH密钥导致,根据图14生成密钥贴到码云密钥管理即可解决。
err0.png
erro2
问题3:git-lfs没有安装,安装git-lfs,图14下面有代码。
err1.png
erro3
问题4:sudo apt install git-all出现源问题,网上查找修改DNS。修改/etc/resolv.conf里面sudo gedit /etc/resolv.conf,修改nameserver 202.96.128.86。
err2.png
erro4
问题5 :编译./build.sh --product-name Hi3516DV300 --ccache出现问题
期待问题解决。
编译问题.png
erro5
文档已经非常长了,后面的问题下一个文档继续。因为上面编译标准系统,同时我也在编译轻量系统,后面文档继续。

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友