miniGUI3.0.12移植到Hi3531

【MiniGui示例图片】 MiniGUI示例代码图片信息 阅读详情

一、移植资源包:

下载miniGUI3.0.12组件

简单介绍一下各个库:

freetype:字体

qvfb2和gvfb::虚拟显存,主要用在pc机上做仿真

jpegsrc:显示jpeg图像时要用到的库

libpng:显示png图像时要用到的库

zlib:PNG压缩算法

libminigui:minigui3.0.12的核心库

minigui-res:minigui3.0.12资源文件,包括字体、图标、位图等

mg-samples:minigui3.0.12例子程序

minigui3.0.12可选组件: libmg3d(3D支持)、libmgi(提供输入接口)、libmgp(提供打印机接口的支持)、 libmgplus(2D矢量图支持和图像加速)、libmgutils(提供一些常用对话框的模板),可以根据自己的需要来使用。

在这里我只安装了freetype,zlib,,jpegsrc,,libpng, libmgplus以及res,主库,和sample。

这里提示下,下面操作的安装目录是:/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi  这里你自己选择合适的安装目录就可以了。

二、编译zlib库

编译配置脚本:

  1. [root@localhost]CC=arm-hisiv100nptl-linux-gcc \   
  2.                 CXX=arm-hisiv100nptl-linux-g++  \   
  3.                 LD=arm-hisiv100nptl-linux-ld    \   
  4.                 AS=arm-hisiv100nptl-linux-as    \   
  5.                 AR=arm-hisiv100nptl-linux-ar    \   
  6.                 ./configure     \   
  7.                 --prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi       \   
  8.                 --shared   
  9. [root@localhost] make   
  10. [root@localhost] make install   

三、编译png库

编译配置脚本:

  1. [root@localhost]CC=arm-hisiv100nptl-linux-gcc \   
  2.                 CXX=arm-hisiv100nptl-linux-g++  \   
  3.                 LD=arm-hisiv100nptl-linux-ld    \   
  4.                 AS=arm-hisiv100nptl-linux-as    \   
  5.                 AR=arm-hisiv100nptl-linux-ar    \   
  6.                 ./configure     \   
  7.                 --prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi       \   
  8.                 --build=i386-linux      \   
  9.                 --host=arm-hisiv100nptl-linux   \   
  10.                 --target=arm-hisiv100nptl-linux \   
  11. [root@localhost] make   
  12. [root@localhost] make install   

注意;如果编译时报错提示zlib库没有安装的,解决方法:

在编译之前(我是在configure之前),手动指定一下参数:

  1. export CFLAGS="-I/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi/include"  
  2. export LDFLAGS="-L/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi/lib"  

四、编译jpeg库

编译配置脚本:

  1. [root@localhost]CC=arm-hisiv100nptl-linux-gcc \   
  2.                 CXX=arm-hisiv100nptl-linux-g++  \   
  3.                 LD=arm-hisiv100nptl-linux-ld    \   
  4.                 AS=arm-hisiv100nptl-linux-as    \   
  5.                 AR=arm-hisiv100nptl-linux-ar    \   
  6.                 ./configure     \   
  7.                 --prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi       \   
  8.                 --build=i386-linux      \   
  9.                 --host=arm-hisiv100nptl-linux   \   
  10.                 --target=arm-hisiv100nptl-linux \   
  11.                 --enable-shared \   
  12. [root@localhost] make   
  13. [root@localhost] make install   

 五、编译freetype库

编译配置脚本:

  1. [root@localhost]./configure     \   
  2.                 --host=arm-hisiv100nptl-linux   \   
  3.                 --prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi     \   
  4.                 --enable-static \  

运行配置脚本后,修改:

  1. [root@localhost] vim config.cache   
  2. # 修改如下行   
  3. ac_cv_path_LD=${ac_cv_path_LD=arm-linux-gnu-ld}   
  4. ac_cv_prog_CC=${ac_cv_prog_CC=arm-linux-gnu-gcc}   
  5. ac_cv_prog_CPP=${ac_cv_prog_CPP='arm-linux-gnu-gcc -E'}   
  6. #重新配置,再运行一次配置脚本
  7. #修改Makefile文件,以跳过编译test目录。
  8. # 去掉“all:”后的变量“tttest”
  9. # 注释掉“install:”下的第二行:“cd $(FTTESTDIR); $(MAKE) –f$(MAKEFILE) install”

之后编译:

  1. [root@localhost]make   
  2. [root@localhost]make install  

六、安装minigui资源库

编译配置脚本:

  1. [root@localhost]CC=arm-hisiv100nptl-linux-gcc \   
  2.                 CXX=arm-hisiv100nptl-linux-g++  \   
  3.                 LD=arm-hisiv100nptl-linux-ld    \   
  4.                 AS=arm-hisiv100nptl-linux-as    \   
  5.                 AR=arm-hisiv100nptl-linux-ar    \   
  6.                 ./configure     \   
  7.                 --prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi       \   
  8. [root@localhost]make   
  9. [root@localhost]make install   

七、编译minigui核心库

编译配置脚本:

  1. [root@localhost]CC=arm-hisiv100nptl-linux-gcc \   
  2.                 CPP=arm-hisiv100nptl-linux-cpp \   
  3.                 LD=arm-hisiv100nptl-linux-ld    \   
  4.                 AR=arm-hisiv100nptl-linux-ar    \   
  5.                 RANLIB=arm-hisiv100nptl-linux-ranlib    \   
  6.                 STRIP=arm-hisiv100nptl-linux-strip      \   
  7.                 LDFLAGS="-L/home/minicross/miniarm/lib_hi3531"  \   
  8.                 CPPFLAGS="-I/home/minicross/miniarm/include_hi3531"     \   
  9.                 ./configure     \   
  10.                 --prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi       \   
  11.                 --build=x86_64-linux    \   
  12.                 --host=arm-hisiv100nptl-linux   \   
  13.                 --target=arm-hisiv100nptl-linux \   
  14.                 --disable-screensaver   \   
  15.                 --disable-splash        \   
  16.                 --disable-jpgsupport    \   
  17.                 #--with-osname=linux     \   
  18.                 #--with-targetname=fbcon \   
  19.                 #--enable-autoial        \   
  20.                 #--disable-vbfsupport    \  

运行完配置脚本后,会出现这样的提示:

Going to generate license pictures ...

./configure: line 15530: ./runme.sh: No such file or directory

不用理会这个提示,继续往下操作。

修改:vim src/newgal/pcxvfb/Makefile 的194行,将/usr/include去掉

INCLUDES = -I$(abs_top_srcdir)/src/include -I$(abs_top_srcdir)/include \

-I$(abs_top_srcdir)/src/newgal/ -I/usr/include/

否则编译pcxvfb.c将出错

之后再编译安装:

  1. [root@localhost]make   
  2. [root@localhost]make install  

八、编译libmgplus

编译配置脚本:

  1. CC=arm-hisiv100nptl-linux-gcc \   
  2. CPP=arm-hisiv100nptl-linux-cpp \   
  3. LD=arm-hisiv100nptl-linux-ld    \   
  4. AR=arm-hisiv100nptl-linux-ar    \   
  5. RANLIB=arm-hisiv100nptl-linux-ranlib    \   
  6. STRIP=arm-hisiv100nptl-linux-strip      \   
  7. ./configure     \   
  8. --prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi       \   
  9. --build=x86_64-linux    \   
  10. --host=arm-hisiv100nptl-linux   \   
  11. --target=arm-hisiv100nptl-linux \   

make编译时候会出现错误:

configure: WARNING: using cross tools not prefixed with host triplet

checking pkg-config is at least version0.9.0... yes

checking for MINIGUI... configure: error: Package requirements (minigui >=3.0.10) were not met:

No package 'minigui' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you

installed software in a non-standard prefix.

Alternatively, you may set the environment variables MINIGUI_CFLAGS

and MINIGUI_LIBS to avoid the need to call pkg-config.

See the pkg-config man page for more details.

解决方法:

  1. export PKG_CONFIG_PATH=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi/lib/pkgconfig/  
  1. [root@localhost]make   
  2. [root@localhost]make install  

九、编译minigui例子程序

编译配置脚本:

  1. [root@localhost]CC=arm-hisiv100nptl-linux-gcc \   
  2.                 CPP=arm-hisiv100nptl-linux-cpp \   
  3.                 LD=arm-hisiv100nptl-linux-ld    \   
  4.                 AR=arm-hisiv100nptl-linux-ar    \   
  5.                 RANLIB=arm-hisiv100nptl-linux-ranlib    \   
  6.                 STRIP=arm-hisiv100nptl-linux-strip      \   
  7.                 ./configure     \   
  8.                 --prefix=/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi       \   
  9.                 --build=x86_64-linux    \   
  10.                 --host=arm-hisiv100nptl-linux   \   
  11.                 --target=arm-hisiv100nptl-linux \  

在配置阶段或遇到环境变量的问题,但是在配置了环境变量后还是出现错误,就直接在configure文件中添加了变量,这样才通过配置。修改如下:

vim configure

# 在 $as_echo_n "checking for MINIGUI... " >&6; }后添加如下变量:

  1. MINIGUI_CFLAGS = -I/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi/include   
  2. MINIGUI_LIBS = -L/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi/lib  

然后开始make,又出现如下错误:no such file: File format not recognized collect2: ld returned 1 exit status。经过网上查资料后发现是生成的Makefile有问题,需要逐个修改Makefile。修改每个Makefile中的如下行:

  1. LDFLAGS = -lminigui_ths -ljpeg -lm -lpthread -ldl -lz –lpng   
  2. LIBS =  -L/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi/lib   

这样就可以编译生成可执行文件了。。。

十、修改MiniGUI.cfg

将MiniGUI.cfg的开头部分改为:

  1. [system]   
  2. # GAL engine and default options   
  3. gal_engine=fbcon  
  4. defaultmode=800x480-16bpp (对应板子分辨率)   
  5. # IAL engine   
  6. ial_engine=console  
  7. mdev=/dev /mice   
  8. mtype=IMPS2  
  9. [fbcon]   
  10. defaultmode=800x480-16bpp  

修改res资源放置的路径,在配置文件中的[cursorinfo]->cursorpath以及[resinfo]->respath

否则运行sample程序时会出错。

修改路径:

  1. 103 [cursorinfo]   
  2. 104 # Edit following line to specify cursor files path   
  3. 105  cursorpath=/usr/local/share/minigui/res/cursor/  
  1. 131 [resinfo]   
  2. 132 respath=/usr/local/share/minigui/res/  
MiniGUI + Hi3531 笔记 . 一.移动光驱安装Ubuntu 10.04      1.   重启系统按住Delete进入BIOS界面!      2.   退出/高级模式 --> 启动 --> 启动设备选择. 移动光驱正常被识别后这里应该是有2个选项的:            (1)SATA :WOC WD6401AALS-00E3A0 (默认硬盘)            (2)TSSTcorp CDDVDW SE-2 阅读详情

相关推荐

MiniGUI学习的十几个经典例子,非常适合初学者

十几个MiniGUI学习的经典例子,都已经在FrameBuffer上面编译,运行通过,对于初学者是很好的资料!!

miniGUI编译详细过程以及示例

miniGUIminiGUI下载编译过程 由于最近项目遇到GUI开发,需要用到miniGUI来完成。为什么不用QT?我也一直在疑惑。可能因为跑不动吧。不管了,下面是整个miniGUI编译成功的过程。 miniGUI下载 首先,miniGUI下载的话,去官网相当麻烦,因为官网将先下载一个minigui的核心库,然后是让你运行sh脚本让你去下载的,git最近一直被墙,实在无奈。所以我千辛万苦找到了所有的依赖库和文件,方便直接编译。 资源就在我的csdn资源里面,自己跳转下载哦,因为是放到板子跑,用的是miniG

lobmo的博客 2224

MINIGUI 例子

minigui 例子 ,描述菜单 菜单行为

minigui[基础篇][7]—— 菜单

minigui手册阅读

qq_43601873的博客 535

minigui主窗口和子窗口示例

关于minigui的窗口关系,入门的同学可以看一下

嵌入式图形界面MiniGUI的示例程序9例

嵌入式图形界面MiniGUI的示例程序9例,很适合嵌入式MiniGui开发学习入门!!

linux mini 切换界面,miniStudio设计minigui界面并移植到linux开发板上

[此文档并非安装minigui在PC端的linux平台下,而是给开发板搭建minigui的运行所需要的类库等环境]安装pc端的minigui类库基本上都是:./configuremakemakeinstall就可以了-----------------------------------------------------------------pc平台:ubuntu10.04开发板:Friendl...

weixin_29090677的博客 615

ChatGPT Web转API工具:原理、部署与集成实战

在AI应用开发中,API(应用程序编程接口)是实现系统间通信和数据交换的核心技术,它通过标准化的请求响应机制,将复杂功能封装为可编程的服务。其工作原理基于HTTP协议,通过定义清晰的端点、方法和数据格式,使不同平台的应用能够高效集成AI能力。这一技术价值在于极大降低了开发门槛,促进了自动化流程和智能功能的快速落地,广泛应用于智能客服、内容生成和创意辅助等场景。本文聚焦于如何通过浏览器自动化技术,将ChatGPT的Web界面能力转化为标准API服务,其中涉及Playwright无头浏览器操作和会话Cookie

weixin_42533910的博客 1764

Ubuntu下编译MINIGUI

使用的Ubuntu版本是 Ubuntu12 i686 本流程只为Ubuntu,不包含其他linux发行版。有很大一部分是摘抄,本文章摘抄的地址为:https://www.cnblogs.com/xuyh/p/3660168.html编译安装MINIGUI需要下载的源码:http://www.minigui.org/en/download/这三个都下载下来。(1)安装 libminigui-gpl-...

还没想好 1188

pytorch中的wheel文件

whl 文件是 Python 的一个软件包分发格式,用于在 Python 中安装软件包。它是 Python Wheel 的缩写,也被称为 wheel 文件。这种文件格式旨在简化 Python 软件包的安装和分发。对于 PyTorch 而言,它提供了预编译的 .whl 文件,您可以通过 pip 安装这些文件来快速方便地安装 PyTorch。这些 .whl 文件是已经编译好的二进制分发文件,可以直接安装在您的 Python 环境中,而无需再进行编译。

bj_zhb的博客 3127

第四篇:关于python程序打包的问题-找不到fsspec

这个问题困扰了我将近两天的时间一直找不到什么好的办法,甚至打算放弃。主要原因是身边没有可以述说的人,也没有可以请教的人。正在想要放弃的时候找到了解决办法。 打包后运行程序是这样的, 大概意思是找不见fsspec这个依赖,刚接触python说实话对于这些第三方库理解不是很到位,我的理解就是:类似于java程序中的jar包,程序找不见了。可怎么让他找见了,刚开始以为我自己没有安装fsspec,在cmd中进行了安装,结果如下图所示 很明显,已经安装并且安装目录都有,跟着网上的一些解决办法,在打包的时候把这.

weixin_47861710的博客 5865

Minigui3在海思Hi3520D/Hi3531平台上运行

Minigui3在海思Hi3520D/Hi3531平台上运行   WORD里直接贴出来的,有图片,看不到哦!!!!可以在这里下载PDF! 完整代码和PDF下载位置: http://note.youdao.com/share/?id=6eb7262501c051b48680a73b6969e06d&type=note 完整代码下载: http://note.youdao.co

HELLO 7687

深度强化学习中的动作屏蔽(Action Masking)

在复杂环境中使用动作屏蔽,实现更好的训练效果

Kiek17的博客 5877

minigui 移植

自定义小键盘对MINIGUI1.6.2的支持 http://blog.chinaunix.net/uid-20725756-id-767118.html

weixin_44740398的博客 262

3D深度饼图的QT实现

首先,我们需要创建一个QT项目并创建一个窗口,用于显示我们的饼图。在QT Creator中,选择创建一个新的QT Widgets应用程序项目,并创建一个新的窗口类。在本文中,我将介绍如何使用QT实现一个3D深度饼图(Pie 3D)的可视化效果。在构造函数中,我们将创建一个饼图(QChartView)并设置饼图的数据。这是一个简单的示例,您可以根据需要自定义和扩展代码来创建更复杂的饼图。现在,我们已经完成了3D深度饼图的QT实现。您将看到一个具有相应数据的3D深度饼图显示在窗口中。3D深度饼图的QT实现。

CodeJolt的博客 277

STM32 TIM3硬件XOR+复位模式实现霍尔信号精准捕获

霍尔传感器是电机控制系统中获取转子位置的关键器件,其三路数字信号需通过高精度、低延迟的边沿检测机制转换为电角度信息。其核心原理在于利用定时器输入XOR逻辑合并多路信号,并结合从模式复位(Reset Mode)实现硬件级时间间隔测量——每次跳变强制计数器清零,使CNT值直接表征换相周期。该方案规避了软件轮询的不确定性,显著提升FOC控制的实时性与鲁棒性。典型应用场景包括BLDC/FOC电机驱动、机器人关节伺服及工业变频器设计,尤其适用于STM32F4系列等具备硬件XOR与从模式控制器的MCU平台。

weixin_28931507的博客 92

MiniGUI + Hi3531 笔记

一.移动光驱安装Ubuntu 10.04      1.   重启系统按住Delete进入BIOS界面!      2.   退出/高级模式 --> 启动 --> 启动设备选择. 移动光驱正常被识别后这里应该是有2个选项的:            (1)SATA :WOC WD6401AALS-00E3A0 (默认硬盘)            (2)TSSTcorp CDDVDW SE-2

舞 1767

回答网友提问:Word 里如何调用 DeepSeek API?

上面的 Visual Basic 定义了名叫 DeepSeekV3 的 subroutine,同理我们可以让 Trae 再写一个调用开启了 DeepThink(R1) 模式的 DeepSeek API,步骤类似,这里不再赘述。在 Word 的 File->Options 选项里,选择 Customize Ribbon,将 Developer 标签从左侧移到右侧,然后在 Developer 标签下新建一个 Group,随便起个名称。API 调用的 response,自动填充到了 Word 里。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 275

hi-3531a:minigui3.2.0移植

一、移植资源包介绍: 作者:gavinpong,相关源码可以在github仓库下载到,欢迎fork 与 交流:https://github.com/GavinPong 所有组件都可以在minigui官网上下载到:http://www.minigui.com/zhcn/download/ 下载miniGUI3.2.0组件 简单介绍一下各个库: freetype:字体 qvfb2和gvfb...

u012125696的专栏 1101

C#面试题及详细答案120道(61-75)-- 多线程与异步

本文摘要了前后端面试题中关于线程与并发的核心知识点,包括线程与进程的区别(61题)、Thread/ThreadPool/Task的对比(62题)、线程安全实现方法(63题)、lock关键字的原理(64题)、Monitor类的进阶用法(65题)以及死锁的成因与避免(66题)。通过C#代码示例和表格对比,清晰展示了多线程编程的关键概念、应用场景及常见问题解决方案,适合开发者快速掌握面试高频考点。完整内容可访问专栏目录获取更多技术面试题解析。

大剑师兰特的GIS世界 1430

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

miniGUI移植过程大致如下

miniGUI移植过程大致如下 移植过程大致如下(由于存在依赖关系,顺序不能错): –prefix 为生成库文件目录; –host 指定目标板编译器; LDFLAGS 为动态库路径 CFLAGS 为头文件路径 CC=arm-hisiv200-linux-gcc CPP=arm-hisiv200-linux-cpp CXX=arm-hisiv200-linux-g++ L...

livesflying的博客 1806

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: Linux中find常见用法示例
下一篇: 在海思hi3520上移植minigui3.0
HiRuyue
博客等级 码龄14年 47粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值