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