欢迎关注我的公众号 [极智视界],回复001获取Google编程规范
O_o
>_<
o_O
O_o
~_~
o_O
Привет всем, я Jizhi Vision, В этой статье рассказывается о реализации Allwinner XR806, привет, мир.
Мы завершили компиляцию прошивки и запись прошивки системы XR806 Hongmeng ранее, и полученный вывод терминала аналогичен этому:
Здесь мы переходим к следующему этапу, пусть плата XR806 мигает и мигает, чтобы показать, что она готова.
Введите следующую команду в командном терминале отладки последовательного порта:
hm iot pwm init p=2
hm iot pwm start p=2 d=50 f=5
Индикатор на канбан-доске мигает.blinkblink~
Далее начните реализацию hello world.
Нужно снова пройти компиляцию прошивки и запись прошивки, открыть<xr806_openharmony_path>/device/xradio/xr806/BUILD.gn
, настроен на включениеdeps += "ohosdemo:ohosdemo"
,следующее:
# device/xradio/xr806/BUILD.gn
import("//build/lite/config/subsystem/lite_subsystem.gni")
import("//build/lite/config/component/lite_component.gni")
import("//base/security/huks/build/config.gni")
build_ext_component("libSDK") {
exec_path = rebase_path(".", root_build_dir)
outdir = rebase_path("$root_out_dir")
command = "./build.sh ${outdir}"
deps = [
"//build/lite/:ohos",
"//kernel/liteos_m:kernel",
"os:liteos_glue",
]
if (IsBootloader == "false") {
deps += [
"adapter/hals:adapter",
"adapter/console:app_console",
"ohosdemo:ohosdemo" # 启用 ohosdemo
]
}
if (disable_huks_binary == true) {
deps += [
"//base/security/huks/frameworks/huks_lite:huks_sdk",
]
}
}
group("xr806") {
}
Следуйте инструкциям, чтобы<xr806_openharmony_path>/device/xradio/xr806/ohosdemo/BUILD.gn
, включитьdeps = "hello_demo:app_hello"
,следующее:
# device/xradio/xr806/ohosdemo/BUILD.gn
group("ohosdemo") {
deps = [
"hello_demo:app_hello",
#"iot_peripheral:app_peripheral",
#"wlan_demo:app_WlanTest",
]
}
Вы можете настроить это здесь.Чтобы углубиться, давайте продолжим видеть,<xr806_openharmony_path>/device/xradio/xr806/ohosdemo
Структура каталогов следующая:
-
|-- hello_demo
| |-- src
| |-- main.c
| |-- BUILD.gn
|-- iot_peripheral
| |-- ...
|-- wlan_demo
| |-- ...
|-- BUILD.gn
Взгляните на BUILD.gn в папке hello_demo:
# device/xradio/xr806/ohosdemo/hello_demo/BUILD.gn
import("//device/xradio/xr806/liteos_m/config.gni")
static_library("app_hello") { # 这里就很容易看懂 "hello_demo:app_hello"
configs = []
sources = [
"src/main.c",
]
cflags = board_cflags
include_dirs = board_include_dirs
include_dirs += [
"//kernel/liteos_m/kernel/arch/include",
]
}
Окончательная реализацияsrc/main.c
, код простой:
#include <stdio.h>
#include "ohos_init.h"
#include "kernel/os/os.h"
static OS_Thread_t g_main_thread;
static void MainThread(void *arg){ /// 每秒打印 hello world
while (1) {
printf("hello world!\n");
LOS_Msleep(1000);}
}
void HelloTestMain(void){
printf("Wifi Test Start\n");
if (OS_ThreadCreate(&g_main_thread, "MainThread", MainThread, NULL,
OS_THREAD_PRIO_APP, 4 * 1024) != OS_OK) {
printf("[ERR] Create MainThread Failed\n");}
}
SYS_RUN(HelloTestMain);
Выше приведена вся логика XR806 «привет, мир», следующее, что нужно сделать, это снова выполнить компиляцию и запись прошивки, а затем отобразить ее в терминале:
[Примечание]
решатьПроблема смещения выхода терминала,похожий:
Предоставьте решения для Xshell и MobaXterm соответственно.
- Xshell:
работа сделана:
- МобаХтерм:
(1) Настройка->Конфигурация->Терминал->Функции терминала Отменить «Вставить правой кнопкой мыши»:
(2) Щелкните правой кнопкой мыши терминал и выберите «Изменить настройки терминала», затем установите флажок «Неявный CR в каждом LF»:
Это будет работать:
Выше поделился процессом приветствия на плате Allwinner XR806. Я надеюсь, что мой рассказ поможет вам в вашем исследовании.
【Передача по общему номеру】 "【Встроенный ИИ】Allwinner XR806 приветствует мир》