提交 31abd741 编写于 作者: 蔡雪峰's avatar 蔡雪峰

[feature]增加二维码识别功能.

上级 6f32ff8a
流水线 #13178 已失败 ,包含阶段
in 0 second
......@@ -19,12 +19,22 @@ config CAPABILITY_SPD
select WEBUSB
default n
config CAPABILITY_QRCODE
bool "Enable qrcode"
select GCP
select GCL_COMP_RES
select GCS_SERVICE_QRCODE
select GCL_QRCODE
select GCL_WEBUSB
select WEBUSB
default n
if CAPABILITY_WAKEUP
config GCL_HEAP_SRAM_SIZE
default 40960
config GCL_HEAP_PSRAM_SIZE
default 81920
default 204800
config GCL_HEAP_SRAM_NOCACHE_SIZE
default 20480
......
......@@ -23,6 +23,7 @@
resource,wakeup_esr_main = &wakeup_esr_main_partition;
resource,wakeup_esr_cmds = &wakeup_esr_cmds_partition;
resource,wakeup_ai_wrap_conf = &wakeup_ai_wrap_conf_partition;
resource,qrcode_detect = &qrcode_detect_partition;
};
aliases {
spk-pa-mute = &spk_pa_mute;
......@@ -105,9 +106,14 @@
label = "id_nvs_storage";
reg = <0x931000 0x4000>;
};
qrcode_detect_partition: partition@935000 {
label = "qrcode_detect_partition";
reg = < 0x935000 0xc0000 >;
};
/* user storage partition */
storage_partition: partition@935000 {
reg = <0x935000 0x7CA000>;
storage_partition: partition@9F5000 {
reg = <0x9F5000 0x70A000>;
};
};
};
......
......@@ -80,6 +80,13 @@ app_generate_inc_file_for_target(
res_image_dependencies
)
app_generate_inc_file_for_target(
app
../resource/algo_resource/qrcode/qrcode_detect_res_thinker.bin
${gen_dir}/qrcode_detect_res_thinker.inc
res_image_dependencies
)
zephyr_linker_sources(SECTIONS custom-sections.ld)
target_sources(app PRIVATE ./dsp_resource.c)
......@@ -10,6 +10,7 @@ DT_CHOSEN_Z_FLASH_RES_WAKEUP_ESR_MLP := resource,wakeup_esr_mlp
DT_CHOSEN_Z_FLASH_RES_WAKEUP_ESR_MAIN := resource,wakeup_esr_main
DT_CHOSEN_Z_FLASH_RES_WAKEUP_ESR_CMDS := resource,wakeup_esr_cmds
DT_CHOSEN_Z_FLASH_RES_WAKEUP_AI_WRAP_CONF := resource,wakeup_ai_wrap_conf
DT_CHOSEN_Z_FLASH_RES_QRCODE_DETECT := resource,qrcode_detect
config FLASH_RES_IMAGE_ADDRESS
hex "second core firmware space start address"
......@@ -90,3 +91,12 @@ config FLASH_RES_WAKEUP_AI_WRAP_CONF_ADDRESS
config FLASH_RES_WAKEUP_AI_WRAP_CONF_SIZE
hex "Wakeup algorithm resource data space size"
default "$(dt_chosen_reg_size_hex,$(DT_CHOSEN_Z_FLASH_RES_WAKEUP_AI_WRAP_CONF))"
config FLASH_RES_QRCODE_DETECT_ADDRESS
hex "algorithm resource data space start address"
default "$(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_FLASH_RES_QRCODE_DETECT))"
config FLASH_RES_QRCODE_DETECT_SIZE
hex "algorithm resource data space size"
default "$(dt_chosen_reg_size_hex,$(DT_CHOSEN_Z_FLASH_RES_QRCODE_DETECT))"
......@@ -53,4 +53,11 @@ SECTION_PROLOGUE(RES_WAKEUP_AI_WRAP_CONFIG,,)
{
KEEP(*(".wakeup_ai_wrap_config.text"));
} GROUP_LINK_IN(RES_WAKEUP_AI_WRAP_CONFIG)
#endif
#if defined(CONFIG_CAPABILITY_QRCODE)
SECTION_PROLOGUE(RES_QRCODE_DETECT,,)
{
KEEP(*(".qrcode_detect_res_thinker.text"));
} GROUP_LINK_IN(RES_QRCODE_DETECT)
#endif
\ No newline at end of file
......@@ -49,4 +49,10 @@ __attribute__((section(".wakeup_ai_wrap_config.text"))) static const unsigned ch
#endif
#if defined(CONFIG_CAPABILITY_QRCODE)
__attribute__((section(".qrcode_detect_res_thinker.text"))) static const unsigned char qrcode_detect[] = {
#include "qrcode_detect_res_thinker.inc"
};
#endif
#pragma GCC pop_options
......@@ -40,6 +40,10 @@ MEMORY
RES_WAKEUP_ESR_CMDS (r) : ORIGIN = (CONFIG_FLASH_BASE_ADDRESS + CONFIG_FLASH_RES_WAKEUP_ESR_CMDS_ADDRESS), LENGTH = CONFIG_FLASH_RES_WAKEUP_ESR_CMDS_SIZE
RES_WAKEUP_AI_WRAP_CONFIG (r) : ORIGIN = (CONFIG_FLASH_BASE_ADDRESS + CONFIG_FLASH_RES_WAKEUP_AI_WRAP_CONF_ADDRESS), LENGTH = CONFIG_FLASH_RES_WAKEUP_AI_WRAP_CONF_SIZE
#endif
#if defined(CONFIG_CAPABILITY_QRCODE)
RES_QRCODE_DETECT (r) : ORIGIN = (CONFIG_FLASH_BASE_ADDRESS + CONFIG_FLASH_RES_QRCODE_DETECT_ADDRESS), LENGTH = CONFIG_FLASH_RES_QRCODE_DETECT_SIZE
#endif
}
#include <linker.ld>
......@@ -71,12 +71,14 @@ CONFIG_FLASH_MAP=y
CONFIG_FILE_SYSTEM=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FILE_SYSTEM_LITTLEFS=y
CONFIG_APLICATION_PACK_IMAGES=y
CONFIG_APLICATION_PACK_IMAGES=n
CONFIG_GCP=y
CONFIG_DISK_MEMORY=n
CONFIG_CAPABILITY_WAKEUP=y
CONFIG_CAPABILITY_QRCODE=y
CONFIG_WEBUSB_DEBUG=y
CONFIG_DISK_MEMORY=n
CONFIG_GCS_WAKEUP_SERVICE_EVENT_STACK_SIZE=4096
......@@ -84,6 +86,17 @@ CONFIG_GCS_WAKEUP_SERVICE_EVENT_STACK_SIZE=4096
CONFIG_GPIO=y
CONFIG_GPIO_CSK6_CH32V003=y
# dvp
CONFIG_I2C=y
CONFIG_VIDEO=y
CONFIG_VIDEO_CSK6_DVP=y
CONFIG_VIDEO_GC0328=y
CONFIG_VIDEO_BUFFER_POOL_SZ_MAX=154000
CONFIG_VIDEO_BUFFER_POOL_NUM_MAX=3
CONFIG_VIDEO_CUSTOM_SECTION=y
CONFIG_VIDEO_CUSTOM_SECTION_NAME=".psram_section"
# auth check
CONFIG_MBEDTLS=y
CONFIG_MBEDTLS_BUILTIN=y
......
文件已添加
无法预览此类型文件
......@@ -63,6 +63,13 @@ int components_resource_load(void)
#endif
#if CONFIG_CAPABILITY_QRCODE
res_mgr->item[res_mgr->number].res_type = COMP_RES_GCL_IPC_QRCODE_DETECT;
res_mgr->item[res_mgr->number].res_addr = DT_RES_ADDR(resource_qrcode_detect);
res_mgr->item[res_mgr->number].res_size = DT_RES_SIZE(resource_qrcode_detect);
res_mgr->number++;
#endif
gcl_comps_res_load(res_mgr);
csk_free(res_mgr);
......
......@@ -20,6 +20,8 @@ LOG_MODULE_REGISTER(aiui_sample, LOG_LEVEL_INF);
#include "lsf.h"
#include "ic_message.h"
#include <gcs_wakeup_service.h>
#include <gcs_qrcode_service.h>
#include "gcl_webusb.h"
#include "format.h"
#include "resource.h"
#include "ui_events.h"
......@@ -210,7 +212,9 @@ int main(void)
{
boot_cp((const void *)CP_BOOT_ADDRESS);
#if CONFIG_GCL_WEBUSB
webusb_gcl_init();
#endif
ic_message_init();
#if (CONFIG_GCL_COMP_RES)
components_resource_load();
......@@ -238,7 +242,16 @@ int main(void)
}
wakeup_service_gcs_stream_data_callback(wakeup_stream_data_process);
wakeup_service_gcs_rlt_callback(wakeup_rlt_process);
wakeup_service_gcs_start();
// wakeup_service_gcs_start();
qrcode_service_gcs_params_t params;
qrcode_service_gcs_init();
qrcode_service_gcs_params_get(&params);
qrcode_service_gcs_params_set(&params);
// qrcode_service_gcs_rlt_callback(qrcode_rlt_process);
qrcode_service_gcs_work_mode_set(QRCODE_GCS_WORK_MODE_DEBUG);
qrcode_service_gcs_start();
k_sem_give(&m_algos_initialized);
......
......@@ -11,6 +11,16 @@ config CAPABILITY_SPD
select WEBUSB
default n
config CAPABILITY_QRCODE
bool "Enable QRCODE"
select GCP
select GCL_COMP_RES
select GCS_SERVICE_QRCODE
select GCL_QRCODE
select GCL_WEBUSB
select WEBUSB
default n
if CAPABILITY_SPD
config GCL_HEAP_SRAM_SIZE
default 40960
......
......@@ -47,5 +47,6 @@ CONFIG_FLASH_MAP=y
CONFIG_APLICATION_PACK_IMAGES=y
CONFIG_CAPABILITY_SPD=y
CONFIG_CAPABILITY_QRCODE=y
CONFIG_WEBUSB_DEBUG=y
CONFIG_DISK_MEMORY=n
......@@ -27,7 +27,7 @@ manifest:
- name: lsf-for-zephyr
remote: lsf
revision: a4acde8eb36a3badd17cb06ebf1a366d1ed33c33
revision: 60e7a76892c0fbe513c49e3ebbcff6f452424a3b
path: modules/lib/lsf-for-zephyr
- name: transport
......@@ -43,7 +43,7 @@ manifest:
- name: lsf
remote: lsf
revision: efc3baa36f840a3426152800016c864efefa607e
revision: 342d860ed04ffc63dcccf6c7d0eb090aea95c4a3
path: modules/lib/lsf
- name: urpc
......
支持 Markdown
0% or
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册