arilink 发表于 2022-7-24 21:46

先楫半导体 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 &quot;gt911&quot;)<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=&quot;lv_app_conf.h&quot;)</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>&nbsp;&nbsp;&nbsp;&nbsp;</p>

<p>3.调整tinyusb的相关代码,usb模拟出2个串口&nbsp; 收到数据后交给屏幕刷新<br />
</p>

<p>4.lvgl显示内容与目标一致</p>

<p></p>

<p>5.后续就是调整UI 编写上位机发送数据更新屏幕了<br />
&nbsp;</p>

Jacktang 发表于 2022-7-26 07:21

<p>期待楼主调整UI 编写上位机,,</p>

freebsder 发表于 2022-7-27 18:46

<p>模拟器出来了代码可以直接交叉编译到目标板吗?</p>
页: [1]
查看完整版本: 先楫半导体 HPM6750测评 Step4 (FreeRTOS+TinyUSB+LVGL) 综合示例