Files
luban-lite/doc/topics/sdk/bringup/lite-bringup-display_rgb.html
刘可亮 11c97ef399 v1.2.1
2025-07-22 11:15:46 +08:00

422 lines
49 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.1">
<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="RGB 屏幕(无需初始化) 对于无需初始化的 RGB 屏幕,使用 ``simple-panel`` 驱动,在 menuconfig 界面中配置屏幕规格书中的时序和规格参数即可。具体流程如下所示: 在 Luban-Lite 根目录下执行 me ,进入 menuconfig 的功能配置界面。 选择显示接口 Display RGB interface Board options ---&gt; [*] ..."/><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/lite-bringup-display.html"/><meta name="DC.relation" content="../../../topics/sdk/bringup/lite-bringup-display.html"/><meta name="DC.relation" content="../../../topics/sdk/bringup/lite-bringup-display_lvds.html"/><meta name="DC.contributor" content="yan.wang"/><meta name="DC.contributor" content="yan.wang"/><meta name="DC.date.modified" content="2025-05-16"/><meta name="DC.format" content="HTML5"/><meta name="DC.identifier" content="section_etw_v5b_bdc"/><title>RGB</title><!-- Generated with build number 2025051600. --><meta name="wh-path2root" content="../../../"/><meta name="wh-toc-id" content="section_etw_v5b_bdc-d3752e2305"/><meta name="wh-source-relpath" content="topics/sdk/bringup/lite-bringup-display_rgb.dita"/><meta name="wh-out-relpath" content="topics/sdk/bringup/lite-bringup-display_rgb.html"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/commons.css?buildId=2024041900"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/topic.css?buildId=2024041900"/>
<script src="../../../webhelp/app/options/properties.js?buildId=20250519091401"></script>
<script src="../../../webhelp/app/localization/strings.js?buildId=2024041900"></script>
<script src="../../../webhelp/app/search/index/keywords.js?buildId=20250519091401"></script>
<script defer="defer" src="../../../webhelp/app/commons.js?buildId=2024041900"></script>
<script defer="defer" src="../../../webhelp/app/topic.js?buildId=2024041900"></script>
<link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/aic-styles-web-internal.css?buildId=2024041900"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/notes.css?buildId=2024041900"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/aic-common.css?buildId=2024041900"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/aic-images.css?buildId=2024041900"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/footnote.css?buildId=2024041900"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/aic-highlight-changes.css?buildId=2024041900"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/search-in-header.css?buildId=2024041900"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/css/topic-body-list.css?buildId=2024041900"/></head>
<body id="section_etw_v5b_bdc" 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 xmlns:whc="http://www.oxygenxml.com/webhelp/components" 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="https://www.artinchip.com" class=" wh_logo d-none d-sm-block "><img src="../../../company-logo.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 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>
</div>
</header>
<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">主要描述板卡的各项配置,使 SDK 的环境和板卡匹配,并确保 SDK 编译后的固件能够在板子上正常运行。</p></div></div></div></li><li><div class="topicref" data-id="id"><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display.html">屏幕配置</a></div></div></li><li class="active"><div class="topicref" data-id="section_etw_v5b_bdc"><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display_rgb.html">RGB</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/bringup/lite-bringup-display_lvds.html" title="LVDS" aria-label="下一主题: LVDS" 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-d3752e463" 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-d3752e463-link">修订记录</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d3752e480" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d3752e480-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/env/sdk-compile.html" id="id-d3752e480-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-d3752e604" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d3752e604-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/advanced/sdk-usage.html" id="id-d3752e604-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-d3752e1004" 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-d3752e1004-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/chapter-app.html" id="concept_rcx_czh_pzb-d3752e1004-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-d3752e1848" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d3752e1848-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/peripheral/peripheral-intro.html" id="id-d3752e1848-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-d3752e2022" class="topicref" data-id="id" data-state="expanded"><span role="button" tabindex="0" aria-labelledby="button-collapse-action id-d3752e2022-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/chapter-bringup.html" id="id-d3752e2022-link">BringUp</a><div class="wh-tooltip"><p class="shortdesc">主要描述板卡的各项配置,使 SDK 的环境和板卡匹配,并确保 SDK 编译后的固件能够在板子上正常运行。</p></div></div></div><ul role="group" class="navbar-nav nav-list"><li role="treeitem" aria-expanded="false"><div data-tocid="id-d3752e2039" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d3752e2039-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-prepare.html" id="id-d3752e2039-link">准备工作</a></div></div></li><li role="treeitem"><div data-tocid="id-d3752e2097" 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-d3752e2097-link">引脚配置</a></div></div></li><li role="treeitem"><div data-tocid="id-d3752e2111" 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-d3752e2111-link">内存配置</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d3752e2125" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d3752e2125-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-storage.html" id="id-d3752e2125-link">存储配置</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d3752e2233" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d3752e2233-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/advanced/partition_config_2.html" id="id-d3752e2233-link">配置分区</a></div></div></li><li role="treeitem"><div data-tocid="id-d3752e2277" 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-d3752e2277-link">调试配置</a></div></div></li><li role="treeitem" aria-expanded="true"><div data-tocid="id-d3752e2291" class="topicref" data-id="id" data-state="expanded"><span role="button" tabindex="0" aria-labelledby="button-collapse-action id-d3752e2291-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display.html" id="id-d3752e2291-link">屏幕配置</a></div></div><ul role="group" class="navbar-nav nav-list"><li role="treeitem" class="active"><div data-tocid="section_etw_v5b_bdc-d3752e2305" class="topicref" data-id="section_etw_v5b_bdc" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display_rgb.html" id="section_etw_v5b_bdc-d3752e2305-link">RGB</a></div></div></li><li role="treeitem"><div data-tocid="section_nch_w5b_bdc-d3752e2319" class="topicref" data-id="section_nch_w5b_bdc" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display_lvds.html" id="section_nch_w5b_bdc-d3752e2319-link">LVDS</a></div></div></li><li role="treeitem"><div data-tocid="section_f4q_w5b_bdc-d3752e2333" class="topicref" data-id="section_f4q_w5b_bdc" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display_mipi.html" id="section_f4q_w5b_bdc-d3752e2333-link">MIPI</a></div></div></li><li role="treeitem"><div data-tocid="section_t5h_xxn_42c-d3752e2347" class="topicref" data-id="section_t5h_xxn_42c" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display_mipi-dbi.html" id="section_t5h_xxn_42c-d3752e2347-link">MIPI-DBI</a></div></div></li><li role="treeitem"><div data-tocid="section_ib4_x5b_bdc-d3752e2361" class="topicref" data-id="section_ib4_x5b_bdc" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display_%E8%83%8C%E5%85%89%E9%85%8D%E7%BD%AE.html" id="section_ib4_x5b_bdc-d3752e2361-link">背光配置</a></div></div></li><li role="treeitem"><div data-tocid="section_rqc_hg4_42c-d3752e2375" class="topicref" data-id="section_rqc_hg4_42c" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/lite-bringup-display_%E5%90%AF%E5%8A%A8_log.html" id="section_rqc_hg4_42c-d3752e2375-link">启动 log</a></div></div></li><li role="treeitem"><div data-tocid="concept_smb_cl3_pzb-d3752e2389" class="topicref" data-id="concept_smb_cl3_pzb" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/display/display_faq_screen.html" id="concept_smb_cl3_pzb-d3752e2389-link">调屏常见问题</a></div></div></li></ul></li><li role="treeitem"><div data-tocid="id-d3752e2403" 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-d3752e2403-link">示例程序</a></div></div></li></ul></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d3752e2418" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d3752e2418-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/chapter-advanced-app.html" id="id-d3752e2418-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://aicdocco/taskstopics/sdk/bringup/lite-bringup-display_rgb.dita">Edit online</a></span><h1 class="- topic/title title topictitle1" id="ariaid-title1">RGB</h1>
<div class="date inPage">16 May 2025</div><div style="color: gray;">
Read time: 8 minute(s)
</div>
<div class="- topic/body body">
<section class="- topic/section section" id="section_etw_v5b_bdc__section_zhb_r5y_p2c" data-ofbid="section_etw_v5b_bdc__section_zhb_r5y_p2c"><h2 class="- topic/title title sectiontitle">RGB 屏幕(无需初始化)</h2>
<p class="- topic/p p" data-ofbid="d160987e33__20250519091522">对于无需初始化的 RGB 屏幕,使用 ``simple-panel`` 驱动,在 menuconfig
界面中配置屏幕规格书中的时序和规格参数即可。具体流程如下所示:</p>
<div class="- topic/p p" data-ofbid="d160987e36__20250519091522">
<ol class="- topic/ol ol" id="section_etw_v5b_bdc__ul_j2d_nvb_bdc" data-ofbid="section_etw_v5b_bdc__ul_j2d_nvb_bdc">
<li class="- topic/li li" data-ofbid="d160987e40__20250519091522"><span class="- topic/ph ph">Luban-Lite</span> 根目录下执行 <span class="+ topic/keyword sw-d/cmdname keyword cmdname">me</span>,进入 menuconfig
的功能配置界面。</li>
<li class="- topic/li li" data-ofbid="d160987e49__20250519091522">选择显示接口 <span class="+ topic/ph ui-d/uicontrol ph uicontrol">Display RGB
interface</span><pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__pre_ltw_v5b_bdc" data-ofbid="section_etw_v5b_bdc__pre_ltw_v5b_bdc">Board options ---&gt;
[*] Using Display Engine (DE)
Display Parameter ---&gt;
select Display interface (Display RGB interface) ---&gt;
RGB interface options ---&gt;</pre></li>
<li class="- topic/li li" data-ofbid="d160987e57__20250519091522">配置 <span class="+ topic/ph ui-d/uicontrol ph uicontrol">RGB interface options</span>
中的接口参数:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__pre_mtw_v5b_bdc" data-ofbid="section_etw_v5b_bdc__pre_mtw_v5b_bdc">Board options ---&gt;
Graphics Support ---&gt;
Graphics support
[*] Display Support
select Display interface (Display RGB interface) ---&gt;
RGB interface options ---&gt;
rgb mode (PRGB) ---&gt;
interface format (PRGB <span class="hl-number">16</span> BIT LD) ---&gt;
data order (RGB) ---&gt;
clock phase select(<span class="hl-number">0</span> degree) ---&gt;</pre><div class="- topic/note note note note_note" id="section_etw_v5b_bdc__note_zdc_hfm_42c" data-ofbid="section_etw_v5b_bdc__note_zdc_hfm_42c"><span class="note__title">注:</span> 显示接口参数详解可参考 Luban-Lite SDK 指南 Display
使用指南章节</div></li>
<li class="- topic/li li" data-ofbid="d160987e67__20250519091522">选择 simple-panel
驱动:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__pre_ntw_v5b_bdc" data-ofbid="section_etw_v5b_bdc__pre_ntw_v5b_bdc">Board options ---&gt;
[*] Using Display Engine (DE)
Display Parameter ---&gt;
Display Panels ---&gt;
ArtInChip Panel Drivers (ArtInChip simple panel) ---&gt;</pre></li>
<li class="- topic/li li" data-ofbid="d160987e72__20250519091522">配置 simple-panel
的时序参数:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__codeblock_zgd_chm_42c" data-ofbid="section_etw_v5b_bdc__codeblock_zgd_chm_42c">Board options ---&gt;
[*] Using Display Engine (DE)
Display Parameter ---&gt;
Display Panels ---&gt;
ArtInChip Panel Drivers (ArtInChip simple panel) ---&gt;
display timing of simple panel ---&gt;
(<span class="hl-number">52</span>) pixelclock in MHZ
(<span class="hl-number">1024</span>) hactive
(<span class="hl-number">600</span>) vactive
(<span class="hl-number">160</span>) hback-porch
(<span class="hl-number">160</span>) hfront-porch
(<span class="hl-number">20</span>) hsync-len
(<span class="hl-number">12</span>) vback-porch
(<span class="hl-number">20</span>) vfront-porch
(<span class="hl-number">2</span>) vsync-len</pre></li>
<li class="- topic/li li" data-ofbid="d160987e78__20250519091522">配置引脚功能。在 <span class="+ topic/ph sw-d/filepath ph filepath">pinmux.c</span> 文件中添加 LCD 的功能(功能 2引脚。<p class="- topic/p p" data-ofbid="d160987e83__20250519091522">
<code class="+ topic/ph pr-d/codeph ph codeph">demo128-nand</code> 工程为例,在配置文件
<code class="+ topic/ph pr-d/codeph ph codeph">target/d21x/demo128-nand/pinmux.c</code> 中添加所需引脚。例如,对于
D213 芯片型号, PRGB 16 BIT LD
模式引脚配置如下所示:</p><pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__pre_otw_v5b_bdc" data-ofbid="section_etw_v5b_bdc__pre_otw_v5b_bdc">#ifdef AIC_PRGB_<span class="hl-number">24</span>BIT <em class="hl-comment">// rgb mode = PRGB, interface format = PRGB 16 BIT LD</em>
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.9"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.10"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.11"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.12"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.13"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.14"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.15"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.16"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.17"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.18"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.19"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.20"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.21"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.22"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.23"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.24"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.25"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.26"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.27"</span>},
#endif</pre><div class="- topic/p p" data-ofbid="d160987e93__20250519091522">RGB 显示接口引脚取决于芯片型号rgb mode 和 interface format。以
D213 芯片型号为例,其定义图如下:<br/><div class="imagecenter"><img class="- topic/image image imagecenter" id="section_etw_v5b_bdc__image_rwc_hp4_42c" src="../../../images/bringup/lite_bringup_rgb_pin.png"/></div><br/>
</div></li>
</ol>
</div>
</section>
<section class="- topic/section section" id="section_etw_v5b_bdc__section_fqk_s5y_p2c" data-ofbid="section_etw_v5b_bdc__section_fqk_s5y_p2c"><h2 class="- topic/title title sectiontitle">RGB 屏幕SPI 初始化)</h2>
<div class="- topic/p p" data-ofbid="d160987e106__20250519091522">对于需要通过 SPI 发送初始化命令的 RGB 屏幕,需根据屏厂提供的资料,开发一款专用的驱动。开发步骤如下:<ol class="- topic/ol ol" id="section_etw_v5b_bdc__ol_wyw_s5y_p2c" data-ofbid="section_etw_v5b_bdc__ol_wyw_s5y_p2c">
<li class="- topic/li li" data-ofbid="d160987e110__20250519091522">创建屏驱动<ul class="- topic/ul ul" id="section_etw_v5b_bdc__ul_avf_4mm_42c" data-ofbid="section_etw_v5b_bdc__ul_avf_4mm_42c">
<li class="- topic/li li" data-ofbid="d160987e114__20250519091522">复制模板文件 ``panel_rgb_st7701s.c``</li>
<li class="- topic/li li" data-ofbid="d160987e117__20250519091522">将新文件重命名为 ``panel_rgb_xxx.c`` (xxx 为屏驱 IC 型号)</li>
</ul></li>
<li class="- topic/li li" data-ofbid="d160987e121__20250519091522">注册新驱动文件<ul class="- topic/ul ul" id="section_etw_v5b_bdc__ul_ejr_qym_42c" data-ofbid="section_etw_v5b_bdc__ul_ejr_qym_42c">
<li class="- topic/li li" data-ofbid="d160987e125__20250519091522">修改 <span class="+ topic/ph sw-d/filepath ph filepath">bsp\artinchip\drv\display\panel\Kconfig</span>
文件,添加下列配置项,使新驱动在 menuconfig
界面可见:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__codeblock_pdw_gcn_42c" data-ofbid="section_etw_v5b_bdc__codeblock_pdw_gcn_42c">config AIC_PANEL_RGB_XXX
bool <span class="hl-string">"ArtInChip RGB XXX panel"</span>
depends on AIC_DISP_RGB
select AIC_PANEL_SPI_EMULATION</pre></li>
<li class="- topic/li li" data-ofbid="d160987e133__20250519091522">修改 <span class="+ topic/ph sw-d/filepath ph filepath">bsp/artinchip/SConscript</span>
文件,添加编译规则:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__codeblock_blz_4cn_42c" data-ofbid="section_etw_v5b_bdc__codeblock_blz_4cn_42c"><strong class="hl-keyword">if</strong> GetDepend(<span class="hl-string">'AIC_PANEL_RGB_XXX'</span>):
src += Glob(<span class="hl-string">'drv/display/panel/panel_rgb_xxx.c'</span>)</pre></li>
</ul></li>
<li class="- topic/li li" data-ofbid="d160987e142__20250519091522">注册新 struct aic_panel 结构体。<ul class="- topic/ul ul" id="section_etw_v5b_bdc__ul_pdp_xcn_42c" data-ofbid="section_etw_v5b_bdc__ul_pdp_xcn_42c">
<li class="- topic/li li" data-ofbid="d160987e146__20250519091522">修改 <span class="+ topic/ph sw-d/filepath ph filepath">panel_rgb_xxx.c</span><span class="+ topic/keyword pr-d/parmname keyword parmname">struct
aic_panel</span> 命名,重命名格式为 ``rgb_xxx``。</li>
<li class="- topic/li li" data-ofbid="d160987e155__20250519091522"><span class="+ topic/ph sw-d/filepath ph filepath">panel_com.h</span>` 中 extern struct aic_panel
rgb_xxx<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__codeblock_kfh_3dn_42c" data-ofbid="section_etw_v5b_bdc__codeblock_kfh_3dn_42c"><em class="hl-comment">// panel_com.h</em>
<strong class="hl-keyword">extern</strong> <strong class="hl-keyword">struct</strong> aic_panel rgb_xxx;</pre></li>
<li class="- topic/li li" data-ofbid="d160987e163__20250519091522"><span class="+ topic/ph sw-d/filepath ph filepath">panel_com.h</span> 中 extern struct aic_panel
rgb_xxx<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__codeblock_rm4_jdn_42c" data-ofbid="section_etw_v5b_bdc__codeblock_rm4_jdn_42c"><em class="hl-comment">// panel_com.c</em>
<strong class="hl-keyword">static</strong> <strong class="hl-keyword">struct</strong> aic_panel *panels[] = {
...
#ifdef AIC_PANEL_RGB_XXX
&amp;rgb_xxx,
#endif
};</pre></li>
</ul></li>
<li class="- topic/li li" data-ofbid="d160987e172__20250519091522">设置屏幕时序和接口参数。<ul class="- topic/ul ul" id="section_etw_v5b_bdc__ul_yjc_wdn_42c" data-ofbid="section_etw_v5b_bdc__ul_yjc_wdn_42c">
<li class="- topic/li li" data-ofbid="d160987e176__20250519091522">修改 <span class="+ topic/keyword pr-d/parmname keyword parmname">struct display_timing</span> 结构体,根据 LCD
屏幕规格书修改时序参数:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__codeblock_mgk_khn_42c" data-ofbid="section_etw_v5b_bdc__codeblock_mgk_khn_42c"><strong class="hl-keyword">static</strong> <strong class="hl-keyword">struct</strong> display_timing xxx_timing = {
.pixelclock = <span class="hl-number">42000000</span>,
.hactive = <span class="hl-number">400</span>,
.hfront_porch = <span class="hl-number">100</span>,
.hback_porch = <span class="hl-number">100</span>,
.hsync_len = <span class="hl-number">10</span>,
.vactive = <span class="hl-number">960</span>,
.vfront_porch = <span class="hl-number">80</span>,
.vback_porch = <span class="hl-number">100</span>,
.vsync_len = <span class="hl-number">20</span>,
};</pre></li>
<li class="- topic/li li" data-ofbid="d160987e184__20250519091522">修改 <span class="+ topic/keyword pr-d/parmname keyword parmname">struct panel_rgb</span> 结构体,根据 LCD 屏幕规格书和 PCB
连线修改显示接口参数:<pre class="+ topic/pre pr-d/codeblock pre codeblock" id="section_etw_v5b_bdc__codeblock_c4v_c3n_42c" data-ofbid="section_etw_v5b_bdc__codeblock_c4v_c3n_42c"><code>static struct panel_rgb rgb = {
.mode = PRGB,
.format = PRGB_24BIT,
.clock_phase = DEGREE_0,
.data_order = RGB,
.data_mirror = 0,
};</code></pre></li>
<li class="- topic/li li" data-ofbid="d160987e192__20250519091522">
<div class="- topic/note note note note_note" id="section_etw_v5b_bdc__note_pzn_k3n_42c" data-ofbid="section_etw_v5b_bdc__note_pzn_k3n_42c"><span class="note__title">注:</span> 显示接口参数详解可参考<a class="- topic/xref xref" href="../display/display_user_guide.html">Display 使用指南</a></div>
</li>
</ul></li>
<li class="- topic/li li" data-ofbid="d160987e203__20250519091522">添加初始化操作<ul class="- topic/ul ul" id="section_etw_v5b_bdc__ul_o5c_sjn_42c" data-ofbid="section_etw_v5b_bdc__ul_o5c_sjn_42c">
<li class="- topic/li li" data-ofbid="d160987e207__20250519091522">重新实现 ``struct aic_panel_funcs`` 结构体中的 `prepare` 或者 `enable`
接口,发送初始化命令<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__codeblock_vsg_zjn_42c" data-ofbid="section_etw_v5b_bdc__codeblock_vsg_zjn_42c"><strong class="hl-keyword">static</strong> <strong class="hl-keyword">struct</strong> aic_panel_funcs st7701s_funcs = {
.disable = panel_default_disable,
.unprepare = panel_default_unprepare,
.prepare = panel_default_prepare,
.enable = panel_enable,
.register_callback = panel_register_callback,
};</pre></li>
<li class="- topic/li li" data-ofbid="d160987e212__20250519091522">根据板卡原理图添加 ``reset`` 或 ``power`` 控制引脚的逻辑<p class="- topic/p p" data-ofbid="d160987e214__20250519091522">如果不需要软件控制 reset
引脚,该步骤可省略</p><pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__codeblock_dny_1kn_42c" data-ofbid="section_etw_v5b_bdc__codeblock_dny_1kn_42c">#<span class="hl-directive">define</span> RESET_PIN <span class="hl-string">"PE.1"</span>
<strong class="hl-keyword">static</strong> <strong class="hl-keyword">struct</strong> gpio_desc reset_gpio;
<strong class="hl-keyword">static</strong> <strong class="hl-keyword">struct</strong> gpio_desc sleep_gpio;
<strong class="hl-keyword">static</strong> <strong class="hl-keyword">void</strong> panel_gpio_init(<strong class="hl-keyword">void</strong>)
{
panel_get_gpio(&amp;reset_gpio, RESET_PIN);
panel_get_gpio(&amp;sleep_gpio, SLEEP_PIN);
panel_gpio_set_value(&amp;sleep_gpio, <span class="hl-number">1</span>);
aic_delay_ms(<span class="hl-number">2</span>);
panel_gpio_set_value(&amp;reset_gpio, <span class="hl-number">0</span>);
aic_delay_ms(<span class="hl-number">20</span>);
panel_gpio_set_value(&amp;reset_gpio, <span class="hl-number">1</span>);
aic_delay_ms(<span class="hl-number">120</span>);
}</pre></li>
</ul></li>
<li class="- topic/li li" data-ofbid="d160987e221__20250519091522">配置 SPI 引脚<ul class="- topic/ul ul" id="section_etw_v5b_bdc__ul_p22_5ln_42c" data-ofbid="section_etw_v5b_bdc__ul_p22_5ln_42c">
<li class="- topic/li li" data-ofbid="d160987e225__20250519091522">根据板卡原理图指定 SPI
引脚<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__codeblock_m4f_dmn_42c" data-ofbid="section_etw_v5b_bdc__codeblock_m4f_dmn_42c">#<span class="hl-directive">define</span> CS <span class="hl-string">"PE.3"</span>
#<span class="hl-directive">define</span> SCL <span class="hl-string">"PA.8"</span>
#<span class="hl-directive">define</span> SDI <span class="hl-string">"PA.9"</span></pre></li>
<li class="- topic/li li" data-ofbid="d160987e230__20250519091522">在 SPI
发送前初始化相关引脚<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__codeblock_vml_2mn_42c" data-ofbid="section_etw_v5b_bdc__codeblock_vml_2mn_42c"><strong class="hl-keyword">static</strong> <strong class="hl-keyword">int</strong> panel_enable(<strong class="hl-keyword">struct</strong> aic_panel *panel)
{
panel_spi_device_emulation(CS, SDI, SCL);
...
<em class="hl-comment">// 发送初始化命令</em>
}</pre></li>
</ul></li>
<li class="- topic/li li" data-ofbid="d160987e236__20250519091522">配置引脚功能<p class="- topic/p p" data-ofbid="d160987e238__20250519091522">在 pinmux.c 文件中添加引脚功能,包括 LCD 引脚SPI 引脚 和 reset 控制引脚</p><p class="- topic/p p" data-ofbid="d160987e240__20250519091522">
<code class="+ topic/ph pr-d/codeph ph codeph">demo128-nand</code> 工程为例,在
<code class="+ topic/ph pr-d/codeph ph codeph">target/d21x/demo128-nand/pinmux.c</code> 文件中添加所需引脚:</p><ul class="- topic/ul ul" id="section_etw_v5b_bdc__ul_xcd_4mn_42c" data-ofbid="section_etw_v5b_bdc__ul_xcd_4mn_42c">
<li class="- topic/li li" data-ofbid="d160987e250__20250519091522">按板卡原理图添加控制引脚和 SPI 引脚,设置功能
1<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__codeblock_hjb_xmn_42c" data-ofbid="section_etw_v5b_bdc__codeblock_hjb_xmn_42c">#ifdef AIC_PANEL_RGB_XXX
...
{<span class="hl-number">1</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PE.3"</span>}, <em class="hl-comment">// CS</em>
{<span class="hl-number">1</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PA.8"</span>}, <em class="hl-comment">// SCL</em>
{<span class="hl-number">1</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PA.9"</span>}, <em class="hl-comment">// SDA</em>
{<span class="hl-number">1</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PE.1"</span>}, <em class="hl-comment">// RESET_PIN</em>
#endif</pre></li>
<li class="- topic/li li" data-ofbid="d160987e255__20250519091522">根据芯片型号和显示接口参数,添加 LCD 引脚,配置功能
2<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__codeblock_ssp_ymn_42c" data-ofbid="section_etw_v5b_bdc__codeblock_ssp_ymn_42c">#ifdef AIC_PANEL_RGB_XXX <em class="hl-comment">// D213, mode = PRGB, format = PRGB_24BIT</em>
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.0"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.1"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.2"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.3"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.4"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.5"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.6"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.7"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.8"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.9"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.10"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.11"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.12"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.13"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.14"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.15"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.16"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.17"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.18"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.19"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.20"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.21"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.22"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.23"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.24"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.25"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.26"</span>},
{<span class="hl-number">2</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.27"</span>},
#endif</pre></li>
<li class="- topic/li li" data-ofbid="d160987e260__20250519091522">RGB 显示接口引脚定义图如下:<img class="- topic/image image" id="section_etw_v5b_bdc__image_wpd_5p4_42c" src="../../../images/bringup/lite_bringup_rgb_pin.png"/></li>
</ul></li>
<li class="- topic/li li" data-ofbid="d160987e265__20250519091522">使能新建的 panel 驱动<p class="- topic/p p" data-ofbid="d160987e267__20250519091522">在 Luban-Lite 根目录下执行 me进入 menuconfig 的功能配置界面。</p><ul class="- topic/ul ul" id="section_etw_v5b_bdc__ul_jmk_2nn_42c" data-ofbid="section_etw_v5b_bdc__ul_jmk_2nn_42c">
<li class="- topic/li li" data-ofbid="d160987e271__20250519091522">选择显示接口 Display RGB
interface<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__codeblock_ghl_4nn_42c" data-ofbid="section_etw_v5b_bdc__codeblock_ghl_4nn_42c">Board options ---&gt;
[*] Using Display Engine (DE)
Display Parameter ---&gt;
select Display interface (Display RGB interface) ---&gt;
RGB interface options ---&gt;</pre></li>
<li class="- topic/li li" data-ofbid="d160987e276__20250519091522">选择新建的 ArtInChip RGB XXX panel
驱动:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="section_etw_v5b_bdc__codeblock_qnv_4nn_42c" data-ofbid="section_etw_v5b_bdc__codeblock_qnv_4nn_42c">Board options ---&gt;
[*] Using Display Engine (DE)
Display Parameter ---&gt;
Display Panels ---&gt;
ArtInChip Panel Drivers (ArtInChip RGB XXX panel) ---&gt;</pre></li>
</ul></li>
</ol></div>
</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="#section_etw_v5b_bdc__section_zhb_r5y_p2c" data-tocid="section_etw_v5b_bdc__section_zhb_r5y_p2c">RGB 屏幕(无需初始化)</a></div></li><li class="section-item"><div class="section-title"><a href="#section_etw_v5b_bdc__section_fqk_s5y_p2c" data-tocid="section_etw_v5b_bdc__section_fqk_s5y_p2c">RGB 屏幕SPI 初始化)</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-2025 广东匠芯创科技有限公司. All rights reserved.</p>
</div>
<div>
<div class="generation_time">
Update Time: 2025-05-19
</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>