[文章]

【HarmonyOS HiSpark AI Camera试用连载 】编译及开发环境搭建-来自HarmonyOS的Hello World!

2020-11-7 16:28:12  269 HarmonyOS 烧录Harmony helloworld 鸿蒙系统 鸿蒙OS
分享
本帖最后由 :‖Lin... 于 2020-11-7 16:36 编辑

0、序
    由于HarmonyOS的源码编译需要Linux环境,目前HarmonyOS源码只支持在Linux系统中进行编译,可以将Linux环境下的工程目录映射到Windows环境下,然后使用DevEco Device Tool打开,并在Windows环境下进行烧录和调试。所以需要Linux server + Win workstations + Dev Kit结合使用。
0.JPG

1、首先配置Windows端环境
1.1、安装visual studio code
      官网传送门:https://code.visualstudio.com/,勾选添加到PATH。
27-1.JPG
安装成功。
27-2.JPG
1.2、安装Node.js
      官网传送门:https://nodejs.org/en/download/,根据自己PC的系统下载对应的版本。
27-3.JPG
     安装start......
27-4.JPG
     下载完成后,点击软件包进行安装,勾选图中的选项框,自动安装必要工具(如Python、Visual Studio构建工具链);
27-5.JPG
    显示安装完成之后,点击任意键继续,安装其他依赖的工具;
27-6.JPG
27-7.JPG
       新增NODE_PATH变量,值为:C:\Users\{userName}\AppData\Roaming\npm\node_modules,其中userName请替换为实际的用户名称,验证是否安装成功,打开命令行工具,输入"node -v",能显示出版本号即安装成功。
27-8.JPG
1.3、安装JDK
      打开命令行工具,输入java -version命令,检查版本号是否1.8版本。安装JDK不再赘述,版本要求为:1.8版本。
27-9.JPG
1.4、安装hpm
      npm install -g @ohos/hpm-cli
27-10.JPG
      查看hpm的版本,检查是否安装成功,hpm -V。
Image.png
1.5、安装VS code插件
      下载离线包,采用磁盘安装的方式,下载DevEco Device Tool安装包传送门:https://device.harmonyos.com/cn/ide,详细的安装方法:https://device.harmonyos.com/cn/ ... ection5353233124511(环境准备章节)。
27-11.JPG

2、Ubuntu环境配置
2.1、Ubuntu虚拟机的安装
        Ubuntu使用的是2020.04 LTS版本,Ubuntu的安装流程就不再赘述了,跟着提示走就行了。
28-1.JPG
       在安装Ubuntu后需要安装VMware Tools, 安装VM Tool之后就可以进行全屏操作,PC主机和虚拟机之间的粘贴、复制等操作了。  出现下述的问题时,先取消安装VM Tool工具,先将网络相关的工具先安装上,再进行安装。
            sudo apt-get install net-tools
28-11.JPG
      安装完成,可以全屏了。
28-13.JPG
2.2、更换软件源
        换源,将Ubuntu的软件源换成国内的软件源,在下更换的是五道口的源,由于原Ubuntu的软件源,server都是海外的,在软件安装时因网络问题造成的安装失败或者其他错误也遇到过不少,所以换成一个比较稳定的源还是挺重要的。PS:记得在换源之前,将原本的软件源文件进行备份以便不时之需。
  1. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan main restricted universe multiverse
  2. deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan main restricted universe multiverse
  3. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-updates main restricted universe multiverse
  4. deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-updates main restricted universe multiverse
  5. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-backports main restricted universe multiverse
  6. deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-backports main restricted universe multiverse
  7. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-security main restricted universe multiverse
  8. deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-security main restricted universe multiverse
  9. deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-proposed main restricted universe multiverse
  10. deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-proposed main restricted universe multiverse
复制代码
        换源之后更新软件列表和升级软件。
sudo apt-get update
sudo apt-get upgrade

2.3、shell设置    
       将Linux shell改为bash,首先查看shell是否为bash,如果显示为“/bin/sh -> bash”则为正常,否则请按以下方式修改在终端运行如下命令。
28-15.JPG
选择 no即可。
28-14.JPG
2.4、python安装
2.4.1、python3安装

        sudo apt-get install python3.8
      若系统已安装python3.8或python3.7以上版本则可跳过此步骤。
2.4.2、pip管理工具安装
    获取安装包进行安装:curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    使用安装包安装的方式,需要先安装curl。
28-16.JPG
2.4.3、安装GUI menuconfig工具(Kconfiglib)
28-17.JPG
2.5、安装文件打包工具
1)安装dosfstools。
    sudo apt-get install dosfstools
2)安装mtools。
    sudo apt-get install mtools
3)安装mtd-utils。
    sudo apt-get install mtd-utils
2.6、安装编译环境
         可从官网download下来安装,同时可在Ubuntu中借助wget工具下载,本人这里是在使用wget工具进行下载。
wget https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar
wget https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar
wget https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar
wget https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar
28-18.JPG
设置环境变量
export PATH=~/gcc_riscv32/bin:$PATH
export PATH=~/ninja:$PATH
export PATH=~/gn:$PATH
export PATH=~/hc-gen:$PATH
export PATH=~/llvm/bin:$PATH

注意:上述文件都是存放在用户的根目录的哦。
       设置完成之后,更新环境变量:
source ~/.baashrc

3、编译与烧录
3.1、编译

        在linux服务器上,进入源码包根目录,目录内存放有build.py编译脚本,执行如下脚本编译源码包。结果文件生成在out/ipcamera_hi3516dv300目录下。
python build.py ipcamera_hi3516dv300 -b debug
编译成功:
05-1.JPG
3.2、烧录
3.2.1、使用网口方式烧录
        配置开发板和PC主机环境。
7-00.JPG
       主机ping通,OK。
5-5.JPG
3.2.2、配置HiTool工具
7-01.JPG
  • 1)选择烧录方式为网口烧录;
  • 2)设置服务器IP,即PC主机的IP;
  • 3)设置板端相关信息,即开发板的IP及物理地址等;
  • 4)根据分区信息添加要烧写的文件,本次烧录只烧写内核kernel、根文件系统rootfs、用户文件系统useRFs。
       关于HiTool的更多使用方法可以参考以下链接的视频教程:http://t.elecfans.com/v/17682.html
6-1.JPG
        烧录成功之后需要配置u-boot的启动参数:
1)setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000";   
    读取FLASH起始地址为0x800(单位为512B,即1MB),大小为0x4800(单位为512B,即9MB)的内容到0x80000000的内存地址,该大小(9MB)OHOS_Image.bin文件大小必须相同。
2)setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=15M rw";
    表示设置启动参数,输出模式为串口输出,波特率为115200,数据位8,rootfs挂载于emmc器件,文件系统类型为vfat,“rootaddr=10M rootsize=15M rw”处对应填入rootfs.img的烧写起始位置与长度,此处与rootfs.img文件时所填大小必须相同。
3)saveenv
     保存启动参数。
4)reset
     重启。

3.3、来自HarmonyOS的helloworld
#include <stdio.h>
#include "los_sample.h"
int main(int argc, char **argv)
{
    printf("\n************************************************\n");
    printf("\n\t\tHello World!\n");
    printf("\n\t\t\t\t    From: OHOS\n");
    printf("\n************************************************\n\n");
    LOS_Sample(g_num);
    return 0;
}
7-11.JPG
                                             20200421214119332.jpg
       以上,来自HarmonyOS的Hello World!达成。





0
2020-11-7 16:28:12   评论 分享淘帖
您需要登录后才可以回帖 登录 | 注册

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