eCos Configuration Tool build on ubuntu 10.04 AMD64

发布者:eta17最新更新时间:2024-06-26 来源: elecfans关键字:eCos  Configuration  Tool  build  ubuntu  AMD64 手机看文章 扫描二维码
随时随地手机看文章

这篇主要解决eCos的配置工具运行在Ubuntu 64bit上的诸多问题。

先放截图,要不然大家看到代码头疼就看不到真相了。可以从Linux公社的资源服务器中下载打包的文件。 免费的

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2011年资料/嵌入式Linux/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 from your Linux distribution. First, extract the wxWidgets sources:

  • mkdir ~/src cd ~/src bunzip2 -c wxGTK-2.8.8.tar.bz2 | tar xf - cd wxGTK-2.8.8

Configure wxWidgets for static linking without socket support, then build and install:

  • mkdir ~/wx-build cd ~/wx-build $HOME/src/wxGTK-2.8.8/configure --disable-shared /     --disable-sockets --prefix=$HOME/wxGTK-2.8.8 make make install

Configure, build and install the eCos host infrastructure:

  • mkdir ~/infra-build cd ~/infra-build $HOME/cvs/ecos/host/configure --prefix=$HOME/ecos-tools make make install

Build and install the eCos Configuration Tool (INSTALLDIR must match the eCos host infrastructure prefix):

  • mkdir ~/configtool-build cd ~/configtool-build make -f ~/cvs/ecos/host/tools/configtool/standalone/wxwin/makefile.gnu /     install WXDIR=$HOME/wxGTK-2.8.8 ECOSSRCDIR=$HOME/cvs/ecos/host /     INSTALLDIR=$HOME/ecos-tools

The eCos Configuration Tool binary should now be located at: ~/ecos-tools/bin/configtool

 

实际过程中,因为操作系统是64位的问题,会有int指针类型和tcl,tk的错误。

1)遇到tcl,tk错误的时候

你需要做如下的link

 

ricky@ricky-laptop:/usr/local/libexec/ecos/hal/synth/arch/share$ ls -al

总用量 8

drwxr-xr-x 2 root root 4096 2011-01-28 11:58 .

drwxr-xr-x 4 root root 4096 2011-01-28 11:45 ..

lrwxrwxrwx 1 root root   23 2011-01-28 11:58 tcl8.3 -> /usr/local/share/tcl8.3

lrwxrwxrwx 1 root root   22 2011-01-28 11:58 tk8.3 -> /usr/local/share/tk8.3

ricky@ricky-laptop:/usr/local/libexec/ecos/hal/synth/arch/share$ 


2)编译错误,大致需要修改以下一些文件

 

Revision: 3019

Branch: default

Author: Ricky Wu  2011-01-31 10:00:18

Committer: Ricky Wu  2011-01-31 10:00:18

Parent: 3018:d45320ea4f56 (first add minigui to ecos hg version)

Child:  3027:4bc997522efd (merge ricky soluation)

 

    1.fix configtool on linux 64bit issue

    2.use firefox as default web browser

    3.fix mw driver bitblit issue

 

    user: Ricky Wu

    branch 'default'

    changed host/tools/Utils/common/eCosSerial.cpp

    changed host/tools/Utils/common/eCosSocket.cpp

    changed host/tools/Utils/common/eCosTrace.cpp

    changed host/tools/configtool/standalone/wxwin/packagesdlg.cpp

    changed host/tools/configtool/standalone/wxwin/propertywin.cpp

    changed host/tools/ecostest/common/TestResource.cpp

    changed host/tools/ecostest/common/eCosTestDownloadFilter.cpp

    changed packages/hal/synth/arch/current/host/ecosynth.tcl

    changed packages/services/gfx/mw/current/src/drivers/scr_synth_ecos.c

 

 

-------------------- host/tools/Utils/common/eCosSerial.cpp --------------------

@@ -36,7 +36,7 @@

 // Usage:

 //

 //####DESCRIPTIONEND####

-

+#include

 #include 'eCosStd.h'

 #include 'eCosSerial.h'

 #include 'eCosThreadUtils.h'

@@ -340,7 +340,7 @@

 

 bool CeCosSerial::Close()

 {

-  bool rc=m_pHandle && (-1!=close((int)m_pHandle));

+  bool rc=m_pHandle && (-1!=close((intptr_t)m_pHandle));

   m_pHandle=0;

   return rc;

 }

@@ -427,7 +427,7 @@

   TRACE(_T('Changing configuration.../n'));

 

   // Get current settings.

-  if (tcgetattr((int) m_pHandle, &buf)) {

+  if (tcgetattr((intptr_t) m_pHandle, &buf)) {

     fprintf(stderr, _T('Error: tcgetattr/n'));

     return false;

   }

@@ -494,7 +494,7 @@

   }

 

   // Set the new settings

-  if (tcsetattr((int) m_pHandle, TCSADRAIN, &buf)) {

+  if (tcsetattr((intptr_t) m_pHandle, TCSADRAIN, &buf)) {

     fprintf(stderr, _T('Error: tcsetattr/n'));

     return false;

   }

@@ -503,7 +503,7 @@

   // error if _all_ settings fail. If just a few settings are not

   // supported, the call returns true while the hardware is set to a

   // combination of old and new settings.

-  if (tcgetattr((int) m_pHandle, &buf_verify)) {

+  if (tcgetattr((intptr_t) m_pHandle, &buf_verify)) {

     fprintf(stderr, _T('Error: tcgetattr/n'));

     return false;

   }

@@ -522,7 +522,7 @@

 

 bool CeCosSerial::Flush (void)

 {

-  return 0==tcflush((int) m_pHandle, TCIOFLUSH);

+  return 0==tcflush((intptr_t) m_pHandle, TCIOFLUSH);

 }

 

 bool CeCosSerial::Read (void *pBuf,unsigned int nSize,unsigned int &nRead)

@@ -530,7 +530,7 @@

 

   if (!m_bBlockingReads) {

     nRead = 0;

-    int n = read((int)m_pHandle, pBuf, nSize);

+    int n = read((intptr_t)m_pHandle, pBuf, nSize);

     if (-1 == n) {

       if (EAGAIN == errno)

         return true;

@@ -558,7 +558,7 @@

 

   fd_set rfds;

   FD_ZERO(&rfds);

-  FD_SET((int)m_pHandle, &rfds);

+  FD_SET((intptr_t)m_pHandle, &rfds);

 

   // Start with total timeout.

   struct timeval tv;

@@ -568,10 +568,10 @@

   unsigned char* pData = (unsigned char*) pBuf;

   nRead = 0;

   while (nSize) {

-    switch(select((int)m_pHandle + 1, &rfds, NULL, NULL, &tv)) {

+    switch(select((intptr_t)m_pHandle + 1, &rfds, NULL, NULL, &tv)) {

     case 1:

       {

-        int n = read((int)m_pHandle, pData, nSize);

+        int n = read((intptr_t)m_pHandle, pData, nSize);

         if (-1 == n && EAGAIN != errno) {

           ERROR(_T('Read failed: %d/n'), errno);

           return false;           // FAILED

@@ -608,7 +608,7 @@

 bool CeCosSerial::Write(void *pBuf,unsigned int nSize,unsigned int &nWritten)

 {

   bool rc;

-  int n=write((int)m_pHandle,pBuf,nSize);

+  int n=write((intptr_t)m_pHandle,pBuf,nSize);

   if(-1==n){

     nWritten=0;

     if (errno == EAGAIN)

 

-------------------- host/tools/Utils/common/eCosSocket.cpp --------------------

@@ -36,7 +36,7 @@

 // Usage:

 //

 //####DESCRIPTIONEND####

-

+#include

 #include 'eCosStd.h'

 #include 'eCosSocket.h'

 #include 'eCosSerial.h'

@@ -96,7 +96,7 @@

 m_nSock(-1),

 m_nClient(0)

 {

-  VTRACE(_T('Create socket instance %08x/n'),(unsigned int)this);

+  VTRACE(_T('Create socket instance %08x/n'),(uintptr_t)this);

 }

 

 CeCosSocket::CeCosSocket (int sock /*result of previous call of Listen*/, bool *pbStop):

@@ -104,7 +104,7 @@

 m_nSock(-1),

 m_nClient(0)

 {

-  VTRACE(_T('Create socket instance %08x/n'),(unsigned int)this);

+  VTRACE(_T('Create socket instance %08x/n'),(uintptr_t)this);

   Accept(sock,pbStop);

 }

 

@@ -113,7 +113,7 @@

 m_nSock(-1),

 m_nClient(0)

 {

-  VTRACE(_T('Create socket instance %08x/n'),(unsigned int)this);

+  VTRACE(_T('Create socket instance %08x/n'),(uintptr_t)this);

   Connect(pszHostPort,dTimeout);

 }

 

@@ -312,7 +312,7 @@

 CeCosSocket::~CeCosSocket()

 {

   Close();

-  VTRACE(_T('Delete socket instance %08x/n'),(unsigned int)this);

+  VTRACE(_T('Delete socket instance %08x/n'),(uintptr_t)this);

 }

 

 bool CeCosSocket::CloseSocket(int &sock)

 

-------------------- host/tools/Utils/common/eCosTrace.cpp --------------------

@@ -61,7 +61,7 @@

       fclose(OutInfo.f);

     }

     if(nVerbosity>=TRACE_LEVEL_TRACE){

-      _ftprintf(stderr,_T('Output -> %s (%08x)/n'),pszFilename,(unsigned int)f);

+      _ftprintf(stderr,_T('Output -> %s (%08x)/n'),pszFilename,(uintptr_t)f);

     }

     OutInfo.f=f;

     OutInfo.strFilename=pszFilename;

 

------------ host/tools/configtool/standalone/wxwin/packagesdlg.cpp ------------

@@ -507,7 +507,7 @@

             int itemIndex = -1;

             if (toDelete > -1)

             {

-                itemIndex = (int) from -> GetClientData(toDelete);

+                itemIndex = (intptr_t) from -> GetClientData(toDelete);

                 from -> Delete(toDelete);

             }

 

@@ -686,7 +686,7 @@

         wxString str = versionChoice->GetString(versionChoice->GetSelection());

 

         // itemIndex is the index into the list of item names. It gets stored with all the listbox items.

-        int itemIndex = (int) pListBox->GetClientData((*selected)[nIndex]);

[1] [2]
关键字:eCos  Configuration  Tool  build  ubuntu  AMD64 引用地址:eCos Configuration Tool build on ubuntu 10.04 AMD64

上一篇:eCos DM9000网卡在MINI2440 QEMU的测试
下一篇:RTEMS Hello World for MINI2440 QEMU

推荐阅读最新更新时间:2024-11-20 00:12

三星Galaxy F22规格在Google Play Console网站曝光
三星Galaxy F22在印度的价格将很快揭晓,因为该手机预计将在7月第二周正式上市。我们本周报道了Galaxy F22将来到印度,价格也被推测为低于15000卢比。现在,在正式发布之前,三星Galaxy F22规格已经在Google Play Console上曝光。该网站披露了该手机芯片组、内存、显示屏分辨率等规格。   MySmartPrice在Google Play Console网站上发现了三星Galaxy F22。该列表显示,这款型号为SM-E225F的手机采用了联发科MT6769T芯片组,也就是联发科Helio G80处理器。根据清单,这颗SoC与4GB内存搭配。然而,三星Galaxy F22可能会有更多内存
[手机便携]
三星Galaxy F22规格在Google Play C<font color='red'>on</font>sole网站曝光
记录ok6410 jlink 命令行调试uboot
1启动ok6410 进入uboot命令行 2\启动JLinkGDBServer -device ARM11 3arm-none-eabi-gdb u-boot 初始化脚本 # Connect to the J-Link GDBServer target remote localhost:2331 # Set JTAG speed to 30 kHz monitor endian little monitor speed 30 # Reset the target monitor reset monitor sleep 10 # # CPU core initialization # # Set the processor to s
[单片机]
STM32F103R8t6 FreeRTOS工程adc+flash模拟EEPROM源程序
STM32单片机源程序如下: #include sys.h #include delay.h #include usart.h #include led.h #include FreeRTOS.h #include task.h #include ADC.h #include 74HC595.h #include key.h #include stmflash.h //const u8 TEXT_Buffer ={ 0123456789 }; //任务优先级 #define START_TASK_PRIO 1 //任务堆栈大小 #define START_STK_SIZ
[单片机]
多项新款智能手机设计采用Qorvo® RF Fusion
移动应用、基础设施与国防应用中核心技术与 RF 解决方案的领先供应商 Qorvo, Inc.(纳斯达克代码:QRVO)今日宣布,多项新款智能手机设计成功采用最新一代 RF Fusion™ 射频前端 (RFFE) 模块。这些最新应用成果表明,Qorvo 现在利用高度集成的中频/高频模块解决方案,能够为多家领先的智能手机制造商提供广泛的新产品发布支持。最新一代 RF Fusion 模块包括功率放大器、开关和滤波器组件,采用 Qorvo 独有的内核功能组合,以小巧的解决方案尺寸和更小的占地面积,提供更出色的性能。随着业界开始向 5G 过渡,有助于制造商在手机中集成复杂的 RF 内容。 “移动设备现在使用的频段和常用载波聚合频段组合多
[网络通信]
CP2102与C8051的USB-控制器局域网(CAN)转换
随着计算机技术的飞速发展,PC这个已经把USB采纳为通用总线和通用接口标准的控制器几乎已经成为各个领域操控终端的不二之选。只要接口标准统一,并安装必要的应用软件和驱动程序,PC就能接入到各个控制系统中去。因此,为了应用的高效率和操控的便利性,完全有必要采用技术手段实现通过PC的USB接口接入CAN专业网络,把USB的通用性和CAN的专业性结合起来,把它们的优势融合。 CAN(Controller Area Network,控制器局域网)总线是德国Bosch公司在20世纪80年代初为解决汽车中众多控制与测试仪器间的数据交换而开发的一种串行数据通信协议,主要用于各种设备检测及控制。CAN总线是一种多主机控制局域网标准,具
[单片机]
CP2<font color='red'>10</font>2与C8051的USB-控制器局域网(CAN)转换
linux下的nandflash驱动分析(3)——基于s3c6410平台
在上一篇中probe函数中的一个很重要的函数nand_scan函数,现在来说另外一个很重要的函数add_mtd_partitions函数,add_mtd_partitions()会对每一个新建分区建立一个新的mtd_part 结构体,将其加入mtd_ partitions中,并调用add_mtd_device()将此分区作为MTD设备加入mtd_table。成功时返回0,如果分配mtd_part时内存不足,则返回-ENOMEM。 1、在说这个函数前,先说下,与这有关的结构体struct mtd_part和struct mtd_partition结构体,如下所示: mtd_part结构体用于描述分区,其mtd_info结构体
[单片机]
联想智能电视4月10日预售 最低售价6499元
    4月6日上午消息,联想集团(微博)昨日宣布,联想智能电视将于4月10日10:00开始预售,现在已经接受在线预订。   首批上市的产品分两个型号,分别为42寸产品K71和55寸产品K91。目前,42寸联想智能电视售价为6499元,联想在线商城及京东商城(微博)都已经开始接受预定。联想集团暂时未公布55寸产品K91的售价及预售时间。   对比其他厂商推出的智能电视来看,42寸联想智能电视的售价相对高一些,其他厂商的产品价位多在5000元左右。   据悉,联想智能电视采用IPS平板,配备42英寸或者55英寸的3D LED显示屏,同时还配备支持视频电话会议的500万像素摄像头。   联想智能电视采用谷歌(微博)最新
[家用电子]
戴尔AT&T合作 Inspirion上网本仅99美元
据国外媒体报道,戴尔将与AT&T合作,推出99美元的Inspirion Mini 9上网本。 根据双方的计划,要获得戴尔Inspirion Mini 9上网本,用户需要与AT&T签署两年的LaptopConnect无线宽带服务合约,并支付449美元费用。之后,用户可以凭借发票和产品条码,申请获得350美元的邮寄退款。 戴尔全球消费者营销副总裁迈克尔·泰特曼(Michael Tatelman)称:“Mini 9专为移动而设计,高节奏的生活需要快速且稳定地收发邮件、访问社交网络以及上网浏览,我们的优惠套餐为此提供了非同一般的附加价值。” 该计划将于本月底实施,两家公司希望借此促销手段,吸引用户对上网本市场
[手机便携]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved