update README.md

This commit is contained in:
houpengfei 2021-10-07 15:03:39 +08:00
parent df89528a44
commit 1699f4ec58
247 changed files with 392368 additions and 11 deletions

View File

@ -104,15 +104,12 @@
## 六、开发板预览图([预售链接](https://shop1658081298.v.weidian.com/item.html?itemID=4424618988)) ## 六、开发板预览图([预售链接](https://shop1658081298.v.weidian.com/item.html?itemID=4424618988))
* 预售微店(微信扫码) <div align=center>
<img src="./applications/figures/预售链接.png">
<p> 预售微店(微信扫码)</p>
<img src="./applications/figures/展示图.png">
<img src="./applications/figures/全貌图.png">
</div>
![](./applications/figures/预售链接.png)
* Niobe开发板全貌图
![](./applications/figures/全貌图.jpg)
![](./applications/figures/341d541732a8bb7b49afe4859720702.jpg)
![](./applications/figures/6924eeb198d01b9918c2f6b7187898e.jpg)

View File

@ -15,7 +15,7 @@ import("//build/lite/config/component/lite_component.gni")
lite_component("app") { lite_component("app") {
features = [ features = [
"TW001_OS_helloworld:helloworld", # "TW001_OS_helloworld:helloworld",
# "TW002_OS_thread:os_thread_example", # "TW002_OS_thread:os_thread_example",
# "TW003_OS_timer:os_timer_example", # "TW003_OS_timer:os_timer_example",
# "TW004_OS_event:os_event_example", # "TW004_OS_event:os_event_example",
@ -29,6 +29,7 @@ lite_component("app") {
# "TW105_I2C_sht30:i2c_sht30", # "TW105_I2C_sht30:i2c_sht30",
# "TW106_UART:uart_example", # "TW106_UART:uart_example",
# "TW201_Module_oled:module_oled_example", # "TW201_Module_oled:module_oled_example",
"TW204_Module_enviroment:module_enviroment_example",
# "TW301_Network_wifista:network_wifista_example", # "TW301_Network_wifista:network_wifista_example",
# "TW302_Network_wifiap:network_wifiap_example", # "TW302_Network_wifiap:network_wifiap_example",
] ]

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2021 Talkweb Co., Ltd. * Copyright (c) 2021 Talkweb Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at

View File

@ -1,3 +1,16 @@
# Copyright (c) 2021 Talkweb Co.,ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
static_library("semp_example"){ static_library("semp_example"){
sources =[ sources =[
"os_semp_example.c" "os_semp_example.c"

View File

@ -1,3 +1,16 @@
# Copyright (c) 2021 Talkweb Co.,ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
static_library("Msg_example"){ static_library("Msg_example"){
sources =[ sources =[
"os_message_example.c" "os_message_example.c"

View File

@ -0,0 +1,26 @@
# Copyright (c) 2021 Talkweb Co.,ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
static_library("module_enviroment_example") {
sources = [
"THsensor.c",
"CGsensor.c",
"buzze.c"
]
include_dirs = [
"//utils/native/lite/include",
"//kernel/liteos_m/kal/cmsis",
"//base/iot_hardware/peripheral/interfaces/kits",
]
}

View File

@ -0,0 +1,113 @@
/*
* Copyright (c) 2021 Talkweb Co.,ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <unistd.h>
#include "stdio.h"
#include "ohos_init.h"
#include "cmsis_os2.h"
#include <hi_io.h>
#include <iot_gpio.h>
#include <hi_adc.h>
#include <hi_types_base.h>
#include <hi_early_debug.h>
#include <hi_stdlib.h>
#include "sensor.h"
#include "buzze.h"
/**
* ADC
* \param [in] data
* \param [in] len
*
*/
static void OnAdcData(uint16_t *data, uint32_t len)
{
float vlt_max = 0; //最大值
float vlt_min = 100; //最小值
for (size_t i = 0; i < len; i++)
{
float voltage = (float)data[i] * 1.8 * 4 / 4096.0; /* vlt * 1.8 * 4 / 4096.0: Convert code into voltage */
vlt_max = (voltage > vlt_max) ? voltage : vlt_max;
vlt_min = (voltage < vlt_min) ? voltage : vlt_min;
}
float vlt_val = (vlt_min + vlt_max) / 2.0; //平均值
printf("MQ-2 Voltage = %.3f \r\n", vlt_val);
if (vlt_val >= 1.0f)
{ //电压变化超值1.0f
StartBuzz();
}
}
static void *CGsensorTask(const char *arg)
{
(void)arg;
uint16_t th_adc_buf[ADC_TEST_LENGTH] = {0};
while (1)
{
uint32_t ret;
memset_s(th_adc_buf, sizeof(th_adc_buf), 0x0, sizeof(th_adc_buf));
for (size_t i = 0; i < ADC_TEST_LENGTH; i++)
{
ret = hi_adc_read((hi_adc_channel_index)HI_ADC_CHANNEL_5, &th_adc_buf[i], HI_ADC_EQU_MODEL_1, HI_ADC_CUR_BAIS_DEFAULT, 0);
if (ret != HI_ERR_SUCCESS)
{
printf("ADC Read Fail\n");
return NULL;
}
}
OnAdcData(th_adc_buf, ADC_TEST_LENGTH);
usleep(500000); // 延迟500ms
} //end while
return NULL;
}
static void CGsensorExampleEntry(void)
{
osThreadAttr_t attr;
uint32_t ret;
//ADC PORT
IoTGpioInit(IOT_GPIO_IO_GPIO_11);
IotIoSetFunc(IOT_GPIO_IO_GPIO_11, HI_IO_FUNC_GPIO_11_GPIO);
IoTGpioSetDir(IOT_GPIO_IO_GPIO_11, IOT_GPIO_DIR_IN);
if (ret != HI_ERR_SUCCESS)
{
printf("[CGsensorExampleEntry]===== ERROR ======gpio -> hi_gpio_set_dir1 ret:%d\r\n", ret);
return;
}
attr.name = "CHsensorTask";
attr.attr_bits = 0U;
attr.cb_mem = NULL;
attr.cb_size = 0U;
attr.stack_mem = NULL;
attr.stack_size = THSENSOR_TASK_STACK_SIZE;
attr.priority = THSENSOR_TASK_PRIO;
if (osThreadNew((osThreadFunc_t)CGsensorTask, NULL, &attr) == NULL)
{
printf("[CGsensorExampleEntry] Falied to create THsensorTask!\n");
}
}
SYS_RUN(CGsensorExampleEntry);

View File

@ -0,0 +1,46 @@
# 灯光控制和蜂鸣器使用
## 概述
I2C(Inter Integrated Circuit)总线是由Philips公司开发的一种简单、双向二线制同步串行总线。
I2C以主从方式工作通常有一个主设备和一个或者多个从设备主从设备通过SDA(SerialData)串行数据线以及SCL(SerialClock)串行时钟线两根线相连如图1 所示。
I2C数据的传输必须以一个起始信号作为开始条件以一个结束信号作为传输的停止条件。数据传输以字节为单位高位在前逐个bit进行传输。
I2C总线上的每一个设备都可以作为主设备或者从设备而且每一个设备都会对应一个唯一的地址当主设备需要和某一个从设备通信时通过广播的方式将从设备地址写到总线上如果某个从设备符合此地址将会发出应答信号建立传输。
I2C接口定义了完成I2C传输的通用方法集合包括
I2C控制器管理: 打开或关闭I2C控制器
I2C消息传输通过消息传输结构体数组进行自定义传输
## 接口说明
1. I2C初始化函数:unsigned int IoTI2cInit(unsigned int id, unsigned int baudrate)
参数说明:
id: 对应的I2C号
baudrate: I2C通信速率
return: IOT_SUCCESS表示初始化成功
2. I2C去初始化函数:unsigned int IoTI2cDeinit(unsigned int id)
参数说明:
id: 对应的I2C号
return: IOT_SUCCESS表示去除初始化成功
3. I2C写数据函数:unsigned int IoTI2cWrite(unsigned int id, unsigned short deviceAddr, const unsigned char *data, unsigned int dataLen)
参数说明:
id: 对应的I2C号
deviceAddr: I2C设备地址
data: 写入的数据缓冲区地址
dataLen: 写入的数据字节数
return: IOT_SUCCESS表示写入成功
4. I2C读数据函数:unsigned int IoTI2cRead(unsigned int id, unsigned short deviceAddr, unsigned char *data, unsigned int dataLen)
参数说明:
id: 对应的I2C号
deviceAddr: I2C设备地址
data: 读取数据缓冲区地址
dataLen: 读取的字节数
return: IOT_SUCCESS表示读取成功
5. I2C速率设置函数:unsigned int IoTI2cSetBaudrate(unsigned int id, unsigned int baudrate)
参数说明:
id: 对应的I2C号
baudrate: 设置的I2C速率值
## 例程原理简介
本例程通过I2C接口函数与oled点阵屏进行通信进行oled的相关显示实验

View File

@ -0,0 +1,233 @@
/*
* Copyright (c) 2021 Talkweb Co.,ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <unistd.h>
#include "stdio.h"
#include "ohos_init.h"
#include "cmsis_os2.h"
#include <hi_types_base.h>
#include <hi_i2c.h>
#include <iot_i2c.h>
#include <hi_early_debug.h>
#include <hi_stdlib.h>
#include "sensor.h"
/**
*
* \param buffer
* \param length
* return 0:
*/
static uint32_t Aht20I2cWrite(uint8_t *buffer, uint32_t length)
{
uint32_t status;
status = IoTI2cWrite(AHT20_I2C_IDX, AHT20_WRITE_ADDR, buffer, length);
if (status != HI_ERR_SUCCESS)
{
printf("===== Error: I2C write status = 0x%x! =====\r\n", status);
return status;
}
return HI_ERR_SUCCESS;
}
/**
*
* \param buffer
* \param length
* return 0:
*/
static uint32_t Aht20I2cRead(uint8_t *buffer, uint32_t length)
{
uint32_t receive_data;
receive_data = IoTI2cRead(AHT20_I2C_IDX, AHT20_WRITE_ADDR, buffer, length);
if (receive_data != HI_ERR_SUCCESS)
{
printf("===== hi_i2c_read failed, 0x%x! =====\r\n", receive_data);
return receive_data;
}
return HI_ERR_SUCCESS;
}
// 发送软复位命令
static uint32_t AHT20ResetCommand(void)
{
uint8_t resetCmd[] = {AHT20_CMD_RESET};
return Aht20I2cWrite(resetCmd, sizeof(resetCmd));
}
// 发送初始化校准命令
static uint32_t AHT20CalibrateCommand(void)
{
uint8_t clibrateCmd[] = {AHT20_CMD_CALIBRATION, AHT20_CMD_CALIBRATION_ARG0, AHT20_CMD_CALIBRATION_ARG1};
return Aht20I2cWrite(clibrateCmd, sizeof(clibrateCmd));
}
/***
*
*
** return 0:
*/
static hi_u32 AHT20Calibrate(void)
{
uint8_t RevBuffer[AHT20_RECEIVE_MAX];
uint8_t statusCmd[] = {AHT20_CMD_STATE}; //状态字指令
uint32_t retval = 0;
retval = Aht20I2cWrite(statusCmd, sizeof(statusCmd)); //发送状态字指令
if (retval != HI_ERR_SUCCESS)
{
return retval;
}
retval = Aht20I2cRead(RevBuffer, sizeof(RevBuffer)); //接收状态字
if (retval != HI_ERR_SUCCESS)
{
return retval;
}
if ((RevBuffer[0] & 0x80) || !(RevBuffer[0] & 0x08)) //设备忙或未校准
{
retval = AHT20ResetCommand(); //调用软启动命令,重启设备
if (retval != HI_ERR_SUCCESS)
{
return retval;
}
usleep(20 * 1000); //重启所需时间
retval = AHT20CalibrateCommand(); //校准命令
usleep(40 * 1000); //校准所需时间
return retval;
}
return HI_ERR_SUCCESS;
}
/**
*
* return 0:
*/
static uint32_t StartMeasure(void)
{
uint8_t triggerCmd[] = {AHT20_CMD_TRIGGER, AHT20_CMD_TRIGGER_ARG0, AHT20_CMD_TRIGGER_ARG1};
return Aht20I2cWrite(triggerCmd, sizeof(triggerCmd));
}
static int IsDeviceBusy(uint8_t *buffer)
{
return (buffer[0] & 0x80) >> 7;
}
/**
*
* \param[out] temp
* \param[out] humi
* * return 0:
**/
static uint32_t GetMeasureResult(float *temp, float *humi)
{
uint32_t retval = 0, i = 0;
if (temp == NULL || humi == NULL)
{
return HI_ERR_S_FAILURE;
}
uint8_t buffer[AHT20_RECEIVE_MAX];
memset(&buffer, 0x0, sizeof(buffer));
retval = Aht20I2cRead(buffer, sizeof(buffer)); // recv status command result
if (retval != HI_ERR_SUCCESS)
{
return retval;
}
for (i = 0; (IsDeviceBusy(buffer)) && i < AHT20_MAX_RETRY; i++)
{
usleep(75 * 1000);
retval = Aht20I2cRead(buffer, sizeof(buffer)); // recv status command result
if (retval != HI_ERR_SUCCESS)
{
return retval;
}
}
if (i >= AHT20_MAX_RETRY)
{
printf("AHT20 device always busy!\r\n");
return HI_ERR_S_FAILURE;
}
//转换
uint32_t humiRaw = buffer[1];
humiRaw = (humiRaw << 8) | buffer[2];
humiRaw = (humiRaw << 4) | ((buffer[3] & 0xF0) >> 4);
*humi = humiRaw / (float)(1 << 20) * 100;
uint32_t tempRaw = buffer[3] & 0x0F;
tempRaw = (tempRaw << 8) | buffer[4];
tempRaw = (tempRaw << 8) | buffer[5];
*temp = tempRaw / (float)(1 << 20) * 200 - 50;
return HI_ERR_SUCCESS;
}
/**
* 线
* \param arg
*/
static void *THsensorTaskEntry(const char *arg)
{
(void)arg;
uint32_t retval = 0;
float temp = 0.0, humi = 0.0;
//校准设备
retval = AHT20Calibrate();
printf("AHT20_Calibrate: %d\r\n", retval);
while (1)
{
//工作循环
retval = StartMeasure();
if (retval == HI_ERR_SUCCESS)
{
retval = GetMeasureResult(&temp, &humi);
if (retval == HI_ERR_SUCCESS)
{
printf("AHT20 GetMeasureResult: temp = %.2f, humi = %.2f\r\n", temp, humi);
}
}
usleep(1000000);
}
return NULL;
}
static void THsensorExampleEntry(void)
{
osThreadAttr_t attr;
IoTI2cInit(HI_I2C_IDX_0, 100 * 1000); /* baudrate: 100K */
attr.name = "THsensorTask";
attr.attr_bits = 0U;
attr.cb_mem = NULL;
attr.cb_size = 0U;
attr.stack_mem = NULL;
attr.stack_size = CGSENSOR_TASK_STACK_SIZE;
attr.priority = CGSENSOR_TASK_PRIO;
if (osThreadNew((osThreadFunc_t)THsensorTaskEntry, NULL, &attr) == NULL)
{
printf("[THsensorExampleEntry] Falied to create THsensorTask!\n");
}
}
SYS_RUN(THsensorExampleEntry);

View File

@ -0,0 +1,111 @@
/*
* Copyright (c) 2021 Talkweb Co.,ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <stdio.h>
#include "ohos_init.h"
#include "cmsis_os2.h"
#include "iot_gpio.h"
#include "hi_io.h"
#include "hi_pwm.h"
#include "hi_time.h"
#include "buzze.h"
volatile uint8_t buzze_flag = 0; // 是否正在播放标志 1. playing 0. free
#define PWM_BEEP_PORT HI_PWM_PORT_PWM0
static const uint16_t gTuneFreqs40M[] = {
0, //40MHz时钟源
38223, // 1 1046.5
34052, // 2 1174.7
30338, // 3 1318.5
28635, // 4 1396.4
25511, // 5 1568
22728, // 6 1760
20249, // 7 1975.5
};
static const uint8_t gScoreNotesBeep[] = {
5, 3, 3, 4, 2, 2, 1, 2, 3, 4, 5, 5, 5,
5, 3, 3, 4, 2, 2, 1, 3, 5, 5, 1,
2, 2, 2, 2, 2, 3, 4,
3, 3, 3, 3, 3, 4, 5,
5, 3, 3, 4, 2, 2, 1, 3, 5, 5, 1
};
static const uint8_t gScoreDurationsBeep[] = {
4, 4, 8, 4, 4, 8, 4, 4, 4, 4, 4, 4, 8,
4, 4, 8, 4, 4, 8, 4, 4, 4, 4, 8,
4, 4, 4, 4, 4, 4, 8,
4, 4, 4, 4, 4, 4, 8,
4, 4, 8, 4, 4, 8, 4, 4, 4, 4, 8};
static void PlayTuneTask(void *arg)
{
(void)arg;
uint32_t tune;
uint16_t freqDivisor;
uint32_t tuneInterval;
for (size_t i = 0; i < sizeof(gScoreNotesBeep) / sizeof(gScoreNotesBeep[0]); i++)
{
tune = gScoreNotesBeep[i];
freqDivisor = gTuneFreqs40M[tune];
tuneInterval = gScoreDurationsBeep[i] * (125 * 1000); // 时间
hi_pwm_start(PWM_BEEP_PORT, freqDivisor / 2, freqDivisor);
hi_udelay(tuneInterval);
hi_pwm_stop(PWM_BEEP_PORT);
}
if (buzze_flag == 1)
{
buzze_flag = 0;
}
}
void StartBuzz()
{
if (buzze_flag == 1)
{
return;
}
buzze_flag = 1;
{ //蜂鸣器端口初始化
IoTGpioInit(IOT_GPIO_IO_GPIO_9);
IotIoSetFunc(IOT_GPIO_IO_GPIO_9, HI_IO_FUNC_GPIO_9_PWM0_OUT);
hi_pwm_init(PWM_BEEP_PORT);
//时钟
hi_pwm_set_clock(PWM_CLK_XTAL);
}
osThreadAttr_t attr;
attr.name = "BuzzTask";
attr.attr_bits = 0U;
attr.cb_mem = NULL;
attr.cb_size = 0U;
attr.stack_mem = NULL;
attr.stack_size = 1024;
attr.priority = 25;
if (osThreadNew(PlayTuneTask, NULL, &attr) == NULL)
{
buzze_flag = 0;
printf("[pwm] Falied to create BuzzTask!\n");
}
}

View File

@ -0,0 +1,9 @@
#ifndef __BUZZE_H__
#define __BUZZE_H__
#include <stdint.h>
extern volatile uint8_t buzze_flag;
void StartBuzz();
#endif

View File

@ -0,0 +1,46 @@
#ifndef __SENSOR_H
#define __SENSOR_H
//MQ-2
#define ADC_TEST_LENGTH 64
#define THSENSOR_TASK_STACK_SIZE 2048
#define THSENSOR_TASK_PRIO 25
//AHT20
#define AHT20_I2C_IDX HI_I2C_IDX_0 //I2C ID
#define AHT20_RECEIVE_MAX 6 //AHT20 返回最大字节数
#define AHT20_MAX_RETRY 10 //当AHT20未初始化最大尝试重新初始化次数
#define CGSENSOR_TASK_STACK_SIZE 2048
#define CGSENSOR_TASK_PRIO 25
#define AHT20_I2C_ADDR 0x38
#define AHT20_READ_ADDR ((0x38<<1)|0x1)
#define AHT20_WRITE_ADDR ((0x38<<1)|0x0)
#define AHT20_CMD_STATE 0x71 // 获取状态命令
#define AHT20_CMD_CALIBRATION 0xBE // 初始化(校准)命令
#define AHT20_CMD_CALIBRATION_ARG0 0x08
#define AHT20_CMD_CALIBRATION_ARG1 0x00
/**
* ,0xAC75
* [Bit7]01
**/
#define AHT20_CMD_TRIGGER 0xAC // 触发测量命令
#define AHT20_CMD_TRIGGER_ARG0 0x33
#define AHT20_CMD_TRIGGER_ARG1 0x00
// 用于在无需关闭和再次打开电源的情况下重新启动传感器系统软复位所需时间不超过20 毫秒
#define AHT20_CMD_RESET 0xBA // 软复位命令
#endif

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 809 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,333 @@
/home/openharmony/device/talkweb/niobe/sdk_liteos/build/scripts/hi_config_parser.py:85: SyntaxWarning: "is" with a literal. Did you mean "=="?
if option is '':
execute ota_builder with python...
Compiling platform/drivers/uart/hi_uart.c
Compiling platform/drivers/uart/uart.c
Compiling platform/drivers/uart/uart_drv.c
Archiving build/build_tmp/libs/platform/drivers/libuart.a
riscv32-unknown-elf-ranlib build/build_tmp/libs/platform/drivers/libuart.a
Compiling platform/drivers/adc/hi_adc.c
Archiving build/build_tmp/libs/platform/drivers/libadc.a
riscv32-unknown-elf-ranlib build/build_tmp/libs/platform/drivers/libadc.a
Compiling platform/drivers/tsensor/hi_tsensor_pm.c
Archiving build/build_tmp/libs/platform/drivers/libtsensor.a
riscv32-unknown-elf-ranlib build/build_tmp/libs/platform/drivers/libtsensor.a
Compiling platform/drivers/i2c/i2c.c
Archiving build/build_tmp/libs/platform/drivers/libi2c.a
riscv32-unknown-elf-ranlib build/build_tmp/libs/platform/drivers/libi2c.a
Compiling platform/drivers/pwm/hi_pwm.c
Archiving build/build_tmp/libs/platform/drivers/libpwm.a
riscv32-unknown-elf-ranlib build/build_tmp/libs/platform/drivers/libpwm.a
Compiling platform/system/cfg/sal_cfg.c
Archiving build/build_tmp/libs/platform/system/libcfg.a
riscv32-unknown-elf-ranlib build/build_tmp/libs/platform/system/libcfg.a
Compiling platform/system/partition_table/flash_partition_table.c
Archiving build/build_tmp/libs/platform/system/libparttab.a
riscv32-unknown-elf-ranlib build/build_tmp/libs/platform/system/libparttab.a
Compiling platform/system/upg/kernel_crypto.c
Compiling platform/system/upg/upg_check_boot_bin.c
Compiling platform/system/upg/upg_check_file.c
Compiling platform/system/upg/upg_check_secure.c
Compiling platform/system/upg/upg_common.c
Compiling platform/system/upg/upg_start_up.c
Compiling platform/system/upg/upg_user_verify.c
Archiving build/build_tmp/libs/platform/system/libupg.a
riscv32-unknown-elf-ranlib build/build_tmp/libs/platform/system/libupg.a
Compiling components/at/src/at.c
Compiling components/at/src/at_cmd.c
Compiling components/at/src/at_demo_hks.c
Compiling components/at/src/at_general.c
Compiling components/at/src/at_hipriv.c
Compiling components/at/src/at_io.c
Compiling components/at/src/at_lowpower.c
Compiling components/at/src/at_parse.c
Compiling components/at/src/at_printf.c
Compiling components/at/src/at_wifi.c
Compiling components/at/src/hi_at.c
Compiling components/at/src/hidumper_adapter_impl.c
components/at/src/hidumper_adapter_impl.c: In function 'DumpMemRegion':
components/at/src/hidumper_adapter_impl.c:194:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
printf("%02X ", *((hi_u8 *)addr + i));
^
components/at/src/hidumper_adapter_impl.c: In function 'PlatformHiDumperIinit':
components/at/src/hidumper_adapter_impl.c:215:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
Archiving build/build_tmp/libs/components/at/libat.a
riscv32-unknown-elf-ranlib build/build_tmp/libs/components/at/libat.a
Compiling app/wifiiot_app/init/app_io_init.c
Compiling app/wifiiot_app/src/app_demo_upg_verify.c
Compiling app/wifiiot_app/src/app_main.c
Compiling app/wifiiot_app/src/blackbox_adapter_impl.c
Compiling app/wifiiot_app/src/ohos_main.c
app/wifiiot_app/src/ohos_main.c: In function 'QuerySysparaCmd':
app/wifiiot_app/src/ohos_main.c:23:5: warning: 'return' with no value, in function returning non-void
return;
^~~~~~
app/wifiiot_app/src/ohos_main.c:21:27: note: declared here
int __attribute__((weak)) QuerySysparaCmd()
^~~~~~~~~~~~~~~
app/wifiiot_app/src/ohos_main.c: In function 'OHOS_Main':
app/wifiiot_app/src/ohos_main.c:45:13: warning: implicit declaration of function 'printf'; did you mean 'hi_at_printf'? [-Wimplicit-function-declaration]
printf("Register ohos failed!\n");
^~~~~~
hi_at_printf
Archiving build/build_tmp/libs/app/wifiiot_app/libwifiiot_app.a
riscv32-unknown-elf-ranlib build/build_tmp/libs/app/wifiiot_app/libwifiiot_app.a
Compiling boot/commonboot/efuse/efuse_drv.c
Compiling boot/commonboot/flash/flash_hw_process_flashboot.c
Compiling boot/flashboot/common/nvm/hi_nvm.c
Compiling boot/flashboot/common/partition_table/boot_partition_table.c
Compiling boot/flashboot/drivers/efuse/efuse.c
Compiling boot/flashboot/drivers/flash/hi_flashboot_flash.c
Compiling boot/flashboot/drivers/gpio/hi_flashboot_gpio.c
Compiling boot/flashboot/drivers/io/hi_flashboot_io.c
Compiling boot/flashboot/drivers/lsadc/adc_drv.c
Compiling boot/flashboot/lzmaram/lzmaram.c
Compiling boot/flashboot/secure/crypto.c
Compiling boot/flashboot/startup/main.c
riscv32-unknown-elf-gcc -mabi=ilp32 -march=rv32imc -x assembler-with-cpp -Os -Wall -Werror -nostdinc -fno-common -DARCH_RISCV -DLOS_COMPILE_LDM -DHI_BOARD_ASIC -DCONFIG_COMPRESSION_OTA_SUPPORT -DCONFIG_CHIP_PKT_32K -Iboot/flashboot/fixed/include -Iboot/flashboot/upg -Iboot/flashboot/include -Iboot/flashboot/drivers/lsadc -Iboot/flashboot/drivers/efuse -Iboot/flashboot/include/lzma -Iboot/flashboot/drivers/gpio -Iboot/flashboot/drivers/io -Ithird_party/u-boot-v2019.07/u-boot-v2019.07/lib/lzma -Iboot/flashboot/secure -Iboot/commonboot -c -o build/build_tmp/objs/flashboot/startup/riscv_init_flashboot.o boot/flashboot/startup/riscv_init_flashboot.S
Compiling boot/flashboot/startup/stack_protect.c
Compiling third_party/u-boot-v2019.07/u-boot-v2019.07/lib/crc32.c
Compiling third_party/u-boot-v2019.07/u-boot-v2019.07/lib/lzma/LzmaDec.c
Compiling third_party/u-boot-v2019.07/u-boot-v2019.07/lib/lzma/LzmaTools.c
Compiling boot/flashboot/upg/boot_start.c
Compiling boot/flashboot/upg/boot_upg_check.c
Compiling boot/flashboot/upg/boot_upg_check_secure.c
Compiling boot/flashboot/upg/boot_upg_common.c
Compiling boot/flashboot/upg/boot_upg_kernel.c
Compiling boot/flashboot/upg/boot_upg_start_up.c
Compiling boot/flashboot/upg/boot_upg_tool.c
riscv32-unknown-elf-ld -nostdlib -nostartfiles -static --gc-sections -T/home/openharmony/device/talkweb/niobe/sdk_liteos/build/link/flashboot_sha256.lds -Lbuild/libs -Lbuild/libs/boot_libs build/build_tmp/objs/flashboot/boot/commonboot/efuse/efuse_drv.o build/build_tmp/objs/flashboot/boot/commonboot/flash/flash_hw_process_flashboot.o build/build_tmp/objs/flashboot/common/nvm/hi_nvm.o build/build_tmp/objs/flashboot/common/partition_table/boot_partition_table.o build/build_tmp/objs/flashboot/drivers/efuse/efuse.o build/build_tmp/objs/flashboot/drivers/flash/hi_flashboot_flash.o build/build_tmp/objs/flashboot/drivers/gpio/hi_flashboot_gpio.o build/build_tmp/objs/flashboot/drivers/io/hi_flashboot_io.o build/build_tmp/objs/flashboot/drivers/lsadc/adc_drv.o build/build_tmp/objs/flashboot/lzmaram/lzmaram.o build/build_tmp/objs/flashboot/secure/crypto.o build/build_tmp/objs/flashboot/startup/main.o build/build_tmp/objs/flashboot/startup/riscv_init_flashboot.o build/build_tmp/objs/flashboot/startup/stack_protect.o build/build_tmp/objs/flashboot/third_party/u-boot-v2019.07/u-boot-v2019.07/lib/crc32.o build/build_tmp/objs/flashboot/third_party/u-boot-v2019.07/u-boot-v2019.07/lib/lzma/LzmaDec.o build/build_tmp/objs/flashboot/third_party/u-boot-v2019.07/u-boot-v2019.07/lib/lzma/LzmaTools.o build/build_tmp/objs/flashboot/upg/boot_start.o build/build_tmp/objs/flashboot/upg/boot_upg_check.o build/build_tmp/objs/flashboot/upg/boot_upg_check_secure.o build/build_tmp/objs/flashboot/upg/boot_upg_common.o build/build_tmp/objs/flashboot/upg/boot_upg_kernel.o build/build_tmp/objs/flashboot/upg/boot_upg_start_up.o build/build_tmp/objs/flashboot/upg/boot_upg_tool.o -o build/build_tmp/cache/flash_boot.elf --start-group --end-group
riscv32-unknown-elf-objcopy -Obinary -R .rom.text -R .rom.code.text -R .u_boot_cmd -R .rom.data -R .rom.code.data -R .rom.bss -R .rom.code.bss -S build/build_tmp/cache/flash_boot.elf build/build_tmp/cache/hi_flash_boot.bin
cleanup(["build/build_tmp/cache/hi_flash_boot.bin"], ["build/build_tmp/cache/flash_boot.elf"])
tools/sign_tool/sign_tool -i build/build_tmp/cache/hi_flash_boot.bin -o output/bin/Hi3861_boot_signed.bin -n -toutput/bin/Hi3861_boot_signed_B.bin
[input file]: build/build_tmp/cache/hi_flash_boot.bin
[output file]: output/bin/Hi3861_boot_signed.bin
[tail boot]: output/bin/Hi3861_boot_signed_B.bin
Sign non securtiy kernel success!
cleanup(["output/bin/Hi3861_boot_signed.bin"], ["build/build_tmp/cache/hi_flash_boot.bin"])
Compiling boot/commonboot/efuse/efuse_drv.c
Compiling boot/commonboot/flash/flash_hw_process_flashboot.c
Compiling boot/loaderboot/common/cmd_loop.c
Compiling boot/loaderboot/common/efuse_opt.c
Compiling boot/loaderboot/common/nvm/hi_nvm.c
Compiling boot/loaderboot/common/partition_table/load_partition_table.c
Compiling boot/loaderboot/common/transfer.c
Compiling boot/loaderboot/drivers/efuse/efuse.c
Compiling boot/loaderboot/drivers/flash/hi_loaderboot_flash.c
Compiling boot/loaderboot/drivers/lsadc/adc_drv.c
Compiling boot/loaderboot/secure/burn_file.c
Compiling boot/loaderboot/secure/load_crypto.c
Compiling boot/loaderboot/startup/main.c
riscv32-unknown-elf-gcc -mabi=ilp32 -march=rv32imc -x assembler-with-cpp -Os -Wall -Werror -nostdinc -fno-common -DARCH_RISCV -DLOS_COMPILE_LDM -DHI_BOARD_ASIC -DCONFIG_COMPRESSION_OTA_SUPPORT -DCONFIG_CHIP_PKT_32K -Iboot/loaderboot/include -Iboot/loaderboot/fixed/include -Iboot/loaderboot/secure -Iboot/commonboot -c -o build/build_tmp/objs/loaderboot/startup/riscv_init_loaderboot.o boot/loaderboot/startup/riscv_init_loaderboot.S
Compiling boot/loaderboot/startup/stack_protect.c
Compiling third_party/u-boot-v2019.07/u-boot-v2019.07/lib/crc32.c
Compiling third_party/u-boot-v2019.07/u-boot-v2019.07/lib/lzma/LzmaDec.c
Compiling third_party/u-boot-v2019.07/u-boot-v2019.07/lib/lzma/LzmaTools.c
riscv32-unknown-elf-ld -nostdlib -nostartfiles -static --gc-sections -T/home/openharmony/device/talkweb/niobe/sdk_liteos/build/link/loaderboot_sha256.lds -Lbuild/libs -Lbuild/libs/boot_libs build/build_tmp/objs/loaderboot/boot/commonboot/efuse/efuse_drv.o build/build_tmp/objs/loaderboot/boot/commonboot/flash/flash_hw_process_flashboot.o build/build_tmp/objs/loaderboot/common/cmd_loop.o build/build_tmp/objs/loaderboot/common/efuse_opt.o build/build_tmp/objs/loaderboot/common/nvm/hi_nvm.o build/build_tmp/objs/loaderboot/common/partition_table/load_partition_table.o build/build_tmp/objs/loaderboot/common/transfer.o build/build_tmp/objs/loaderboot/drivers/efuse/efuse.o build/build_tmp/objs/loaderboot/drivers/flash/hi_loaderboot_flash.o build/build_tmp/objs/loaderboot/drivers/lsadc/adc_drv.o build/build_tmp/objs/loaderboot/secure/burn_file.o build/build_tmp/objs/loaderboot/secure/load_crypto.o build/build_tmp/objs/loaderboot/startup/main.o build/build_tmp/objs/loaderboot/startup/riscv_init_loaderboot.o build/build_tmp/objs/loaderboot/startup/stack_protect.o build/build_tmp/objs/loaderboot/third_party/u-boot-v2019.07/u-boot-v2019.07/lib/crc32.o build/build_tmp/objs/loaderboot/third_party/u-boot-v2019.07/u-boot-v2019.07/lib/lzma/LzmaDec.o build/build_tmp/objs/loaderboot/third_party/u-boot-v2019.07/u-boot-v2019.07/lib/lzma/LzmaTools.o -o build/build_tmp/cache/loader_boot.elf --start-group --end-group
riscv32-unknown-elf-objcopy -Obinary -R .rom.text -R .rom.code.text -R .u_boot_cmd -R .rom.data -R .rom.code.data -R .rom.bss -R .rom.code.bss -S build/build_tmp/cache/loader_boot.elf build/build_tmp/cache/hi_loader_boot.bin
cleanup(["build/build_tmp/cache/hi_loader_boot.bin"], ["build/build_tmp/cache/loader_boot.elf"])
tools/sign_tool/sign_tool -i build/build_tmp/cache/hi_loader_boot.bin -o output/bin/Hi3861_loader_signed.bin -n
[input file]: build/build_tmp/cache/hi_loader_boot.bin
[output file]: output/bin/Hi3861_loader_signed.bin
Sign non securtiy kernel success!
riscv32-unknown-elf-gcc -Iplatform/os/Huawei_LiteOS/kernel/include -Iconfig -DCONFIG_TEE_HUKS_SUPPORT -DCONFIG_CHIP_PKT_32K -DHI_BOARD_ASIC -DHI_ON_FLASH -E build/link/system_config.ld.S -o build/build_tmp/scripts/system_config.ld -P
nvimg_builder(["build/build_tmp/scripts/system_config.ld"], ["build/link/system_config.ld.S"])
product_name_list: ['sta']
xml h file: /home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/h_file/nv
/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/out_nv_bin/sta
app_subver_list: ['demo']
current subver_name:demo
root_dir: /home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool
mdm_xml: /home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/xml_file/mss_nvi_db.xml
HNV NAME:mss_nvi_db.xml
nv_tool: /home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/tools/nv/cdbm
app_subver_temp_dir:/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/Hi3861_wifiiot_app/outside_demo
make app_subver_temp_dir
mdmxml:/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/xml_file/mss_nvi_db.xml
src_xml_list: ['/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/xml_file/mss_nvi_db.xml']
combin_xml:/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/Hi3861_wifiiot_app/mss_nvi_db.xml
root_list [<Element 'HISTUDIO' at 0x7f567d5d5860>]
hi_nv_modify_by_cfg
cfg_file: nv
cmd_line= ('/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/tools/nv/cdbm', '/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/Hi3861_wifiiot_app/outside_demo/nv.xml', '/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/h_file/nv', '/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/Hi3861_wifiiot_app/outside_demo/nv')
/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/Hi3861_wifiiot_app/outside_demo/nv.xml
/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/h_file/nv
/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/Hi3861_wifiiot_app/outside_demo/nv
===========Init HDB Start===========
*********strDataTypeDefPath:/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/h_file/nv/../nv/nv_modem_struct_def.txt
*********strDataTypeDefPath:/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/h_file/nv/../nv/nv_modem_struct_def.txt
*********strDataTypeDefPath:/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/h_file/nv/../nv/nv_factory_struct_def.txt
===========Init HDB finish===========
===========Write NV Buffer To File===========
===========Write NV Buffer Finish===========
RETURN VALUE:0
dst_hnv= /home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/hnv/Hi3861_wifiiot_app.hnv
Factory NV total num:10
NV_FILE_STRU :28
Factory NV total size:824
Normal NV total num:13
NV_FILE_STRU :28
Normal NV total size:766
build hnv OK:/home/openharmony/device/talkweb/niobe/sdk_liteos/tools/nvtool/out_nv_bin/sta/nv/hnv/Hi3861_wifiiot_app.hnv
ENDING
riscv32-unknown-elf-gcc -Iplatform/os/Huawei_LiteOS/kernel/include -Iconfig -DCONFIG_TEE_HUKS_SUPPORT -DCONFIG_CHIP_PKT_32K -DHI_BOARD_ASIC -DHI_ON_FLASH -DFLASH_FIRM_START=4248512 -E build/link/link.ld.S -o build/build_tmp/scripts/link.lds -P
riscv32-unknown-elf-ld -nostartfiles -nostdlib -static --gc-sections -L/home/openharmony/device/talkweb/niobe/sdk_liteos/build/scripts/../../../../../huawei/hms/hilink/ohos/l0/hi3861/lib/wifi -L/home/tools/gcc_riscv32/bin/../lib/gcc/riscv32-unknown-elf/7.3.0 -Lbuild/build_tmp/libs/app/wifiiot_app -Lbuild/build_tmp/libs/components/at -Lbuild/build_tmp/libs/platform/drivers -Lbuild/build_tmp/libs/platform/system -Lbuild/build_tmp/scripts -Lbuild/libs -Lbuild/libs/hi3861/release/no_mesh -Lbuild/scripts -Lohos/libs -Tbuild/build_tmp/scripts/link.lds -Map=output/bin/Hi3861_wifiiot_app.map -o output/bin/Hi3861_wifiiot_app.out --start-group --no-whole-archive --whole-archive -lHwKeystoreSDK -ladc -lat -lauthmanager -lblackbox -lbootstrap -lbroadcast -lc_flash -lcfg -lcjson_static -lcmsis -lcpup -ldiag -ldiscovery -ldrv -ldump_static -lflash -lgcc -lgpio -lhal_file_static -lhal_iothardware -lhal_sysparam -lhal_token_static -lhal_update_static -lhal_wifiaware -lhelloworld -lhichainsdk -lhidumper_mini -lhievent_lite -lhilog_lite -lhiview_lite -lhota -li2c -lio -liperf -llitekernel_flash -lltoswpa -llwip -lm_flash -lmbedtls -lnative_file -lparttab -lposix -lpwm -lres_cfg -lsamgr -lsamgr_adapter -lsamgr_source -lsdio -lsec_flash -lspiffs -lsysparam -lsystem -ltoken_static -ltrans_service -ltsensor -luart -lupg -lutils_kv_store -lwifi -lwifi_flash -lwifiaware -lwifiiot_app -lwifiservice -lwpa --end-group
riscv32-unknown-elf-objcopy -O binary output/bin/Hi3861_wifiiot_app.out build/build_tmp/cache/Hi3861_wifiiot_app.bin
baseimg_builder(["build/build_tmp/cache/Hi3861_wifiiot_app_base.bin", "build/build_tmp/cache/Hi3861_wifiiot_app_kernel.bin"], ["build/build_tmp/cache/Hi3861_wifiiot_app.bin"])
cleanup(["build/build_tmp/cache/Hi3861_wifiiot_app_base.bin", "build/build_tmp/cache/Hi3861_wifiiot_app_kernel.bin"], ["build/build_tmp/cache/Hi3861_wifiiot_app.bin"])
ota_builder(["build/build_tmp/cache/Hi3861_wifiiot_app_ota_temp.bin"], ["build/build_tmp/cache/Hi3861_wifiiot_app_base.bin", "build/build_tmp/cache/Hi3861_wifiiot_app_kernel.bin"])
********************package kernel&nv upgrade file********************
upg kernel file in: build/build_tmp/cache/Hi3861_wifiiot_app_kernel.bin
upg normal nv file in: build/build_tmp/nv/Hi3861_wifiiot_app_normal.hnv
upg file out: build/build_tmp/cache/Hi3861_wifiiot_app_ota_temp.bin
[common_head_offset=0][common_head_size=96]
[common_key_offset=96][common_key_size=288]
[common_head_sign_offset=384][common_head_sign_size=256]
[section_head_offset=640][section_head_size=64]
[upg_file_sign_offset=704][upg_file_sign_size=256]
[padding_offset=709448][padding_size=8]
[upg fill user info]chip:b'Hi3861'
-------------build/build_tmp/cache/Hi3861_wifiiot_app_ota_temp.bin image info print start-------------
[image_id=0x3c78961e][struct_version=0x0]]
[section_offset=0x280][section_len=0xad0d0]
[file_type=0xf0][file_version=0x0][encrypt_flag=0x42]
[file_len=0xad350][key_len=0x120]
[file_attr=0x44]
[hash_alg=0x0][sign_alg=0x3f][sign_param=0x0]
[aes_key[0-1-14-15]=[0x0][0x0][0x0][0x0]]
[aes_iv [0-1-14-15]=[0x0][0x0][0x0][0x0]]
[common key][00]=[0x0]
[common key][01]=[0x0]
[common key][30]=[0x0]
[common key][31]=[0x0]
[common sign][00]=[0xb4]
[common sign][01]=[0xc]
[common sign][30]=[0x1c]
[common sign][31]=[0x95]
[section sign][00]=[0xbf]
[section sign][01]=[0xda]
[section sign][30]=[0x0]
[section sign][31]=[0xe6]
[image_id=0x3c78961e][struct_version=0x0]]
[hash_alg=0x0][sign_alg=0x3f][sign_param=0x0]
[section_count=0x2]
[section0_compress=0x0][section0_offset=0x3c0][section0_len=0xabf88]
[section1_compress=0x0][section1_offset=0xac348][section1_len=0x1000]
-------------build/build_tmp/cache/Hi3861_wifiiot_app_ota_temp.bin image info print end--------------
riscv32-unknown-elf-objdump -d output/bin/Hi3861_wifiiot_app.out > output/bin/Hi3861_wifiiot_app.asm
burn_bin_builder(["output/bin/Hi3861_wifiiot_app_burn.bin", "output/bin/Hi3861_wifiiot_app_allinone.bin"], ["build/build_tmp/cache/Hi3861_wifiiot_app_ota_temp.bin", "output/bin/Hi3861_loader_signed.bin"])
********************package hiburn file********************
hbin flash boot file in : output/bin/Hi3861_boot_signed.bin
hbin factory nv file in : build/build_tmp/nv/Hi3861_wifiiot_app_factory.hnv
hbin normal nv file in : build/build_tmp/cache/Hi3861_wifiiot_app_ota_temp.bin
hbin upg file in : build/build_tmp/nv/Hi3861_wifiiot_app_factory.hnv
hbin file out : output/bin/Hi3861_wifiiot_app_burn.bin
-------------output/bin/Hi3861_wifiiot_app_burn.bin image info print start-------------
[bin_size]=[0xba350]
[image_id=0x3c78961e][struct_version=0x0]]
[section_offset=0x280][section_len=0xad0d0]
[file_type=0xf0][file_version=0x0][encrypt_flag=0x42]
[file_len=0xad350][key_len=0x120]
[hash_alg=0x0][sign_alg=0x3f][sign_param=0x0]
[aes_key[0,1,14,15]=[0x0][0x0][0x0][0x0]]
[aes_iv[0,1,14,15]=[0x0][0x0][0x0][0x0]]
-------------output/bin/Hi3861_wifiiot_app_burn.bin image info print end--------------
['output/bin/Hi3861_loader_signed.bin', 'output/bin/Hi3861_wifiiot_app_burn.bin']
[0, 0]
[0, 2097152]
[15360, 762704]
[0, 1]
4022250975
boot_ota_builder(["output/bin/Hi3861_wifiiot_app_flash_boot_ota.bin"], ["output/bin/Hi3861_boot_signed.bin"])
********************package boot upgrade file********************
boot upg file in: output/bin/Hi3861_boot_signed.bin
boot upg file out: output/bin/Hi3861_wifiiot_app_flash_boot_ota.bin
[common_head_offset=0][common_head_size=96]
[common_key_offset=96][common_key_size=288]
[common_head_sign_offset=384][common_head_sign_size=256]
[section_head_offset=640][section_head_size=64]
[upg_file_sign_offset=704][upg_file_sign_size=256]
[padding_offset=0][padding_size=0]
[upg fill user info]chip:b'Hi3861'
-------------output/bin/Hi3861_wifiiot_app_flash_boot_ota.bin image info print start-------------
[image_id=0x3c78961e][struct_version=0x0]]
[section_offset=0x280][section_len=0x60a0]
[file_type=0xe1][file_version=0x0][encrypt_flag=0x42]
[file_len=0x6320][key_len=0x120]
[file_attr=0x44]
[hash_alg=0x0][sign_alg=0x3f][sign_param=0x0]
[aes_key[0-1-14-15]=[0x0][0x0][0x0][0x0]]
[aes_iv [0-1-14-15]=[0x0][0x0][0x0][0x0]]
[common key][00]=[0x0]
[common key][01]=[0x0]
[common key][30]=[0x0]
[common key][31]=[0x0]
[common sign][00]=[0xc9]
[common sign][01]=[0x21]
[common sign][30]=[0x2f]
[common sign][31]=[0x82]
[section sign][00]=[0x34]
[section sign][01]=[0x40]
[section sign][30]=[0x90]
[section sign][31]=[0x2]
[image_id=0x3c78961e][struct_version=0x0]]
[hash_alg=0x0][sign_alg=0x3f][sign_param=0x0]
[section_count=0x1]
[section0_compress=0x0][section0_offset=0x3c0][section0_len=0x5f60]
[section1_compress=0x0][section1_offset=0x0][section1_len=0x0]
-------------output/bin/Hi3861_wifiiot_app_flash_boot_ota.bin image info print end--------------
compress_ota_builder(["output/bin/Hi3861_wifiiot_app_ota.bin"], ["build/build_tmp/cache/Hi3861_wifiiot_app_ota_temp.bin"])
********************package compress upgrade file********************
compress upg file in: build/build_tmp/cache/Hi3861_wifiiot_app_ota_temp.bin
compress upg file out: output/bin/Hi3861_wifiiot_app_ota.bin
lzma compress tool : /home/openharmony/device/talkweb/niobe/sdk_liteos/build/scripts/../../tools/lzma_tool/lzma_tool
lzma src file : build/build_tmp/cache/Hi3861_wifiiot_app_ota_temp.bin
lzma out file : build/build_tmp/cache/Hi3861_wifiiot_app_ota_temp.lzma
LZMA 19.00 (x64) : Igor Pavlov : Public domain : 2019-02-21
Input size: 709456 (0 MiB)
 Output size: 443074 (0 MiB)
[upgbin-compressbin]0xad350-0x128000
[common_head_offset=0][common_head_size=96]
[common_key_offset=96][common_key_size=288]
[common_head_sign_offset=384][common_head_sign_size=256]
[section_head_offset=640][section_head_size=64]
[upg_file_sign_offset=704][upg_file_sign_size=256]
[padding_offset=444034][padding_size=14]
[upg fill user info]chip:b'Hi3861'
-------------output/bin/Hi3861_wifiiot_app_ota.bin image info print start-------------
[image_id=0x3c78961e][struct_version=0x0]]
[section_offset=0x280][section_len=0x6c410]
[file_type=0xf0][file_version=0x0][encrypt_flag=0x42]
[file_len=0x6c690][key_len=0x120]
[file_attr=0x44]
[hash_alg=0x0][sign_alg=0x3f][sign_param=0x0]
[aes_key[0-1-14-15]=[0x0][0x0][0x0][0x0]]
[aes_iv [0-1-14-15]=[0x0][0x0][0x0][0x0]]
[common key][00]=[0x0]
[common key][01]=[0x0]
[common key][30]=[0x0]
[common key][31]=[0x0]
[common sign][00]=[0x95]
[common sign][01]=[0xbd]
[common sign][30]=[0x26]
[common sign][31]=[0xd]
[section sign][00]=[0x8d]
[section sign][01]=[0x82]
[section sign][30]=[0xb]
[section sign][31]=[0x5d]
[image_id=0x3c78961e][struct_version=0x0]]
[hash_alg=0x0][sign_alg=0x3f][sign_param=0x0]
[section_count=0x1]
[section0_compress=0x1][section0_offset=0x3c0][section0_len=0x6c2c2]
[section1_compress=0x0][section1_offset=0x0][section1_len=0x0]
-------------output/bin/Hi3861_wifiiot_app_ota.bin image info print end--------------

< ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >
BUILD SUCCESS
< ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >


View File

@ -0,0 +1,14 @@
Building at 2021/10/07 06:26:20
----------------------------top-----------------
lib_name: uart
lib_name: adc
lib_name: tsensor
lib_name: i2c
lib_name: pwm
lib_name: cfg
lib_name: parttab
lib_name: upg
lib_name: at
lib_name: wifiiot_app
~~~~~~~~~~~~~~~~~~~~~~~~~~~~libpath: ['-L/home/openharmony/device/talkweb/niobe/sdk_liteos/build/scripts/../../../../../huawei/hms/hilink/ohos/l0/hi3861/lib/wifi', '-L/home/tools/gcc_riscv32/bin/../lib/gcc/riscv32-unknown-elf/7.3.0', '-Lbuild/build_tmp/libs/app/wifiiot_app', '-Lbuild/build_tmp/libs/components/at', '-Lbuild/build_tmp/libs/platform/drivers', '-Lbuild/build_tmp/libs/platform/system', '-Lbuild/build_tmp/scripts', '-Lbuild/libs', '-Lbuild/libs/hi3861/release/no_mesh', '-Lbuild/scripts', '-Lohos/libs']
~~~~~~~~~~~~~~~~~~~~~~~~~~~~libs: ['--no-whole-archive', '--whole-archive', '-lHwKeystoreSDK', '-ladc', '-lat', '-lauthmanager', '-lblackbox', '-lbootstrap', '-lbroadcast', '-lc_flash', '-lcfg', '-lcjson_static', '-lcmsis', '-lcpup', '-ldiag', '-ldiscovery', '-ldrv', '-ldump_static', '-lflash', '-lgcc', '-lgpio', '-lhal_file_static', '-lhal_iothardware', '-lhal_sysparam', '-lhal_token_static', '-lhal_update_static', '-lhal_wifiaware', '-lhelloworld', '-lhichainsdk', '-lhidumper_mini', '-lhievent_lite', '-lhilog_lite', '-lhiview_lite', '-lhota', '-li2c', '-lio', '-liperf', '-llitekernel_flash', '-lltoswpa', '-llwip', '-lm_flash', '-lmbedtls', '-lnative_file', '-lparttab', '-lposix', '-lpwm', '-lres_cfg', '-lsamgr', '-lsamgr_adapter', '-lsamgr_source', '-lsdio', '-lsec_flash', '-lspiffs', '-lsysparam', '-lsystem', '-ltoken_static', '-ltrans_service', '-ltsensor', '-luart', '-lupg', '-lutils_kv_store', '-lwifi', '-lwifi_flash', '-lwifiaware', '-lwifiiot_app', '-lwifiservice', '-lwpa']

Some files were not shown because too many files have changed in this diff Show More