eCos配置工具在MSYS2上的编译方法

Ubuntu编码服务器搭建--续(eCos编译问题) 接上篇,Ubuntu的代码服务器环境搭建OK后,下一套eCos的代码准备编译下载代码【svn co http://xxxxx –username xxx】,进入到编译目录进行编译【make】,报错 “ecosconfig: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No 阅读详情

eCos配置工具在MSYS2上的编译方法

1 为什么要在MSYS2开发eCos

eCos这样的操作系统,是从GNU的环境中诞生的。正因为如此,它最初的开发环境都是在Linux上的。直到cygwin出现以后,有了在Windows下开发eCos的工具。但是cygwin的发展路线就好比是Linux中的wine(这样比较好像不太贴切),它目的是建立一个完整的GNU环境,所以我们能看到XWindows的几乎一切都可以在cygwin上运行,但这些应用都必须依赖cygwin的运行库。

与此同时,我们必须意识到,即使再钟爱GNU我们也无法让Windows本身有所改变。也许我们可以用GNU的环境来开发出Windows本源的程序更好吧。所以,开始有了MinGW。再这个环境中提供的GCC编译器,可以脱离GNU的模拟层独立运行,当然编译出来的应用程序也是Windows原生的。有很多IDE因此而崛起,它们集成MinGW的GCC,轻松的完成特殊项目的配置和编译。但是,我们还有未解决的问题。因为我们是GNU粉丝,我们还希望能用GNU的思路就开发项目,比如我用autotools,用python, 用lua。于是又有了msys,有个很小的Posix模拟层,让我们之前在Linux上用的GNU Tools能在Windows运行。有了这样的环境,我们就可以利用GNU的开发工具,编译出windows的原生应用程序了。

在MSYS出生的这些年,有无数的开发把它都集成在自己的工具中。但是,天知道为什么MSYS发展会那么缓慢。但是,这是在GNU架构里,只要爱好者需求强烈到一个暴发点,就会有爱好者站出来去发展和改进或者创新。

于是有了MSYS2, 它并不是MSYS的升级版,是不同的组织重新成立的项目,个人认为它是目前看来Windows下最好GNU环境,因为它使用了ArchLinux的pacman包管理工具,而且有更简易的包编译和发布方法。而且它集成了MingW64,能够编译出windows x64和32两种二进制代码。本人使用多年GTK+开发,我们从GTK+的网站上会看到这样一段话:

Downloading GTK and its dependencies
The preferred way to obtain GTK+ and its dependencies in binary form for Windows
is to use the MSYS2 project.


You can use the installer to set up the MSYS2 environment for developing your
application by following the instructions on the website. MSYS2 provides
packages for the GTK stack, so all you have to do is install them and build your
application inside the MSYS2 environment. You can also use MSYS2 to build your
application, and create an installer with all the build artifacts necessary for
distributing it. You can find more information in this article.

对于我自己而言,MSYS2让我的GTK+环境更利于管理和开发,GTK+官方更认为在Windows开发GTK+应用程序从来没有这么容易过。既然这么好的环境,为什么不能同时用来开发嵌入式系统呢,所以我会在这里建立我需要的嵌入式开发环境,当然从eCos开始。

2 利用MingW64和MSYS2编译出可用的ecosconfig工具

有了之前的分析,我们应该大致已经知道如何入手编译msys2自己的ecosconfig工具了。这里可能要稍微啰嗦两句,eCos在Host上的工具,除了ecosconfig这个配置工具之外,还包括UNIX上的模拟器。但是UNIX上的模拟器,需要运行在XWindow上,因为msys2没有模拟XWindows,因此我们无法正确的编译和运行ecos的模拟器。先浏览一下ecos的目录:

d:\ecos>ls
acinclude.m4
aclocal.m4
acsupport
ChangeLog
configure
configure.in
COPYING
doc
examples
host
Makefile.am
Makefile.in
packages
README.host

如果我们使用eCos根目录的configure,ecos会默认编译host上的所有工具。我们需要执行ecos/host/configure来编译ecosconfig。

  1. 进入MSYS环境配置编译条件,如下:
rickleaf@msys2 MSYS ~
/ecos/configure --build=x86_64 --with-tk=/mingw64/
  1. 如果提示没有找到tk的头文件,可能需要从generic里面把tk的头函数复制到tk的根目录。
  2. MSYS2的64bit版本中,已经不再需要cygwinconvtowin32path这样的函数,因此需要 对代码做部份的修改。下面是需要修改的文件和位置,请大家仔细看。
diff -r 49c50185f3c9 host/tools/configtool/common/common/build.cxx
--- a/host/tools/configtool/common/common/build.cxx     Mon Dec 29 16:50:47 2014 +0800
+++ b/host/tools/configtool/common/common/build.cxx     Sun Dec 27 19:29:13 2015 +0800
@@ -142,13 +142,7 @@

 // convert a Cygwin filepath to a DOS filepath
 std::string nativepath (const std::string input) {
-#ifdef __CYGWIN__
-    char buffer [MAX_PATH + 1];
-    cygwin_conv_to_win32_path (input.c_str (), buffer);
-    return buffer;
-#else
     return input;
-#endif
 }

 // convert a DOS filepath to a Cygwin filepath
@@ -160,9 +154,7 @@

        // convert the DOS filepath to Cygwin notation using Cygwin if available
 #if defined(__CYGWIN__) && (ECOS_USE_CYGDRIVE == 0)
-       char buffer [MAX_PATH + 1];
-       cygwin_conv_to_posix_path (path.c_str (), buffer);
-       output = buffer;
+       ;
 #else

 #if ECOS_USE_CYGDRIVE == 1
diff -r 49c50185f3c9 host/tools/configtool/standalone/common/ecosconfig.cxx
--- a/host/tools/configtool/standalone/common/ecosconfig.cxx    Mon Dec 29 16:50:47 2014 +0800
+++ b/host/tools/configtool/standalone/common/ecosconfig.cxx    Sun Dec 27 19:29:13 2015 +0800
@@ -262,13 +262,6 @@
     }

     // convert a DOS format repository directory to POSIX format for backward compatibility (Cygwin only)
-#ifdef __CYGWIN__
-    if (1 < repository.size() && ':' == repository [1]) {
-        char buffer [MAX_PATH + 1];
-        cygwin_conv_to_posix_path (repository.c_str (), buffer);
-        repository = buffer;
-    }
-#endif

     // Initialize the cdl_exec code (not quite sure why this needs a
     // separate object rather than just a bunch of statics).

经过了上面的折腾,你应该已经可以make出自己的ecosconfig了。

3 利用ecosconfig在MingW64中编译ecos

这个部份有点多余了,因为和Linux的过程是一样的。

rickleaf@msys2 ecosconfig new mini2440
rickleaf@msys2 ecosconfig tree
rickleaf@msys2 make

4 结论

MSYS2的环境就好像一个没有图形界面的Linux系统,能提供大部份的Posix应用。再配合MingW64可以和Windows的应用程序结合的更好。希望,MSYS2能更好的发展,让我们能有一个Posix的开发环境。

ecos configtool and ecosconfig for ubuntu 10.04 AMD64 在ubuntu 10.04 64bit下面编译出来的ecos config 工具 网上下载的都是32位版本的,总是有这样那样的问题。 立即下载

相关推荐

vue项目基于WebRTC实现一对一音视频通话

vue项目基于WebRTC实现一对一音视频通话。完整代码gitee地址: https://gitee.com/wade-nian/wdn-webrtc.git。

qq_920189602的博客 6647

eCos编译配置说明

 前两篇实验讲了如何build一个redboot,从VMWARE启动。这次,要解释一些相关配置的过程。eCos最重要特点就算是可配置(Configurable )了。所以,现在我们就看看它是怎么配置的。一、基本概念1 package在eCos里,每一组源码的集合成为package,一个package,由一些源代码文件构成,实现一个独立的功能。 还有比package更小的单位

3222

【Codex Sandbox 与审批机制:小白也能看懂的实用教程】

这篇教程介绍了Codex工具中的沙盒(Sandbox)和审批(Approvals)机制,帮助用户安全高效地使用Codex协作。沙盒限制Codex访问范围,审批机制则控制敏感操作权限。文章详细讲解了五种常见模式:最安全的安全只读浏览、只读非交互、仓库内编辑、Auto预设和不推荐的YOLO模式。还提供了新手使用路径建议、配置示例和实战场景范式,包括如何测试沙盒行为、不同系统下的实现方式以及常见问题解答。最后附上速查清单,帮助用户快速选择合适的权限组合。

zsr154278963的博客 6702

linux 下安装ecos开发环境,虚拟实验室eCos开发环境的配置(Linux)

1.下载eMBosLab发布的eCos源代码git clone git://emboslab.git.sourceforge.net/gitroot/emboslab/rtems-4.9.5-emboslab /opt/ecos/ecos-hg"/opt/ecos/ecos-hg" 表示你需要放置的目录,请自行设置2.下载eCos最新ARM编译器点击 arm-eabi 得到 arm eabi的编译...

weixin_39929877的博客 492

8.5/Q1,Charls最新高分文章解读!

8 257名受试者中,672人(8.14%)在9年内发生过卒中。在调整的多因素cox回归模型中,TyG和ABSI仍然是卒中的预测因素,TyG的HR为1.25(95%CI:1.06~1.47),ABSI的HR为1.33(95%CI:1.06~1.68)。TyG和ABSI联合诊断效能最高(AUC:0.579,95%CI:0.553~0.597),而TyG(AUC:0.566,95%CI:0.544~0.587)和ABSI(AUC:0.533,95%CI:0.524~0.597)的诊断效能最低。

gsky_sci的博客 1014

Ansys Zemax实战:5步搞定衍射光学元件(DOE)设计,附赠超透镜(metalens)避坑指南

本文详细介绍了使用Ansys Zemax进行衍射光学元件(DOE)和超透镜(metalens)设计的5步实战流程。从基础光学系统搭建到相位面设计验证,再到制造准备与实测对比,全面解析了OpticStudio中的关键技巧和常见避坑指南,帮助工程师高效完成复杂光学元件设计。

orange的博客 618

eCos Configuration Tool build on ubuntu 10.04 AMD64

 我们暂且把ecoscentric提供的方法附上hg clone http://hg-pub.ecoscentric.com/ecos/wxGTK-2.8.8.tar.bz2 (for Linux/GTK+)Building for Linux/GTK+The following instructions assume that you are working at a bash prompt and that the GTK+ and Tcl libraries have been installed f

嵌入式虚拟系统实验室 2154

Ubuntu1804 关于ubuntu18.04下载软件仓库信息失败,请检查网络连接 的解决方案

今天电脑在更换软件源的时候遇到了这个问题。出现了如上图所示的错误信息。 尝试了各家优快云的博客之后,发现方法大同小异,均无法解决。 方法大多都是要求更换软件源,如下所示: 打开“Ubuntu软件中心”-->点击“编辑”-->点击“软件源”-->在Ubuntu软件界面,“下载自”默认是“中国的服务器”,改为“主服务器”试试 2.打开更新管理器-》设置-》选择站点-》...

weixin_43729409的博客 1万+

如何在Quartus中配置Ecos操作系统?(ecos)

软件环境:quartus 7.2 SP1+nios II ecos 5.1 quartus安装路径:D:\altera nios II cos 5.1安装方法: 在安装之前我们要修改现在的Nios II Ide的版本,不然装不上,打开<nios2 IDE的安装目录>,例如我的是D:\altera\72\nios2eds,用记事本打开当前目录下的v...

dieshanzheng1790的博客 196

飞牛fnNAS搭建Web网页版OFFICE(WPS)软件

本文介绍了如何在飞牛NAS上通过Docker容器部署WPS Office办公软件。主要内容包括:启用Docker服务、准备项目文件夹结构、使用Compose方式构建容器、解决端口冲突问题、配置中文输入法和字体库,以及通过ZeroTier实现远程访问。文章详细说明了每个步骤的操作方法,包括容器启动、输入法设置、字体添加和文件存储位置配置。最后还介绍了使用ZeroTier内网穿透技术实现远程访问NAS上WPS服务的方法,让用户可以在不同设备上随时编辑NAS中的文件。整个部署过程完整清晰,为NAS用户提供了便捷的

dgnankai的专栏 1698

QGis二次开发 —— 1、win10/win11搭建Vs2017-QGis3.40.12环境(附Vs2017环境效果,附全部问题解决方法)(附:Qt助手加入QGis接口说明文档)

QGis二次开发 —— 1、Windows10搭建Vs2017-QGis环境(附Vs2017环境效果)(附:Qt助手加入QGisA接口说明文档)

1362

ffmpeg编译安装

Fmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

CltCj的博客 2269

C# 零基础入门知识点汇总

本文属于C#零基础入门之百识百例系列目录文章。此系列文章已经完结,欢迎大家点击文中文章链接查看详情进行学习。

陈言必行 -- Unity游戏开发领域优质博主 5347

FFmpeg编译安装

FFmpeg编译安装

m0_73443478的博客 1393

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

MinGW,MSYS,cygwin 区别

MinGW:是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称。 MinGW,即 Minimalist GNU For Windows。它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC(GNU Compiler C)产生 Windows32 程序。 MSYS:Minimal GNU(PO

maikforever 的专栏 1980

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

CVXPY安装避坑指南:当Windows遇到C++编译依赖

本文详细解析了在Windows系统上安装CVXPY时常见的C++编译依赖问题,提供了三种解决方案的优缺点对比,包括安装完整VS Build Tools、使用预编译whl文件和MinGW替代方案。文章还包含实战步骤、预编译whl文件安装指南以及疑难排查手册,帮助用户高效解决安装难题。

alice7model的博客 655

OV9734 DATASHEET,完整规格书

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

Profinet从站开发(4)- EB200P step by step (编译PN协议栈)

安装协议栈 拿到EB200P安装光盘(4.4固件)后,首先运行Setup进行安装,一路默认设置就好。 安装完成后,会在C:\Program Files (x86)找到文件夹DEVKIT44,这是协议栈开发包的全部内容。首先将DEVKIT44复制到非系统盘(比如D盘)根目录下。很多人喜欢把协议栈放到其他文件夹内(比如包含中文或者很深的路径),本人不建议这么做,会造成很多不必要的麻烦。 首先

hiccc2012的博客 1万+

为MIPS构建mips-elf-gcc4.4.1交叉编译器

由于eCos需要mips-elf-gcc来编译内核,所以,今天编译了gcc4.4.1最新版本的gcc编译器,步骤如下: 首先,在编译之前必须先导出以下变量:export TARGET=mips-elfexport PREFIX=/usr/local/$TARGETexport PATH=$PATH:$PREFIX/binecho $TARGETecho $PREFI

6304

windows下部署GTK环境

本文是CLion在Windows环境下配置GTK最详细的步骤,欢迎大家阅读。

墨城烟柳ベ旧人殇的博客 2252

搭建ecos开发环境

<br />虽然可以按照ecos官方网站的文档说明来安装ecos的开发环境,但我仍然自己手动完成了ecos开发环境的建立,就算是练练手吧。<br /> <br />按照ecos文档的安装方法:<br /> <br />wget --passive-ftp ftp://ecos.sourceware.org/pub/ecos/ecos-install.tcl<br /> <br />sh ecos-install.tcl<br /> <br />手动安装:<br /> <br />1、下载ecos源码,用cv

newkelt的专栏 3904

使用eCos图形化配置工具管理eCos应用程序

mingdu.zheng <at> gmail <dot> comhttp://blog.youkuaiyun.com/zoomdy/article/details/12908559 思路 eCos图形化配置工具可以说是eCos的核心和亮点之一。图形化配置工具为开发人员提供了模板、组件管理、配置、单元测试、自动生成Makefile等功能,同时提供了非常友好的操作界面和非常便捷的配置...

zoomdy's blog 2678

ubuntu:/opt/ecos/ecos-3.0/tools/bin# ./ecosconfig ./ecosconfig: error while loading shared lib

解决:sudo apt-get install libstdc++5

移动互联网后端服务架构 1227

Gtk+ for Windows 环境配置(使用msys2)

目前Windows下GTK官方推荐使用msys2来分发新版本,编译程序,下面介绍下如何使用msys2来配置环境并编译GTK程序。 一、下载   首先到http://msys2.github.io/下载msys2,64位系统建议下载x86_64版,32位系统只能选择i686。 二、安装   双击下载的安装程序,一步步下一步即可,安装目录建议使用默认目录,例如,我这里是安装的64位,即

5511

虚拟实验室eCos开发环境的配置 (Linux)

1.下载eMBosLab发布的eCos源代码git clone git://emboslab.git.sourceforge.net/gitroot/emboslab/rtems-4.9.5-emboslab /opt/ecos/ecos-hg" /opt/ecos/ecos-hg" 表示你需要放置的目录,请自行设置2.下载eCos最新ARM编译器点击 arm-eabi 得到 arm eabi的编译器,解压到 /opt/ecos/gnutools/arm-eabi/“/opt/ecos/gnutool

嵌入式虚拟系统实验室 7543
上一篇: GTK+ 2.0 在Windows下的多线程应用
知秋一叶
博客等级 码龄19年 196粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值