小熊派回顾-1

2 篇文章 0 订阅
1 篇文章 0 订阅


1 环境搭建

1.进入VMware Workstation 16 Player输入ifconfig,用于配置和显示Linux内核中网络接口的网络参数。可以查看到IP地址。
在这里插入图片描述
2.
在这里插入图片描述
如果出现连接超时
在这里插入图片描述
启用控制面板-网络和Internet-网络连接中的VMware Network Adapter和VMware Network Adapter VMnet8
在这里插入图片描述
在这里插入图片描述
3.输入账号和密码,都为bearpi。如果此时没有出现login as:,打开VMware Workstation 16 Player重新输入ifconfig获取新的IP。输入成功出现下图界面。
在这里插入图片描述
4.打开RaiDrive,打开设置,选择简体中文。点击添加,选择SFTP,去掉只读,在sftp出输入刚刚获取的IP,账户密码都为******。
在这里插入图片描述

2 Hello_world程序

在VScode中打开源码。
Hello_world程序:

  1. 新建my_app文件夹,用于存放业务源码文件。
  2. 在my_app文件夹下新建hello_world.c文件,为业务源码文件。
  3. 在my_app文件夹下新建BUILD.gn文件,为业务源码编译脚本。
    目录结构:
    在这里插入图片描述

4.编写hello_world.c代码:
APP_FEATURE_INIT()是HarmonyOS启动恢复模块接口,用于启动业务。
定义在ohos_init.h文件中。

#include <stdio.h>
#include "ohos_init.h"

void Hello_World(void){
    printf("Hello World!\r\n");  // 输出
}

APP_FEATURE_INIT(Hello_World);

5.在my_app下的BUILD.gn文件中添加代码:
static_library中指定业务模块的编译结果,为静态库文件libmyapp.a。
sources中指定静态库.a所依赖的.c文件及其路径。
include_dirs中指定source所需要依赖的.h(头文件)文件路径。

static_library("myapp"){
    sources = [
        "hello_world.c"
    ]
    include_dirs = [
        "//utils/native/lite/include"
    ]
}

6.在sample下的BUILD.gn文件中添加代码:
my_app是相对路径,指向my_app/BUILD.gn。
myapp是目标,指向my_app/BUILD.gn中的static_library(“myapp”)。

import("//build/lite/config/component/lite_component.gni")

lite_component("app") {
    features = [
		"my_app:myapp"
    ]
}
  1. 进入MobaXterm,进入文件,输入hpm dist,编译成功。
    在这里插入图片描述

3 点亮LED

  1. 新建my_led文件夹,用于存放业务源码文件。
  2. 在my_led路径下新建led_example.c文件,该文件为业务源码文件。
  3. 在my_led路径下新建BUILD.gn文件,该文件为业务源码编译脚本。
    目录结构:
    在这里插入图片描述
  4. 编写代码led_example.c文件。
#include "ohos_init.h"
#include "unistd.h"
#include "wifiiot_gpio.h"
#include "wifiiot_gpio_ex.h"

void ledExample(void){
    GpioInit();  //初始化GPIO
    IoSetFunc(WIFI_IOT_IO_NAME_GPIO_2, WIFI_IOT_IO_FUNC_GPIO_2_GPIO);  //设置GPIO_2的复用功能为普通GPIO
    GpioSetDir(WIFI_IOT_IO_NAME_GPIO_2, WIFI_IOT_GPIO_DIR_OUT);  //设置GPIO_2为输出模式
    for(int i=0; i < 10; i++){  //LED灯闪烁十次
        GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2, 1);  //设置GPIO_2为高电平,即LED灯亮1s
        usleep(1000);
        GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2, 0);  //设置GPIO_2为低电平,即LED灯灭1s
        usleep(1000);
    }
    GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2, 1);  //设置GPIO_2为高电平,即LED灯常亮
}
APP_FEATURE_INIT(ledExample);
  1. 在my_led下的BUILD.gn文件中添加代码:
    static_library中指定业务模块的编译结果,为静态库文件libmyapp.a。
    sources中指定静态库.a所依赖的.c文件及其路径。
    include_dirs中指定source所需要依赖的.h(头文件)文件路径。
static_library("myled"){
    sources = [
        "led_example.c"
    ]
    include_dirs = [
        "//utils/native/lite/include",
        "//base/iot_hardware/interfaces/kits/wifiiot_lite"
    ]
}
  1. 在sample下的BUILD.gn文件中添加代码:
    my_led是相对路径,指向my_led/BUILD.gn。
    myled是目标,指向my_led/BUILD.gn中的static_library(“myled”)。
import("//build/lite/config/component/lite_component.gni")

lite_component("app") {
    features = [
        "my_led:myled",
    ]
}

在这里插入图片描述

4 Harmony编译构建介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值