2 Star 1 Fork 0

泰晓科技 / gui-lab

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
README_zh.md 3.85 KB
Copy Edit Web IDE Raw Blame History
falcon authored 2022-03-07 13:48 . README: document more usage

Copyright (C) 2022 Wu Zhangjin falcon@ruma.tech, All Rights Reserved.

Linux Lab 环境下的 GuiLite 图形库开发支持

这个项目旨在确保 GuiLite 以及相应的样例可以直接在 Linux Lab 或 Linux Lab Disk 下快捷开发与测试。

  • GuiLite 是一套超级轻量级的开源 GUI 库,提供了大量样例,适合开展 GUI 开发实验。
  • Linux Lab 是一个开源项目,致力于提供一套可即刻上手的 Linux 内核与嵌入式 Linux 系统学习、开发与测试环境。
  • Linux Lab Disk 是一种智能随身系统盘,预先安装好了完整的 Linux Lab 开发环境,支持智能启动、透明倍容和零损编译,可以在一分钟内上手 Linux 开发。

开发准备

这套 GuiLite Lab 必须配合 Linux Lab 或 Linux Lab Disk 使用。

准备好一支 Linux Lab Disk

Linux Lab Disk 由 Linux Lab 开源项目的研发社区 TinyLab.org 开发,大家可以从如下淘宝店铺下载,也可以自行在某宝内检索 “泰晓 Linux” 找到:

* [泰晓科技开源小店](https://shop155917374.taobao.com)

获得 Linux Lab Disk 后,可以点击桌面的 “Linux Lab GUI” 登陆进入 Linux Lab 开发环境,进去以后可以看到 Linux Lab 图标,启动即可开展后续开发,相信用法请参考该 专栏

自行安装 Linux Lab

如果想尝试自行安装,可以参考下面的步骤。

$ git clone https://gitee.com/tinylab/cloud-lab.git
$ cd cloud-lab
$ tools/docker/run linux-lab

然后确保用 webvnc 登陆。

$ tools/docker/webvnc linux-lab

下载 GUI Lab

这套 GuiLite Lab 目前集成在 GUI Lab 中,必须下载在 Linux Lab or Linux Lab Disk 的 src/examples 目录下:

$ cd /labs/linux-lab/
$ cd src/examples
$ git clone https://gitee.com/tinylab/gui-lab.git
$ cd gui-lab/guilite/

编译

默认会编译好 GuiLite 核心库 libGuiLite.a 和默认配置的 HelloTimer 样例。

$ make build

编译过程会自动触发编译器的安装,GuiLite 和样例源码的下载。

启动并手动运行

可以自行启动 Linux Lab 并运行测试,会触发自动编译和安装:

$ make boot
linux-lab # /lab/guilite/HelloTimer /dev/fb0 &

默认安装在 Linux Lab 的 src/system/lab/guilite 目录下,这个目录会自动安装到目标文件系统的 /labs/guiliate 目录下。

自动测试

测试默认样例

实际上一开始,就可以直接用这条命令,因为她会自动完成所有的下载、编译、启动和运行:

$ make test

目前默认在 ARM 虚拟开发板 arm/vexpress-a9 上运行,用的 v4.6.7 内核和 2016.05 文件系统。如果需要在其他开发板上运行,请自行调整 Makefile 中的编译器和开发板配置。

测试所有的样例

$ make test-all

测试某个样例

$ ls src/samples/
Hello3D
Hello3Ddonut
Hello3Dwave
HelloAnimation
HelloAzureIoT
HelloCircle
HelloFFmpeg
HelloFont
HelloFreetype
HelloJPG
HelloLayers
HelloMario
HelloMolecule
HelloNets
HelloNoTouch
HelloParticle
HelloPendulum
HelloScroll
HelloSlide
HelloStar
HelloTimer
HelloTransparent
HelloWave
HelloWidgets
HelloWindows
HostMonitor

$ make test SAMPLE=Hello3Dwave
$ make test SAMPLE=Hellowave
$ make test SAMPLE=HelloWidgets
$ make test SAMPLE=HelloWindows
$ make test SAMPLE=HelloScroll
$ make test SAMPLE=HelloStar

注意事项

  • 部分样例目前不能在 ARM 目标板上正常工作,请自行检查确认。
  • 部分样例需要接受鼠标操作才能正常演示,需要自行配置内核以便目标虚拟开发板能支持鼠标操作。
1
https://gitee.com/tinylab/gui-lab.git
git@gitee.com:tinylab/gui-lab.git
tinylab
gui-lab
gui-lab
master

Search