BearPi-HM NANO 应用添加/编译/烧录
BearPi-Nano
- BearPi-Nano简介
– 基于Hi3861芯片构建,而Hi3861具备wifi功能; - 联网能力
– AP模式:工作于WIFI热点模式,可被其他设备以Wifi方式连接;
– STA模式:工作于Wifi连接模式,可连接到指定Wifi热点;
工程添加
1:在 applications/sample/wifi-iot/app/
下创建独立的文件夹demo_service;
2:在 demo_service 下创建编译用的文件BUILD.gn:
static_library("demo_service") {
sources = [
"main_entry.c"
]
include_dirs = [
"//utils/native/lite/include",
"//foundation/communication/wifi_lite/interfaces/wifiservice",
"//base/iot_hardware/peripheral/interfaces/kits",
"//domains/iot/link/libbuild",
"//domains/iot/link/libbuild",
]
}
- 目的:向编译系统指明应用程序名、源文件及头文件路径
– demo_service是增加的应用程序名;
– source指明源文件的位置;
– include_dirs指明头文件包含的位置;
3:修改applications/sample/wifi-iot/app/
下的BUILD.gn中增加 demo_service:demo_service :
import("//build/lite/config/component/lite_component.gni")
lite_component("app") {
features = [
"demo_service:demo_service"
]
}
- 目的:向编译系统指明要编译的应用程序
– 其中 [demo_service:demo_service] 含义为 [文件夹名:应用程序名];
任务增加及注册
#include <stdio.h>
#include <unistd.h>
#include "ohos_init.h"
#include "cmsis_os2.h"
static void* Init_Task(const char* arg)
{
printf("Hellow, New Task\n");
return arg;
}
static void Main_Entry(void)
{
osThreadAttr_t attr = {0};
attr.name = "Init Task";//任务名
attr.stack_size = 1024 * 4; //栈大小
attr.priority = 20; //优先级
if(osThreadNew((osThreadFunc_t)Init_Task, NULL, &attr) == NULL)
{
printf("Failed to create task!\n");
}
}
SYS_RUN(Main_Entry);
1:Main_Entry() 函数是应用模块,用来创建线程;
2:SYS_RUN() 用来注册应用模块;
3:Init_Task() 是增加的任务;
设置工程及编程
1:使用" hb set "指令选择工程项目
2:选择当前的使用的工程项目
3:使用“ hb build -f ”指令进行编译程序
烧录
1:在out/hispark_pegasus/wifiiot_hispark_pegasus/
路径下拿到编译打包好的文件Hi3861_wifiiot_app_allinone.bin
;
2:打开官方的烧录工具HiBurn.exe(windows版),导入文件,设置端口号及波特率(921600)
3:点击connect进入烧录状态,点击板子上的reset复位键开始烧录