Bruceou 发表于 2024-9-23 23:19

【 匠芯创D133CBS】基于SquareLine开发LVGL UI

<div class='showpostmsg'><div>SquareLine Studio做为LVGL官方推出的PC端开发工具,采用所见即所得的开发方式,大大减少了敲代码方式开发UI的时间,最早的名字是EdgeLine。</div>

<h1>1 SquareLine下载安装</h1>

<div>下载地址:https://squareline.io/downloads</div>

<div>根据自己的系统下载相应的软件包。</div>

<div></div>

<div>SquareLine Studio如果商用需要购买License,费用如下:</div>

<div></div>

<div>根据自己的需求购买吧,笔者这里使用免费的。</div>

<div>下载最新的SquareLine Studio 1.4.2版本,我是在Windows系统下开发,所以选择第一个Windows版本下载,下载完成后直接安装。</div>

<div></div>

<div>登录成功可以选择一个Example打开运行一下。</div>

<div></div>

<div>我这里选择第三个demo。</div>

<div></div>

<div>接下来可以导出工程。左上角File-&gt;Project Settings设置文件输出格式及保存的位置。</div>

<div></div>

<div></div>

<div>单栏Export-&gt;Export File选择导出文件的格式。</div>

<div></div>

<div>提示&ldquo;Export Succeed&rdquo;表示导出成功,找到对应的文件夹。以下即为导出的.c和.h文件。</div>

<div></div>

<h1>2 SquareLine创建工程与移植</h1>

<h2>2.1 创建工程</h2>

<div>打开SquareLine Studio,点击Creat,选择Desktop,右下角根据显示屏分辨率以及Bit数,填写好参数,点击右下角CREAT,创建工程。</div>

<div></div>

<div>在Screen中添加一个Label控件,编辑Label的字体颜色以及字体大小。</div>

<div></div>

<div>在Screen中添加完后控件后,可点击play按钮。</div>

<div></div>

<div>点击Export-&gt;Export File,导出UI文件,包括UI Layout的.c和.h文件,以及PNG图片编码后的.c文件。</div>

<h2>2.2 移植UI文件到D133CBS</h2>

<div>找到一个一直好LVGL的工程,新建UI文件件,将上面生成的.c和.h文件添加到文件夹中。值得注意的是,D133CBS的SDK的LVGL使用的版本是v8.3.1,因此使用SquareLine Studio导数UI需要切换到v8.3.x的版本。</div>

<div></div>

<div>然后将导出文件放入目录。</div>

<div></div>

<div>同时新建文件SConscript,文件内容如下:</div>

<div>from building import *</div>

<div>import os</div>

<div>cwd = GetCurrentDir()</div>

<div>group = []</div>

<div>src = []</div>

<div>CPPPATH = </div>

<div>if GetDepend([&#39;AIC_CHIP_D13X&#39;]) or GetDepend([&#39;AIC_CHIP_G73X&#39;]):</div>

<div>src += Glob(&#39;./*.c&#39;)</div>

<div>list = os.listdir(cwd)</div>

<div>for d in list:</div>

<div>path = os.path.join(cwd, d)</div>

<div>if os.path.isfile(os.path.join(path, &#39;SConscript&#39;)):</div>

<div>group = group + SConscript(os.path.join(d, &#39;SConscript&#39;))</div>

<div>group = group + DefineGroup(&#39;LVGL-port&#39;, src, depend = [&#39;AIC_LVGL_USER_PROJECT&#39;], CPPPATH = CPPPATH)</div>

<div>Return(&#39;group&#39;)</div>

<div>在application/Kconfig中增加配置。</div>

<div></div>

<div>然后使用scons --menuconfig配置。</div>

<div></div>

<div>然后保存退出。</div>

<div>再将ui.c中的ui_init()函数在aic_ui_init函数中调用即可。</div>

<div></div>

<div>最后编译工程。</div>

<div></div>

<div>烧写后现象如下。</div>

<div></div>

<div>&nbsp;</div>

<div>&nbsp;</div>

<div>&nbsp;</div>

<p><!--importdoc--></p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

freebsder 发表于 2024-9-29 14:35

<p>谢谢分享,期待后续评测</p>
页: [1]
查看完整版本: 【 匠芯创D133CBS】基于SquareLine开发LVGL UI