栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

小熊派回顾-1

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

小熊派回顾-1

文章目录

1 环境搭建2 Hello_world程序3 点亮LED4 Harmony编译构建介绍


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程序:

    新建my_app文件夹,用于存放业务源码文件。在my_app文件夹下新建hello_world.c文件,为业务源码文件。在my_app文件夹下新建BUILD.gn文件,为业务源码编译脚本。
    目录结构:

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

#include 
#include "ohos_init.h"

void Hello_World(void){
    printf("Hello World!rn");  // 输出
}

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"
    ]
}
    进入MobaXterm,进入文件,输入hpm dist,编译成功。
3 点亮LED
    新建my_led文件夹,用于存放业务源码文件。在my_led路径下新建led_example.c文件,该文件为业务源码文件。在my_led路径下新建BUILD.gn文件,该文件为业务源码编译脚本。
    目录结构:
    编写代码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);
    在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"
    ]
}
    在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编译构建介绍



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/729684.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号