Files
luban-lite-t3e-pro/doc/topics/sdk/bringup/lite-bringup-samples.html
2025-01-23 16:37:00 +08:00

341 lines
32 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn" data-whc_version="26.0">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="description" content="LVGL Demo 如需运行 LVGL demo 可在 Luban-Lite 系统 RT-Thread 配置中执行 me 命令打开配置界面,具体步骤如下: 进入 Application options &gt; Filesystem related &gt; Using File System Image 0 &gt; Select File System Type (FATFS) &gt; Data ..."/><meta name="DC.rights.owner" content="(C) 版权 2025"/><meta name="copyright" content="(C) 版权 2025"/><meta name="generator" content="DITA-OT"/><meta name="DC.type" content="topic"/><meta name="DC.relation" content="../../../topics/sdk/bringup/chapter-bringup.html"/><meta name="DC.relation" content="../../../topics/sdk/bringup/lite-bringup-display.html"/><meta name="DC.relation" content="../../../topics/sdk/chapter-advanced-app.html"/><meta name="DC.contributor" content="yan.wang"/><meta name="DC.contributor" content="yan.wang"/><meta name="DC.date.modified" content="2024-01-15"/><meta name="DC.format" content="HTML5"/><meta name="DC.identifier" content="id"/><meta name="DC.language" content="zh-CN"/><title>示例程序</title><!-- Build number 2023110923. --><meta name="wh-path2root" content="../../../"/><meta name="wh-toc-id" content="id-d5856e2333"/><meta name="wh-source-relpath" content="topics/sdk/bringup/lite-bringup-samples.dita"/><meta name="wh-out-relpath" content="topics/sdk/bringup/lite-bringup-samples.html"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/commons.css?buildId=2023110923"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/topic.css?buildId=2023110923"/>
<script src="../../../webhelp/app/options/properties.js?buildId=20250121171154"></script>
<script src="../../../webhelp/app/localization/strings.js?buildId=2023110923"></script>
<script src="../../../webhelp/app/search/index/keywords.js?buildId=20250121171154"></script>
<script defer="defer" src="../../../webhelp/app/commons.js?buildId=2023110923"></script>
<script defer="defer" src="../../../webhelp/app/topic.js?buildId=2023110923"></script>
<link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-styles-web.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/notes.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-common.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-images.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/footnote.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-web-watermark.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/topic-body-list.css?buildId=2023110923"/></head>
<body id="id" class="wh_topic_page frmBody">
<a href="#wh_topic_body" class="sr-only sr-only-focusable">
跳转到主要内容
</a>
<header class="navbar navbar-default wh_header">
<div class="container-fluid">
<div class="wh_header_flex_container navbar-nav navbar-expand-md navbar-dark">
<div class="wh_logo_and_publication_title_container">
<div class="wh_logo_and_publication_title">
<a href="http://www.artinchip.com" class=" wh_logo d-none d-sm-block "><img src="../../../company-logo-white.png" alt="RTOS SDK 使用指南SDK 指南文件"/></a>
<div class=" wh_publication_title "><a href="../../../index.html"><span class="booktitle"><span class="ph mainbooktitle">RTOS SDK 使用指南</span><span class="ph booktitlealt">SDK 指南文件</span></span></a></div>
</div>
</div>
<div class="wh_top_menu_and_indexterms_link collapse navbar-collapse" id="wh_top_menu_and_indexterms_link">
</div>
</div>
</div>
</header>
<div class=" wh_search_input navbar-form wh_topic_page_search search " role="form">
<form id="searchForm" method="get" role="search" action="../../../search.html"><div><input type="search" placeholder="搜索 " class="wh_search_textfield" id="textToSearch" name="searchQuery" aria-label="搜索查询" required="required"/><button type="submit" class="wh_search_button" aria-label="搜索"><span class="search_input_text">搜索</span></button></div></form>
</div>
<div class="container-fluid" id="wh_topic_container">
<div class="row">
<nav class="wh_tools d-print-none navbar-expand-md" aria-label="Tools">
<div data-tooltip-position="bottom" class=" wh_breadcrumb "><ol class="d-print-none"><li><span class="home"><a href="../../../index.html"><span>主页</span></a></span></li><li><div class="topicref" data-id="id"><div class="title"><a href="../../../topics/sdk/bringup/chapter-bringup.html">BringUp</a><div class="wh-tooltip"><p class="shortdesc">在硬件上电后快速初始化系统,为操作系统的启动准备好必要的硬件环境。</p></div></div></div></li><li class="active"><div class="topicref" data-id="id"><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-samples.html">示例程序</a></div></div></li></ol></div>
<div class="wh_right_tools">
<button class="wh_hide_highlight" aria-label="切换搜索突出显示" title="切换搜索突出显示"></button>
<button class="webhelp_expand_collapse_sections" data-next-state="collapsed" aria-label="折叠截面" title="折叠截面"></button>
<div class=" wh_navigation_links "><span id="topic_navigation_links" class="navheader">
<span class="navprev"><a class="- topic/link link" href="../../../topics/sdk/bringup/lite-bringup-display.html" title="屏幕配置" aria-label="上一主题: 屏幕配置" rel="prev"></a></span>
<span class="navnext"><a class="- topic/link link" href="../../../topics/sdk/chapter-advanced-app.html" title="高级应用" aria-label="下一主题: 高级应用" rel="next"></a></span> </span></div>
<div class=" wh_print_link print d-none d-md-inline-block "><button onClick="window.print()" title="打印此页" aria-label="打印此页"></button></div>
<button type="button" id="wh_toc_button" class="custom-toggler navbar-toggler collapsed wh_toggle_button navbar-light" aria-expanded="false" aria-label="Toggle publishing table of content" aria-controls="wh_publication_toc">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</nav>
</div>
<div class="wh_content_area">
<div class="row">
<nav id="wh_publication_toc" class="col-lg-3 col-md-3 col-sm-12 d-md-block d-none d-print-none" aria-label="Table of Contents Container">
<div id="wh_publication_toc_content">
<div class=" wh_publication_toc " data-tooltip-position="right"><span class="expand-button-action-labels"><span id="button-expand-action" role="button" aria-label="Expand"></span><span id="button-collapse-action" role="button" aria-label="Collapse"></span><span id="button-pending-action" role="button" aria-label="Pending"></span></span><ul role="tree" aria-label="Table of Contents"><li role="treeitem"><div data-tocid="revinfo_linux-d5856e989" class="topicref" data-id="revinfo_linux" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/revinfo/revinfo_rtos.html" id="revinfo_linux-d5856e989-link">修订记录</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d5856e1003" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d5856e1003-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/env/sdk-compile.html" id="id-d5856e1003-link">SDK 编译</a><div class="wh-tooltip"><p class="shortdesc">介绍不同编译环境下 SDK 的详细编译流程。</p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d5856e1152" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d5856e1152-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/advanced/sdk-usage.html" id="id-d5856e1152-link">使用指南</a><div class="wh-tooltip"><p class="shortdesc">系统镜像、编译选项、开发板、应用等相关的详细使用说明。</p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_rcx_czh_pzb-d5856e1416" class="topicref" data-id="concept_rcx_czh_pzb" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_rcx_czh_pzb-d5856e1416-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/chapter-app.html" id="concept_rcx_czh_pzb-d5856e1416-link">应用场景</a><div class="wh-tooltip"><p class="shortdesc">描述了 SDK 在不同应用场景中的配置和使用包括系统更新、OTA、安全方案等。</p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d5856e2119" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d5856e2119-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/peripheral/peripheral-intro.html" id="id-d5856e2119-link">外设移植</a><div class="wh-tooltip"><p class="shortdesc"><span class="ph">CTP、U 盘、SD 卡、有线和无线网络</span>等外设的介绍和使用说明。</p></div></div></div></li><li role="treeitem" aria-expanded="true"><div data-tocid="id-d5856e2244" class="topicref" data-id="id" data-state="expanded"><span role="button" tabindex="0" aria-labelledby="button-collapse-action id-d5856e2244-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/chapter-bringup.html" id="id-d5856e2244-link">BringUp</a><div class="wh-tooltip"><p class="shortdesc">在硬件上电后快速初始化系统,为操作系统的启动准备好必要的硬件环境。</p></div></div></div><ul role="group" class="navbar-nav nav-list"><li role="treeitem"><div data-tocid="id-d5856e2259" class="topicref" data-id="id" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-prepare.html" id="id-d5856e2259-link">准备工作</a></div></div></li><li role="treeitem"><div data-tocid="id-d5856e2273" class="topicref" data-id="id" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-soc.html" id="id-d5856e2273-link">引脚配置</a></div></div></li><li role="treeitem"><div data-tocid="id-d5856e2285" class="topicref" data-id="id" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-ram.html" id="id-d5856e2285-link">内存配置</a></div></div></li><li role="treeitem"><div data-tocid="id-d5856e2297" class="topicref" data-id="id" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-storage.html" id="id-d5856e2297-link">存储配置</a></div></div></li><li role="treeitem"><div data-tocid="id-d5856e2309" class="topicref" data-id="id" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-console.html" id="id-d5856e2309-link">调试配置</a></div></div></li><li role="treeitem"><div data-tocid="id-d5856e2321" class="topicref" data-id="id" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display.html" id="id-d5856e2321-link">屏幕配置</a></div></div></li><li role="treeitem" class="active"><div data-tocid="id-d5856e2333" class="topicref" data-id="id" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-samples.html" id="id-d5856e2333-link">示例程序</a></div></div></li></ul></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d5856e2345" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d5856e2345-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/chapter-advanced-app.html" id="id-d5856e2345-link">高级应用</a><div class="wh-tooltip"><p class="shortdesc">系统、存储、多媒体、接口、安全等模块的详细配置和设计说明。</p></div></div></div></li></ul></div>
</div>
</nav>
<div class="col-lg-7 col-md-9 col-sm-12" id="wh_topic_body">
<button id="wh_close_publication_toc_button" class="close-toc-button d-none" aria-label="Toggle publishing table of content" aria-controls="wh_publication_toc" aria-expanded="true">
<span class="close-toc-icon-container">
<span class="close-toc-icon"></span>
</span>
</button>
<button id="wh_close_topic_toc_button" class="close-toc-button d-none" aria-label="Toggle topic table of content" aria-controls="wh_topic_toc" aria-expanded="true">
<span class="close-toc-icon-container">
<span class="close-toc-icon"></span>
</span>
</button>
<div class=" wh_topic_content body "><main role="main"><article class="- topic/topic topic" role="article" aria-labelledby="ariaid-title1"><span class="edit-link" style="font-size:12px; opacity:0.6; text-align:right; vertical-align:middle"><a target="_blank" href="http://172.16.35.88/tasks/jdssno1uvvbf2mltu9kb9v3if05d5gopuakboe8hlud18rma/edit/F:/aicdita/aicdita-cn/topics/sdk/bringup/lite-bringup-samples.dita">Edit online</a></span><h1 class="- topic/title title topictitle1" id="ariaid-title1">示例程序</h1><div class="date inPage">15 Jan 2024</div><div style="color: gray;">
Read time: 5 minute(s)
</div><div class="- topic/body body"><section class="- topic/section section" id="id__section_zpj_5zb_bdc" data-ofbid="id__section_zpj_5zb_bdc"><h2 class="- topic/title title sectiontitle">LVGL Demo</h2>
<div class="- topic/p p" data-ofbid="d128870e24__20250121171604">如需运行 LVGL demo 可在 <span class="- topic/ph ph">Luban-Lite</span> 系统 RT-Thread 配置中执行 <span class="+ topic/keyword sw-d/cmdname keyword cmdname">me</span> 命令打开配置界面,具体步骤如下:<ol class="- topic/ol ol" data-ofbid="d128870e32__20250121171604"><li class="- topic/li li" data-ofbid="d128870e33__20250121171604">
<p class="- topic/p p" data-ofbid="d128870e35__20250121171604">进入<span class="+ topic/ph ui-d/menucascade ph menucascade"><span class="+ topic/ph ui-d/uicontrol ph uicontrol">Application options</span><abbr> &gt; </abbr><span class="+ topic/ph ui-d/uicontrol ph uicontrol">Filesystem related</span><abbr> &gt; </abbr><span class="+ topic/ph ui-d/uicontrol ph uicontrol"> Using File System Image 0</span><abbr> &gt; </abbr><span class="+ topic/ph ui-d/uicontrol ph uicontrol"> Select File System Type (FATFS) </span><abbr> &gt; </abbr><span class="+ topic/ph ui-d/uicontrol ph uicontrol">Data Directory</span></span>,将路径设置为对应的 demo 资源文件所在目录。例如:</p>
<ul class="- topic/ul ul" data-ofbid="d128870e50__20250121171604"><li class="- topic/li li" data-ofbid="d128870e51__20250121171604">使用 <span class="+ topic/ph sw-d/filepath ph filepath">lvgl_demo_basic_function</span> 时,路径为
<span class="+ topic/ph sw-d/filepath ph filepath">packages/artinchip/lvgl-ui/aic_demo/base_demo/lvgl_src/</span></li><li class="- topic/li li" data-ofbid="d128870e58__20250121171604">使用 <span class="+ topic/ph sw-d/filepath ph filepath">lvgl_demo_meter</span>
时,路径为<span class="+ topic/ph sw-d/filepath ph filepath">packages/artinchip/lvgl-ui/aic_demo/meter_demo/lvgl_src/</span></li></ul>
</li><li class="- topic/li li" data-ofbid="d128870e66__20250121171604">
<p class="- topic/p p" data-ofbid="d128870e68__20250121171604"><span class="+ topic/ph ui-d/uicontrol ph uicontrol">LVGL (official)</span> 选项卡中,设置线程优先级、栈大小和显示刷新周期等参数。</p>
</li><li class="- topic/li li" data-ofbid="d128870e74__20250121171604">
<p class="- topic/p p" data-ofbid="d128870e76__20250121171604"><span class="+ topic/ph ui-d/uicontrol ph uicontrol">ArtInChip lvgl demo</span> 选项卡中,选择要使用的 demo
应用,并设置颜色深度和图像缓存数量。</p>
<p class="- topic/p p" data-ofbid="d128870e82__20250121171604"><span class="+ topic/ph ui-d/uicontrol ph uicontrol">ArtInChip lvgl demo</span> 中,如果选择了不同的 demo 应用,则需要对应调整
<span class="+ topic/ph ui-d/uicontrol ph uicontrol"> Using File System Image 0</span> 中的 <span class="+ topic/ph ui-d/uicontrol ph uicontrol">Data
Directory</span> 路径,否则会导致无法找到资源文件,显示出现白屏。</p>
</li><li class="- topic/li li" data-ofbid="d128870e94__20250121171604">
<p class="- topic/p p" data-ofbid="d128870e96__20250121171604">设置 <span class="+ topic/ph ui-d/uicontrol ph uicontrol">LVGL Resource Directory</span>
<span class="+ topic/ph sw-d/filepath ph filepath">(/rodata/lvgl_data)</span></p>
</li><li class="- topic/li li" data-ofbid="d128870e107__20250121171604">保存设置并退出配置界面。</li><li class="- topic/li li" data-ofbid="d128870e109__20250121171604">编译并烧录程序到开发板。<p class="- topic/p p" data-ofbid="d128870e111__20250121171604">完成操作后,即可运行所选的 <span class="+ topic/ph sw-d/filepath ph filepath">LVGL demo</span></p></li></ol></div>
<div class="- topic/p p" data-ofbid="d128870e117__20250121171604">配置代码示例如下:<div class="- topic/note note note note_note" data-ofbid="d128870e119__20250121171604"><span class="note__title">注:</span> 每个参数的含义详见<a class="- topic/xref xref" href="../lvgl/lvgl_introduction.html">LVGL 使用指南</a></div><pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="id__pre_i2f_vzb_bdc" data-ofbid="id__pre_i2f_vzb_bdc">Application options ---&gt;
*** Filesystem related ***
[*] Using File System Image <span class="hl-number">0</span> ---&gt;
--- Using File System Image <span class="hl-number">0</span>
Select File System Type (FATFS) ---&gt;
(packages/artinchip/lvgl-ui/aic_demo/base_demo/lvgl_src/) Data Directory
(app.fatfs) Image Name
[*] <strong class="hl-keyword">auto</strong> calcuate image size
[ ] Using File System Image <span class="hl-number">1</span> ----
*** lvgl demo select related ***
-*- LVGL (official): powerful and easy-to-use embedded GUI library ---&gt;
(<span class="hl-number">20</span>) Priority of LVGL thread
(<span class="hl-number">32768</span>) Stack size of LVGL thread
(<span class="hl-number">5</span>) Display refresh period (ms)
[ ] Support SquareLine Studio
[ ] Enable built-in examples
[ ] Enable built-in demos
-*- ArtInChip lvgl demo
select lvgl demo (lvgl demo with basic function) ---&gt;
(X) lvgl demo with basic function
() lvgl demo of meter
(<span class="hl-number">16</span>) LVGL color depth(<span class="hl-number">32</span>/<span class="hl-number">16</span>)
(<span class="hl-number">8</span>) LVGL image cached number
(/rodata/lvgl_data) LVGL Resource Directory
</pre></div>
<p class="- topic/p p" data-ofbid="d128870e128__20250121171604">界面运行示例如下所示:</p>
<br/><div class="imagecenter"><img class="- topic/image image imagecenter" id="id__image_aqz_vzb_bdc" src="../../../images/bringup/test-lvgl.png" width="576" alt="test-lvgl"/></div><br/>
</section><section class="- topic/section section" id="id__section_bhj_wzb_bdc" data-ofbid="id__section_bhj_wzb_bdc"><h2 class="- topic/title title sectiontitle">用户自定义 APP</h2>
<p class="- topic/p p" data-ofbid="d128870e146__20250121171604">本节演示添加一个名为 <span class="+ topic/ph sw-d/filepath ph filepath">test_demo</span> 的 LVGL 应用,详见中的<a class="- topic/xref xref" href="../lvgl/lvgl_introduction.html">LVGL 使用指南</a></p>
<ol class="- topic/ol ol" data-ofbid="d128870e156__20250121171604"><li class="- topic/li li" data-ofbid="d128870e157__20250121171604"><strong class="+ topic/ph hi-d/b ph b">添加 APP 选项</strong><div class="- topic/p p" data-ofbid="d128870e160__20250121171604"><span class="+ topic/ph sw-d/filepath ph filepath">application/Kconfig</span>
中,添加下列代码:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" data-ofbid="d128870e165__20250121171604">config AIC_LVGL_METER_DEMO
bool <span class="hl-string">"LVGL demo of meter"</span>
config AIC_LVGL_TEST_DEMO # 添 加 AIC_LVGL_TEST_DEMO 以 便 在 menuconfig␣菜 单 中 选 择
bool <span class="hl-string">"LVGL demo of test"</span>
config AIC_LVGL_LAUNCHER_DEMO
bool <span class="hl-string">"LVGL launcher demo"</span></pre></div></li><li class="- topic/li li" data-ofbid="d128870e167__20250121171604"><strong class="+ topic/ph hi-d/b ph b">配置 APP</strong><div class="- topic/p p" data-ofbid="d128870e170__20250121171604">使用 me 命令进入配置界面,在 Application options 中选择
AIC_LVGL_TEST_DEMO并保存配置。<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" data-ofbid="d128870e172__20250121171604">Application options ---&gt;
[*] ArtInChip LVGL demo ---&gt;
select LVGL demo (LVGL demo of test) ---&gt;
( ) LVGL demo with basic function
( ) LVGL demo of meter
(X) LVGL demo of test
( ) LVGL launcher demo</pre></div></li><li class="- topic/li li" data-ofbid="d128870e174__20250121171604"><strong class="+ topic/ph hi-d/b ph b">配置素材路径</strong><pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" data-ofbid="d128870e177__20250121171604">Application options ---&gt;
[*] Using File System Image <span class="hl-number">0</span>
(packages/artinchip/lvgl-ui/aic_demo/test_demo/lvgl_src/) Data Directory 该路径以 SDK 为根目录 ,根据实际情况自行修改
[*] Using File System Image <span class="hl-number">1</span>
(packages/artinchip/lvgl-ui/aic_demo/test_demo/lvgl_src/) Data Directory 该路径以 SDK 为根目录 ,根据实际情况自行修改
</pre></li><li class="- topic/li li" data-ofbid="d128870e179__20250121171604"><strong class="+ topic/ph hi-d/b ph b">源码适配</strong><ol class="- topic/ol ol" type="a" data-ofbid="d128870e182__20250121171604"><li class="- topic/li li" data-ofbid="d128870e183__20250121171604">
<div class="- topic/p p" data-ofbid="d128870e185__20250121171604">将源码解压缩至 <span class="+ topic/ph sw-d/filepath ph filepath">packages/artinchip/lvgl-ui/aic_demo</span>
目录下,文件结构为:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="id__codeblock_dss_pt5_hdc" data-ofbid="id__codeblock_dss_pt5_hdc">tree -h</pre><pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="id__codeblock_ohz_vwr_5dc" data-ofbid="id__codeblock_ohz_vwr_5dc">.
└── [<span class="hl-number">4.0</span>K] test_demo
├── [<span class="hl-number">4.0</span>K] lvgl_src
│ └── [ <span class="hl-number">0</span>] readme.txt # 该文件用于验证资源打包,本身为空文件
├── [ <span class="hl-number">571</span>] SConscript
├── [<span class="hl-number">4.0</span>K] thread
│ ├── [<span class="hl-number">1.0</span>K] test_thread.c
│ └── [ <span class="hl-number">211</span>] test_thread.h
└── [<span class="hl-number">4.0</span>K] ui
├── [<span class="hl-number">1.3</span>K] test_ui.c
└── [ <span class="hl-number">228</span>] test_ui.h</pre></div>
</li><li class="- topic/li li" data-ofbid="d128870e195__20250121171604">
<div class="- topic/p p" data-ofbid="d128870e197__20250121171604">根据实际项目路径,修改 test_demo 中的 SConscript
文件。<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" data-ofbid="d128870e199__20250121171604">from building import *
import os
cwd = GetCurrentDir()
group = []
src = Glob(<span class="hl-string">'*.c'</span>)
# 源文件路径
src += Glob(<span class="hl-string">'./ui/*.c'</span>)
src += Glob(<span class="hl-string">'./thread/*.c'</span>)
CPPPATH = [cwd]
# 头文件路径
CPPPATH.append(cwd + <span class="hl-string">'./ui'</span>)
CPPPATH.append(cwd + <span class="hl-string">'./thread'</span>)
list = os.listdir(cwd)
<strong class="hl-keyword">for</strong> d in list:
path = os.path.join(cwd, d)
<strong class="hl-keyword">if</strong> os.path.isfile(os.path.join(path, <span class="hl-string">'SConscript'</span>)):
group = group + SConscript(os.path.join(d, <span class="hl-string">'SConscript'</span>))
# AIC_LVGL_TEST_DEMO 宏需要与 application/Kconfig 中添加的宏一致
group = group + DefineGroup(<span class="hl-string">'LVGL-port'</span>, src, depend = [<span class="hl-string">'AIC_LVGL_TEST_DEMO'</span>], CPPPATH = CPPPATH)
Return(<span class="hl-string">'group'</span>)</pre></div>
</li><li class="- topic/li li" data-ofbid="d128870e202__20250121171604">
<p class="- topic/p p" data-ofbid="d128870e204__20250121171604">增加入口函数,<strong class="+ topic/ph hi-d/b ph b">接入 UI 功能</strong></p>
<p class="- topic/p p" data-ofbid="d128870e210__20250121171604"><span class="- topic/ph ph">Luban-Lite</span> SDK 中,已经融合了 LVGL-8.3.2,并与 AIC
芯片硬件接口、加速模块、触控等进行了对接,用户仅需接入 UI 部分的功能即可。</p>
<div class="- topic/p p" data-ofbid="d128870e215__20250121171604"><span class="+ topic/ph sw-d/filepath ph filepath">packages/artinchip/lvgl-ui/aic_ui.c</span>
中,添加以下代码:<div class="- topic/note note note note_note" id="id__note_xbr_st5_hdc" data-ofbid="id__note_xbr_st5_hdc"><span class="note__title">注:</span>
<p class="- topic/p p" data-ofbid="d128870e224__20250121171604">Bringup 时不建议调整,使用运行默认程序即可。</p>
</div><pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" data-ofbid="d128870e228__20250121171604"><strong class="hl-keyword">void</strong> aic_ui_init()
{
#ifdef AIC_LVGL_BASE_DEMO
#include <span class="hl-string">"base_ui.h"</span>
base_ui_init();
#endif
#ifdef AIC_LVGL_METER_DEMO
#include <span class="hl-string">"meter_ui.h"</span>
meter_ui_init();
#endif
#ifdef AIC_LVGL_LAUNCHER_DEMO
<strong class="hl-keyword">extern</strong> <strong class="hl-keyword">void</strong> launcher_ui_init();
launcher_ui_init();
#endif
#ifdef AIC_LVGL_MUSIC_DEMO
<strong class="hl-keyword">extern</strong> <strong class="hl-keyword">void</strong> lv_demo_music(<strong class="hl-keyword">void</strong>);
lv_demo_music();
#endif
#ifdef AIC_LVGL_TEST_DEMO
test_thread();
test_ui_init();
#endif
<strong class="hl-keyword">return</strong>;
}</pre></div>
</li></ol></li></ol>
</section></div></article></main></div>
</div>
<nav role="navigation" id="wh_topic_toc" aria-label="On this page" class="col-lg-2 d-none d-lg-block navbar d-print-none">
<div id="wh_topic_toc_content">
<div class=" wh_topic_toc "><div class="wh_topic_label">在本页上</div><ul><li class="section-item"><div class="section-title"><a href="#id__section_zpj_5zb_bdc" data-tocid="id__section_zpj_5zb_bdc">LVGL Demo</a></div></li><li class="section-item"><div class="section-title"><a href="#id__section_bhj_wzb_bdc" data-tocid="id__section_bhj_wzb_bdc">用户自定义 APP</a></div></li></ul></div>
</div>
</nav>
</div>
</div>
</div>
<footer class="navbar navbar-default wh_footer">
<div class=" footer-container mx-auto ">
<title>footer def</title>
<style><!--
.p1 {
font-family: FangZhengShuSong, Times, serif;
}
.p2 {
font-family: Arial, Helvetica, sans-serif;
}
.p3 {
font-family: "Lucida Console", "Courier New", monospace;
}
--></style>
<div class="webhelp.fragment.footer">
<p class="p1">Copyright © 2019-2024 广东匠芯创科技有限公司. All rights reserved.</p>
</div><div>
<div class="generation_time">
Update Time: 2025-01-21
</div>
</div>
</div>
</footer>
<div id="go2top" class="d-print-none">
<span class="oxy-icon oxy-icon-up"></span>
</div>
<div id="modal_img_large" class="modal">
<span class="close oxy-icon oxy-icon-remove"></span>
<div id="modal_img_container"></div>
<div id="caption"></div>
</div>
<script src="${pd}/publishing/publishing-styles-AIC-template/js/custom.js" defer="defer"></script>
</body>
</html>