先楫半导体 HPM6750测评 Step4 (FreeRTOS+TinyUSB+LVGL) 综合示例
[复制链接]
0.由于在RT-Thread Studio上的lvgl示例的基础上增加TinyUSB组件有冲突,所以本次使用FreeRTOS进行开发
1.首先在\hpm_sdk\samples\littlevgl\lv_demo_widgets的基础上调整CMakeLists.txt以增加tinyusb 和freertos的相关配置
# Copyright 2021 hpmicro
# SPDX-License-Identifier: BSD-3-Clause
cmake_minimum_required(VERSION 3.13)
set(CONFIG_LVGL 1)
if(NOT DEFINED CONFIG_TOUCH)
set(CONFIG_TOUCH "gt911")
endif()
set(CONFIG_HPM_TOUCH 1)
set(CONFIG_LV_INDEV 1)
set(CONFIG_LV_DEMO lv_demo_widgets)
set(CONFIG_TINYUSB 1)
set(CONFIG_USB_DEVICE 1)
set(CONFIG_FREERTOS 1)
#set(CUSTOM_LINKER_FILE $ENV{HPM_SDK_BASE}/samples/littlevgl/linkers/gcc/lvgl.ld)
find_package(hpm-sdk REQUIRED HINTS $ENV{HPM_SDK_BASE})
sdk_compile_definitions(-DCFG_TUSB_MCU=OPT_MCU_HPM)
sdk_compile_definitions(-DUSB_HOST_MCU_CORE=HPM_CORE0)
#sdk_compile_definitions(-DCFG_TUSB_OS=OPT_OS_FREERTOS)
project(lvgl+tinyusb)
sdk_compile_definitions(-DINIT_EXT_RAM_FOR_DATA=1)
sdk_compile_definitions(-DCONFIG_LV_HAS_EXTRA_CONFIG="lv_app_conf.h")
sdk_inc(inc)
sdk_compile_definitions(-D__freertos_irq_stack_top=_stack)
sdk_compile_definitions(-DCONFIG_FREERTOS=1)
sdk_compile_definitions(-DUSE_NONVECTOR_MODE=1)
sdk_compile_definitions(-DDISABLE_IRQ_PREEMPTIVE=1)
sdk_app_src(src/lvgl_task.c)
sdk_app_src(src/usb_task.c)
sdk_app_src(src/usb_descriptors.c)
sdk_app_src(src/main.c)
generate_ses_project()
2.在lvgl的模拟器上添加想要显示的内容
3.调整tinyusb的相关代码,usb模拟出2个串口 收到数据后交给屏幕刷新
4.lvgl显示内容与目标一致
5.后续就是调整UI 编写上位机发送数据更新屏幕了
|