MiniGUI的vxworks环境移植(2): cygwin+tornado交叉编译minigui库和示例代码

【MiniGui安装】 Linux 上可以使⽤用gvfb程序(使⽤用 Gtk+开发),或者使⽤用qvfb2 程序(使⽤用 Qt开发),将MiniGUI及其应⽤用程序的输出结果展示在 gvfb 或者qvfb的窗⼝口中。你可以通过安装qt-3.3.0来达到安装qvfb 目的(qt-3.3.0 工具下有qvfb)你可以通过安装qt-4.8.6来达到安装qvfb 目的(qt-4.8.6工具下有qvfb)这个时候已经运行成功 但是大小不是我们想要的1280*800 回到步骤四编译阶段修改代码。 阅读详情

上篇文章简介了vxworks和tornado环境的简单程序设计。这次我们要拿minigui来编译vxworks下的运行程序了。

首先,需要准备好minigui1.6.10的库文件,和一些示例文件,可以到minigui.org上下载.(可能我机器上的版本和下载的开源版本不一样,但是这个文章写出来就是为了备忘的。所以以我自己的版本为主介绍)

 

1. Cygwin环境安装

  这个就不多说了,windows上很有名的模拟linux平台的工具软件。可以很方便的下载到。安装的时候注意安装make, vim两个东西即可。

2. 在cygwin上交叉编译minigui的产品

   由于我这里的目标板是mips的核,那我就以mips为例:

   minigui源代码中编译文件:

    makefile.ng是用来vxworks的编译的文件.打开这个文件可以看到
    include rules.make
    打开rules.make文件,可以看到这个文件中做了一些相关的设置。注意第一句
        TARGET_RULES=build/rules-mipse.vxworks
    看来用的定义是放在这个build/rules-mipse.vxworks文件中的,那我再打开这个文件。

 

这个文件中有几个定义需要注意:

  1.     PREFIX:这个地方定义了编译好的minigui库文件和头文件放置的位置
  2. TARGET_DIR:这个地方定义了tornado工具安装的路径,方便寻找vxworks的库文件和交叉编译链工具
  3. CFLAGS:定义了minigui编译时候的参数,有类似下面的参数

        -g -mips3 -EL -D__LITTLE_ENDIAN__ -Wall -DTOOL_FAMILY=gnu -DTOOL=gnu -D_WRS_KERNEL -DMIPSEL -DCPU=MIPS64 -D__mips__ -D__MIPSEL__
      我们需要注意修改的地方有两个

  • -D__LITTLE_ENDIAN__      大小端,根据不同的客户机有不同的要求,可能是__BIG__ENDIAN__    __LITTLE_ENDIAN__
  • -DCPU=MIPS64              cpu类型:也需要根据不同的客户机的要求,MIPS64 MIPS32等

上面的内容都设置好了之后,我们还需要根据板子不同需要做一些代码定制,如下:
关闭鼠标,关闭png,jpeg,commlcd(为了排除问题,只打开dummy 引擎);打开DUMMY引擎。
也就是注释掉:……_CURSOR_SUPPORT    1……
                     ……_PNG_FILE_SUPPORT    1……
                     ……_JEPG_FILE_SUPPORT    1……
修改配置
    vim src/sysres/mgetc-vxi386.c

修改为:
        static char *SYSTEM_VALUES[]={"dummy","dummy","/dev/ts","none"};

 

下面我们就可以进行交叉编译了:

交叉编译时,必须使用cygwin内置的make命令来编译。所以输入如下

    $/bin/make -f makefile.ng clean

    $/bin/make -f makefile.ng

    $/bin/make -f makefile.ng install

编译完成后,就可以在已经定义好的目录下找到编译好的libminigui.a文件和minigui相关的头文件.

 

3. tornado产品上运行编译出来的minigui示例

还记得上个文章说到怎么创建项目吧。那我们新创建一个项目,这里有几点需要注意

  • 如果我们是对一个已经编译好内核的板子来说。我们需要准备好这个内核文件,方便 我们写好的程序downloading到板子上
  • 如果是一个已经编译好内核的板子,我们就只需要建立一个downloadable的应用程序就可以了。
  • 我们在选择toolchain的设置的时候(如图),需要按照不同的板子环境设置不同的toolchain,这里必须注意的是刚才编译minigui设置的CPU和大小端的内容,必须和这里选择的一样。

toolchain image

 

 


先给出一个minigui的helloworld实例

 

把这个实例添加到新建的tornado项目中,假设命名为helloworld.c文件,接下来,就需要把minigui的头文件路径和库文件给链接到tornado的项目中.

 

打开tornado的workspace窗口中的build标签,我们在这里面设置minigui的头文件和链接文件

1)双击demo builds下面的MIPS64gnule。

2)在打开的窗口中选择c/c++ compile tag

   这里有tornado在编译的时候使用的参数,

   首先我们要删除-ansi, minigui在开发的过程中,一些代码中没有按照ansi标准,所以我们需要先删除这个参数。

   然后, 我们可以像使用gcc编译选项的参数一样加入我们的头文件路径,或者通过下面的“Include path...”按钮来添加

     -IC:/cross/mipse/include

3)添加链接,这里注意不是在link标签下,是在Macro宏标签下添加

   打开PRJ_LIBS宏,把库文件路径复制到value值里,然后按“add/set...”按钮

     C:/cross/mipse/lib/libminigui.a

 

这样,我们就把minigui的库文件链接上了,而且也加好了minigui的头文件路径.

下面,我们就可以编译我们刚写的minigui的helloworld程序了。

 

4)设置目标板

现在我们需要连接上我们的目标版上的vxworks系统,把我们编译好的程序烧上去了。首先,在菜单tools->target server...的选项中选择configure,新建一个configuration,修改了configuration默认的名称后,选择target server properties下拉菜单,选择core file and symbols,然后指定file路径,这个所说的file就是前面提醒大家准备好的vxworks的内核文件"vxWorks"

然后在target server中填入本机的ip地址, 在target name/IP address里面填入目标板的ip地址,确认。这时主界面的toolbar中的combobox里面就可以选择当前的这个配置了。选中当前的配置后,就可以尝试启动链接了

 

5)让我们的minigui程序跑起来

目标板设置完成之后,我们可以把编译好的download到目标机器上,启动windsh,敲入minigui_entry,就可以把刚才烧入的helloworld跑起来了~

 

大功告成!

 

 

 

 

 

快速搭建MiniGUI图形界面开发环境 本文还有配套的精品资源,点击获取 简介:MiniGUI安装包由北京飞漫软件技术有限公司开发,是一个稳定的跨平台图形库,支持多种操作系统,特别是适用于嵌入式设备和小型系统。它提供完整的图形用户界面支持,包括窗口管理、事件处理和图形绘制等。开发者能够通过一系列简单步骤快速安装和配置MiniGUI,并使用其丰富的API来构建交互式应用程序。本文将介绍MiniGUI的安装过程,包括... 阅读详情

相关推荐

探索MiniGUI3.0.12:嵌入式设备的图形界面系统

本文还有配套的精品资源,点击获取 简介:MiniGUI是为嵌入式设备和操作系统设计的轻量级图形用户界面系统,提供窗口管理、图形绘制、输入设备支持等。MiniGUI3.0.12版本在性能优化、内存管理、多线程支持等方面有所提升,支持多平台移植性,并鼓励社区参与和提供技术支持。本篇文章将深入介绍MiniGUI的关键特性和配置过程,为嵌入式系统开发人员提供宝贵的资源。 ...

weixin_28913879的博客 1305

minigui[基础篇][11]—— 图标

minigui手册阅读

qq_43601873的博客 1300

掌握Minigui:跨平台GUI库的最新功能与实践

本文还有配套的精品资源,点击获取 简介:Minigui是一个专为嵌入式系统设计的轻量级、高效能的图形用户界面库,也适用于其他多种平台。最新版的Minigui提供了一个简洁的API,支持窗口管理、事件处理、图形绘制和文本渲染等基础功能,并包含性能提升、新特性和更广泛平台的支持。开发者可以利用Minigui的库文件和API构建具有图形界面的应用,并通过灵活的配置选项优化应用性能...

weixin_36299472的博客 1905

分享6款嵌入式常见的GUI,不要错过

大家好,我是!先来聊聊什么是GUI。图形用户界面(Graphical User Interface,简称 GUI)采用直观的图形方式展示,让用户与计算机或设备交流变得简单直观。不仅工作效率得到极大提升,用户体验也因此大幅度增加。在嵌入式系统中,GUI工具和库扮演着至关重要的角色。它们赋予开发者创造互动且魅力四射的图形界面的能力,深入人心。无论是消费电子,工业控制,还是医疗设备等领域,优质的嵌入式GUI都是不可或缺的。那么在我们的开发过程中,都有哪些值得关注的GUI框架呢?

Happy_HZW的博客 1万+

海思平台Minigui图形用户界面系统配置指南

Minigui 是一个专门针对嵌入式系统设计的图形用户界面库,它提供了丰富的控件和接口,使得开发者可以方便地创建美观、高效的图形界面。与其他GUI框架相比,Minigui以其轻量级、可移植性强而著称,支持多种操作系统,包括嵌入式Linux和RTOS等。开发者还可以根据应用程序需求,自定义窗口的行为。以下是一个简单的例子,展示如何响应鼠标点击事件:// 点击事件处理break;// 窗口创建事件处理break;// 窗口关闭事件处理break;

weixin_42462474的博客 1274

别再只会regress了!用Stata的csdid命令搞定多期DID的完整实操指南

本文详细介绍了如何在Stata中使用csdid命令进行多期DID分析,解决传统DID方法在交错处理场景下的局限性。通过完整的实操指南,包括环境搭建、核心语法、结果解读和高阶应用,帮助研究者更准确地评估政策效果,适用于计量经济学和实证研究领域。

weixin_30236595的博客 582

嵌入式常用GUI介绍

图形用户界面(Graphical User Interface,简称 GUI)采用直观的图形方式展示,让用户与计算机或设备交流变得简单直观。不仅工作效率得到极大提升,用户体验也因此大幅度增加。在嵌入式系统中,GUI工具和库扮演着至关重要的角色。它们赋予开发者创造互动且魅力四射的图形界面的能力,深入人心。无论是消费电子,工业控制,还是医疗设备等领域,优质的嵌入式GUI都是不可或缺的。

嵌入式分享 4239

告别WSL:Ollama Windows原生部署与GPU加速实战

本文详细介绍了Ollama在Windows系统上的原生部署与GPU加速实战指南。告别WSL,通过官方原生应用直接调用NVIDIA和AMD显卡,实现更高效的本地大模型运行。文章涵盖系统准备、三步安装、模型拉取运行、GPU性能优化及高级配置,为Windows AI开发者提供一站式解决方案。

prometheus9mon的博客 533

vxworks命令_MiniGUI在VxWorks环境下的移植

首先,需要准备好minigui1.6.10的库文件,和一些示例文件,可以到minigui.org上下载.(可能我机器上的版本和下载的开源版本不一样,但是这个文章写出来就是为了备忘的。所以以我自己的版本为主介绍)1. Cygwin环境安装这个就不多说了,windows上很有名的模拟linux平台的工具软件。可以很方便的下载到。安装的时候注意安装make, vim两个东西即可。2. 在cyg...

weixin_39641738的博客 321

别再死磕RD算法了!用MATLAB手把手复现SAR后向投影(BP)成像(附完整代码与避坑点)

本文详细介绍了如何使用MATLAB实现合成孔径雷达(SAR)后向投影(BP)成像算法,突破传统RD算法在大斜视和复杂轨迹场景中的局限。通过完整的代码示例和避坑指南,帮助读者掌握BP算法的核心原理、内存优化策略和并行计算技巧,提升SAR成像精度与效率。

weixin_30908103的博客 298

Arcmap计算土方量教程

1. 创建现状TIN 结果数据: 2. 创建设计TIN 结果数据: 注意:现状TIN和设计TIN构建时候的坐标系不同,设置坐标系见最后的注意事项第1点,就是import(导入)那步骤,现状TIN构建时选择高程点数据或者等高线数据,设计TIN构建时候选择洱海面数据 3. TIN转栅格 改成你要存的数据库,注意中间不要有汉字 结果数据(设计TIN转栅格的同理) 4. 裁剪现状TIN转成的栅格 结果数据: 5. 计算土方量 结果数据: ...

欢迎关注,共同进步! 5014

全志 Tina Linux 图形系统 框架介绍 最全介绍 MiniGUI、QT5、EFL、GTK+(WebkitGtk、Midori)、DirectFB、Wayland

本文档将介绍 Allwinner Tina Linux 中已经移植好的窗口系统,以及怎么使用,包括MiniGUI、QT5、EFL、GTK+(WebkitGtk、Midori)、DirectFB、Wayland,整体结构如下:适用范围:Tina Linux v3.5及以上版本。

韦东山嵌入式专栏 8617

Vivado实战:UltraScale/UltraScale+器件eFUSE寄存器配置与安全编程全解析

本文详细解析了Xilinx UltraScale/UltraScale+器件中eFUSE寄存器的配置与安全编程方法。从芯片唯一身份标识到加密密钥烧录,再到用户寄存器的灵活应用和安全控制寄存器的配置技巧,全面介绍了如何利用eFUSE功能提升硬件安全性。文章还提供了JTAG接口安全管理和NKZ文件备份方案,帮助开发者避免常见陷阱,确保安全编程的可靠性。

weixin_42535703的博客 427

【MiniGui项目搭建】

MInigui工程搭建环境

sinat_23896491的博客 593

斗罗大陆叙事体系与战斗系统设计解析

在文学创作与游戏设计中,世界观构建和战斗系统设计是两大核心技术要素。世界观作为故事发生的背景框架,需要融合东西方文化元素并建立量化标准,如《斗罗大陆》中武魂觉醒与魂环等级体系。战斗系统则需突破简单数值对抗,发展出武魂特性、魂技组合与环境互动的三维体系,其中魂导器技术的引入展现了科技与魔法的创新融合。这些设计原理在RPG游戏开发、网络文学创作等领域具有广泛应用价值,特别是对需要长期运营的IP作品,完善的系统设定能有效支撑剧情延展与商业化开发。本文以现象级作品为例,剖析其武魂拟态理论和魂师工业化构思如何成就经典

weixin_29291069的博客 249

TPAMI 2024 | MO-MIX:基于深度强化学习的多目标多智能体协同决策

深度强化学习(RL)已被广泛应用于解决复杂的决策问题。在许多现实世界的场景中,任务通常有多个相互冲突的目标,并且可能需要多个智能体进行合作,这些是多目标多智能体决策问题。然而,在这个交叉领域的研究工作还相对较少。现有的方法仅限于单独的领域,并且只能处理具有单一目标的多智能体决策,或者具有单一智能体的多目标决策。在本文中,我们提出了MO-MIX来解决多目标多智能体强化学习(MOMARL)问题。我们的方法基于集中训练与分散执行(CTDE)框架。

小白学视觉 1129

Linux成功安装minigui教程(最详细)

Linux成功安装minigui教程(最详细)

qq_51643989的博客 3253

108、AWB 时间滤波器:帧间白平衡平滑,防止色彩跳变与过冲

摘要: 文章探讨了AWB(自动白平衡)时间滤波器的设计与优化,以解决帧间白平衡跳变和过冲问题。通过自适应状态机(STABLE/TRANSITION/JUMP)动态调整平滑系数alpha,结合帧率归一化和过冲保护(方向检测+限幅),实现场景切换快速响应与静态稳定性的平衡。作者分享了工程经验:避免固定阈值、联动AE/AF、真实场景验证,并推荐简化卡尔曼滤波替代IIR。最终方案在旗舰机前置摄像头中成功消除“闪白”现象,强调参数需动态适应光照与色温变化。

sundong_81的博客 63

15个备受欢迎的嵌入式GUI库,(非常详细)从零基础到精通,收藏这篇就够了!

对于从来没有接触过黑客/网络安全的同学,目前网络安全、信息安全也是计算机大学生毕业薪资相对较高的学科。大白也帮大家准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。这也是耗费了大白近四个月的时间,吐血整理,文章非常非常长,觉得有用的话,希望粉丝朋友帮忙点个**「分享」

Javachichi的博客 4384

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

MiniGUI学习日记一----MiniGUI基础编程篇

一、什么是事件驱动编程: MinGUI是一个图形用户界面支持系统。通常的GUI编程概念均适用于MiniGUI编程。 二、焦点和光标: 焦点和光标的概念用于管理输入设备和输入事件的传送。鼠标光标是一个绘制在屏幕上的小位图,指示当前的鼠标位置,应用程序可以绘制哪一个位图以及是否显示光标。应用程序还可以捕捉光标并获取光标事件。 三、MINIGUI的三种运行模式 ① MiniGUI-Threads,运行在MiniGUI-Threads上的程序可以在不同的线程...

KLh 5451

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

MCU 的 TOP 5 图形GUI库!

在嵌入式系统开发中,选择一个合适的图形用户界面(GUI)库是至关重要的。在屏幕上显示的时候,使用现成的图形库,这样开发人员就不需要弄清楚底层任务,例如如何绘制像素、线条、形状,如果再高级一点,则可以绘制某些对象,例如窗口、按钮等。下面将介绍15个备受欢迎的嵌入式GUI库,分析它们的特点、优缺点、使用场景以及生态系统,以便开发人员能够更好地选择适合自己项目的GUI库。1、LVGLhttps://lv...

嵌入式Linux 2420

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

minigui[基础篇][4]——对话框

minigui手册阅读

qq_43601873的博客 918

不得不说,minigui真的很坑

开发项目在嵌入式平台上使用MiniGui作为用户界面开发工具,在工作之余准备在ubuntu14.04上搭建一个测试环境,这样代码测试起来比较方便。 前前后后搞了好多天,遇到了很多麻烦,但是最后还是跑通了。作为一个之前对minigui完全不懂的小白来说,真的需要好好摸索。 总结一下:minigui真的很坑!如果不是项目必须的东西,我建议读者,能不用就不用。 问题: min

猫哥 的沉淀、积累、总结。天天学习,好好向上...c/c++,嵌入式 linux,Android,HarmonyOS,AIOT) 1万+

miniGUI编译详细过程以及示例

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

lobmo的博客 2224

用minigui编程模型输出helloworld程序

MiniGUI是一个图形用户界面支持系统,通常的GUI编程概念均适用于MiniGUI编程,如窗口和事件驱动编程等。在传统的GUI图形系统模型中,键盘和鼠标动作产生由应用程序不断轮询的事件。这些事件通常被发送到具有焦点的窗口,而应用程序把这些事件交由和该窗口相关联的例程来处理。这些窗口例程通常是由应用程序定义的,或者是某些标准例程中的一个。操作系统、其它窗口的事件处理例程和应用程序代码都可以产生事件。用于处理事件的窗口例程通常标志了某一个“窗口类”,具有相同窗口例程的窗口实例被认为是属于同一窗口类。

m0_62621938的博客 623

Windows平台下如何使用Android NDK(mini-cygwin)

一.准备工作 下载mini-cygwin,地址:http://code.google.com/p/mini-cygwin/downloads/list 下载ndk(这边使用的android-ndk-r6b),地址:http://dl.google.com/android/ndk/android-ndk-r6b-windows.zip 这边请确保mini-cygwin支持所下载的ndk版本

azulsidea的专栏 1144
上一篇: MiniGUI的vxworks环境移植(1): vxwork/tornado环境简介
下一篇: vxworks下的MINIGUI代码裁减记录
测试九宸
博客等级 码龄23年 21粉丝 20原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值