ftxpro1.0.的简单介绍

古泉财经 88 0

今天给各位分享ftxpro1.0.的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

如何实现pc机上的com口通信

狂晕中....给你linux代码,你就问windows,给你windows串口控制方式,你就问linux,I 服了 You。

区别很大,两个不同的操作系统,在应用串口上就有所不同,但大体上,还是有共同点,1、设置串口,2、打开串口,3、读写数据,4、异常处理,5、关闭串口

这一系列的控制逻辑都大体相同,只是在代码实现上有所不一样,毕竟两种操作系统内核结构就不一样,linux的串口设置属性是通过头文件#include termios.h的struct termios结构实现,而windows的串口属性是commprop结构设定,其他的读写串口,都有相应的读写文件函数,两种系统都是把串口当作一个设备文件来读写,所以这里就不难理解,为什么使用文件函数来处理串口。linux下可以使用标准C库函数来控制读写串口,windows下可以使用WINDOWS API函数来做串口读写,具体请参看《windows API 大全》以及下文给出的参考地址,也是有详细的说明

在PC机上实现COM口通信并不困难,可你得说清楚是什么操作系统,不同的操作系统,控制串口的区别是很大。

在Windows系统上操作串口可以使用三种方式:MSCOMM控件,WINDOWS API,第三方控件

WINDOWS API使用起来相对麻烦些,主要是在设置串口属性、查询读取方面及异常处理方面。这里简要说下控制串口步骤:

1.打开串口:

使用createfile()打开串口,createfile()将返回串口的句柄。

handle createfile(

lpctstr lpfilename, // pointer to name of the file

dword dwdesiredaccess, // access (read-write) mode

dword dwsharemode, // share mode

lpsecurity_attributes lpsecurityattributes, // pointer to security attributes

dword dwcreationdistribution, // how to create

dword dwflagsandattributes, // file attributes

handle htemplatefile // handle to file with attributes to copy

);

lpfilename: 指明串口制备,例:com1,com2

dwdesiredaccess: 指明串口存取方式,例:generic_read|generic_write

dwsharemode: 指明串口共享方式

lpsecurityattributes: 指明串口的安全属性结构,null为缺省安全属性

dwcreateiondistribution: 必须为open_existin

dwflagandattributes: 对串口唯一有意义的是file_flag_overlapped

htemplatefile: 必须为null

2.关闭串口:

closehandle(hcommdev);

3.设置缓冲区长度:

bool setupcomm(

handle hfile, // handle of communications device

dword dwinqueue, // size of input buffer

dword dwoutqueue // size of output buffer

);

4.commprop结构:

可使用getcommproperties()取得commprop结构,commprop结构中记载了系统支持的各项设置。

typedef struct _commprop { // cmmp

word wpacketlength; // packet size, in bytes

word wpacketversion; // packet version

dword dwservicemask; // services implemented

dword dwreserved1; // reserved

dword dwmaxtxqueue; // max tx bufsize, in bytes

dword dwmaxrxqueue; // max rx bufsize, in bytes

dword dwmaxbaud; // max baud rate, in bps

dword dwprovsubtype; // specific provider type

dword dwprovcapabilities; // capabilities supported

dword dwsettableparams; // changeable parameters

dword dwsettablebaud; // allowable baud rates

word wsettabledata; // allowable byte sizes

word wsettablestopparity; // stop bits/parity allowed

dword dwcurrenttxqueue; // tx buffer size, in bytes

dword dwcurrentrxqueue; // rx buffer size, in bytes

dword dwprovspec1; // provider-specific data

dword dwprovspec2; // provider-specific data

wchar wcprovchar[1]; // provider-specific data

} commprop;

dwmaxbaud:

baud_075 75 bps

baud_110 110 bps

baud_134_5 134.5 bps

baud_150 150 bps

baud_300 300 bps

baud_600 600 bps

baud_1200 1200 bps

baud_1800 1800 bps

baud_2400 2400 bps

baud_4800 4800 bps

baud_7200 7200 bps

baud_9600 9600 bps

baud_14400 14400 bps

baud_19200 19200 bps

baud_38400 38400 bps

baud_56k 56k bps

baud_57600 57600 bps

baud_115200 115200 bps

baud_128k 128k bps

baud_user programmable baud rates available

dwprovsubtype:

pst_fax 传真设备

pst_lat lat协议

pst_modem 调制解调器设备

pst_network_bridge 未指定的网桥

pst_parallelport 并口

pst_rs232 rs-232口

pst_rs422 rs-422口

pst_rs423 rs-432口

pst_rs449 rs-449口

pst_scanner 扫描仪设备

pst_tcpip_telnet tcp/ip telnet协议

pst_unspecified 未指定

pst_x25 x.25标准

dwprovcapabilities

pcf_16bitmode 支持特殊的16位模式

pcf_dtrdsr 支持dtr(数据终端就绪)/dsr(数据设备就绪)

pcf_inttimeouts 支持区间超时

pcf_parity_check 支持奇偶校验

pcf_rlsd 支持rlsd(接收线信号检测)

pcf_rtscts 支持rts(请求发送)/cts(清除发送)

pcf_setxchar 支持可设置的xon/xoff

pcf_specialchars 支持特殊字符

pcf_totaltimeouts 支持总(占用时间)超时

pcf_xonxoff 支持xon/xoff流控制

标准rs-232和window支持除pcf_16bitmode和pcf_specialchar外的所有功能

dwsettableparams

sp_baud 可配置波特率

sp_databits 可配置数据位个数

sp_handshaking 可配置握手(流控制)

sp_parity 可配置奇偶校验模式

sp_parity_check 可配置奇偶校验允许/禁止

sp_rlsd 可配置rlsd(接收信号检测)

sp_stopbits 可配置停止位个数

标准rs-232和window支持以上所有功能

wsettabledata

databits_5 5个数据位

databits_6 6个数据位

databits_7 7个数据位

databits_8 8个数据位

databits_16 16个数据位

databits_16x 通过串行硬件线路的特殊宽度路径

windows 95支持16的所有设置

5.dcb结构:

typedef struct _dcb {// dcb

dword dcblength; // sizeof(dcb)

dword baudrate; // current baud rate

指定当前的波特率

dword fbinary: 1; // binary mode, no eof check

指定是否允许二进制模式,

windows 95中必须为true

dword fparity: 1; // enable parity checking

指定奇偶校验是否允许

dword foutxctsflow:1; // cts output flow control

指定cts是否用于检测发送控制。

当为true是cts为off,发送将被挂起。

dword foutxdsrflow:1; // dsr output flow control

指定cts是否用于检测发送控制。

当为true是cts为off,发送将被挂起。

dword fdtrcontrol:2; // dtr flow control type

dtr_control_disable值将dtr置为off, dtr_control_enable值将dtr置为on, dtr_control_handshake允许dtr"握手",dword fdsrsensitivity:1; // dsr sensitivity 当该值为true时dsr为off时接收的字节被忽略

dword ftxcontinueonxoff:1; // xoff continues tx

指定当接收缓冲区已满,并且驱动程序已经发

送出xoffchar字符时发送是否停止。

true时,在接收缓冲区接收到缓冲区已满的字节xofflim且驱动程序已经发送出xoffchar字符中止接收字节之后,发送继续进行。

false时,在接收缓冲区接收到代表缓冲区已空的字节xonchar且驱动程序已经发送出恢复发送的xonchar之后,发送继续进行。

dword foutx: 1; // xon/xoff out flow control

true时,接收到xoffchar之后便停止发送

接收到xonchar之后将重新开始

dword finx: 1; // xon/xoff in flow control

true时,接收缓冲区接收到代表缓冲区满的xofflim之后,xoffchar发送出去

接收缓冲区接收到代表缓冲区空的xonlim之后,xonchar发送出去

dword ferrorchar: 1; // enable error replacement

该值为true且fparity为true时,用errorchar 成员指定的字符代替奇偶校验错误的接收字符

dword fnull: 1; // enable null stripping

true时,接收时去掉空(0值)字节

dword frtscontrol:2; // rts flow control

rts_control_disable时,rts置为off

rts_control_enable时, rts置为on

rts_control_handshake时,

当接收缓冲区小于半满时rts为on

当接收缓冲区超过四分之三满时rts为off

rts_control_toggle时,

当接收缓冲区仍有剩余字节时rts为on ,否则缺省为off

dword fabortonerror:1; // abort reads/writes on error

true时,有错误发生时中止读和写操作

dword fdummy2:17; // reserved

未使用

word wreserved; // not currently used

未使用,必须为0

word xonlim; // transmit xon threshold

指定在xon字符发送这前接收缓冲区中可允许的最小字节数

word xofflim; // transmit xoff threshold

指定在xoff字符发送这前接收缓冲区中可允许的最小字节数

byte bytesize; // number of bits/byte, 4-8

指定端口当前使用的数据位

byte parity; // 0-4=no,odd,even,mark,space

指定端口当前使用的奇偶校验方法,可能为:

evenparity,markparity,noparity,oddparity

byte stopbits; // 0,1,2 = 1, 1.5, 2

指定端口当前使用的停止位数,可能为:

onestopbit,one5stopbits,twostopbits

char xonchar; // tx and rx xon character

指定用于发送和接收字符xon的值

char xoffchar; // tx and rx xoff character

指定用于发送和接收字符xoff值

char errorchar; // error replacement character

本字符用来代替接收到的奇偶校验发生错误时的值

char eofchar; // end of input character

当没有使用二进制模式时,本字符可用来指示数据的结束

char evtchar; // received event character

当接收到此字符时,会产生一个事件

word wreserved1; // reserved; do not use 未使用

} dcb;

6.改变端口设置

使用如下的两个方法

bool getcommstate(hcomm,dcb);

bool setcommstate(hcomm,dcb);

7.改变普通设置

buildcommdcb(szsettings,dcb);

szsettings的格式:baud parity data stop

例: "baud=96 parity=n data=8 stop=1"

简写:"96;,n,8,1"

szsettings 的有效值

baud:

11 or 110 = 110 bps

15 or 150 = 150 bps

30 or 300 = 300 bps

60 or 600 = 600 bps

12 or 1200 = 1200 bps

24 or 2400 = 2400 bps

48 or 4800 = 4800 bps

96 or 9600 = 9600 bps

19 or 19200= 19200bps

parity:

n=none

e=even

o=odd

m=mark

s=space

data:

5,6,7,8

stopbit

1,1.5,2

8.commconfig结构:

typedef struct _comm_config {

dword dwsize;

word wversion;

word wreserved;

dcb dcb;

dword dwprovidersubtype;

dword dwprovideroffset;

dword dwprovidersize;

wchar wcproviderdata[1];

} commconfig, *lpcommconfig;

可方便的使用bool commconfigdialog(

lptstr lpszname,

hwnd hwnd,

lpcommconfig lpcc);

来设置串行口。

9.超时设置:

可通过commtimeouts结构设置超时,

typedef struct _commtimeouts {

dword readintervaltimeout;

原文参考《VC实现串口通信例程》 作者:阮帮秋

下次记得把问题一次提出来。即便是帮你找资料,也方便一些。

cygwin下安装pycrypto时,出现GCC编译错误,求教

交叉编译工具链作为嵌入式Linux开发的基础ftxpro1.0.,直接影响到嵌入式开发的项目进度和完成质量。由于目前大多数开发人员使用Windows作为嵌入式开发的宿主机,在Windows中通过安装VMware等虚拟机软件来进行嵌入式Linux开发,这样对宿主机的性能要求极高。Cygwin直接作为Windows下的软件完全能满足嵌入式Linux的开发工作,对硬件的要求低及方便快捷的特点成为嵌入式开发的最佳选择。目前网络上Cygwin下直接可用的交叉编译器寥寥无几且版本都比较低,不能满足开源软件对编译器版本依赖性的要求(如低版本工具链编译U-Boot出现软浮点问题等);Crosstool等交叉工具链制作工具也是更新跟不上自由软件版本的进度;同时系统介绍Cygwin下制作交叉编译器方面的资料很少。针对上述情况,基于最新版gcc等自由软件构建Cygwin下的交叉编译器显得尤为迫切和重要。构建前准备工作首先Cygwin下必须保证基本工具比如make}gcc等来构建bootstrap-gcc编译器,这可以在安装Cygwin时选择安装。参照gcc等安装说明文档来在Cygwin下查看是否已经安装,如输入gcc--v等。源码下载gcc-4.5.0的编译需mpc的支持,而mpc又依赖gmp和mpfr库。从各个项目官方网站上下载的最新的源码:binutils-2.20.l.tar.bz2gmp-S.O.l.tar.bz2mpc-0.8.2.tar.gzmpfr-3.O.O.tar.bz2gcc-4.S.O.tar.bz2linux-2.6.34.tar.bz2glibc-2.11.2.tar.bz2glibc-ports-2.ll.tar.bz2gdb-7.l.tar.bz2设置环境变量HOST:工具链要运行的目标机器;BUILD:用来建立工具链的机器;TARGET工具链编译产生的二进制代码可以运行的机器。BUILD=i686-pc-cygwinHOST=i686-pc-cygwinTARGET=arm-linuxSYSROOT指定根目录,$PREFIX指定安装目录。目标系统的头文件、库文件、运行时对象都将被限定在其中,这在交叉编译中有时很重要,可以防止使用宿主机的头文件和库文件。本文首选$SYSROOT为安装目录,$PREFIX主要作为glibc库安装目录。SYSROOT=/cross-rootPREFIX=/cross-root/arm-linux由于GCC-4.5.0需要mpfr,gmp,mpc的支持,而这三个库又不需要交叉编译,仅仅是在编译交叉编译链时使用,所以放在一个临时的目录。TEMP_PREFIX=/build-temp控制某些程序的本地化的环境变量:LCALL=POSIX设置环境变量:PATH=$SYSROOT/bin:儿in:/usr/bin设置编译时的线程数f31减少编译时间:PROCS=2定义各个软件版本:BINUTILSV=2.20.1GCCV=4.5.0GMPV=5.0.1MPFRV=3.0.0MPCV二0.8.2LINUXV二2.6.34GLIBCV=2.11.2GLIBC-PORTSV=2.11GDBV=7.1构建过程详解鉴于手工编译费时费力,统一把构建过程写到Makefile脚本文件中,把其同源码包放在同一目录下,执行make或顺次执行每个命令即可进行无人值守的编译安装交叉工具链。以下主要以Makefile执行过程为主线进行讲解。执行“make”命令实现全速运行可在Cygwin的Shell环境下执行“makemake.log21”命令把编译过程及出现的错误都输出到make.log中,便于查找:all:prerequestinstall-depsinstall-cross-stage-oneinstall-cross-stage-two预处理操作"makeprerequest',命令实现单步执行的第一步,实现输出变量、建立目录及解压源码包等操作。0'set十h”关闭bash的Hash功能,使要运行程序的时候,shell将总是搜索PATH里的目录[4]。这样新工具一旦编译好,shell就可以在$(SYSROOT)/bin目录里找到:prerequest:set+hmkdir-p$(SYSROOT)/binmkdir-p$(PREFIX)/includemkdir-p$(TEMP一REFIX)exportPATHLCesALLtar-xvfgmp-$(GMP_V).tar.bz2tar-xvfmpfr-$(MPFR_V).tar.bz2tar-xvfmpc-$(MPC_V).tar.gztar-xvfbinutils-$(BINUTILS_V).tar.bz2tar-xvfgcc-$(GCC_V).tar.bz2tar-xvflinux-$(LINUX_V).tar.bz2tar-xvfglibc-$(GLIBC_V).tar.bz2tar-xvfglibc-ports-$(GLIBC-PORTS_V).tar.bz2myglibc-ports-$(GLIBC-PORTS_V)glibc-$(GLIBC_V)/portstar-xvfgdb-$(GDBV).tar.bz2非交叉编译安装gcc支持包mpc00makeinstall-deps”命令实现单步执行的第二步,实现mpc本地编译,mpc依赖于gmp和mpfrinstall-deps:gmpmpfrmpcgmp:gmp-$(GMP_V)mkdir-pbuild/gmpcdbuild/gmp../../gmp-*/configure--disable-shared--prefix=$(TEMP_PREFIX)$(MAKE)一$(PROCS)$(MAKE)installmpfr:mpfr-$(MPFR_V)mkdir-pb-uild/mpfrcdbuild/mpfr../..//mpfr-*/configureLDF'LAGS="-Wl,-search_paths_first”--disable-shared--with-gmp=$(TEMP_PREFIX)--prefix=$(TEMP_PREFIX)$(MAKE)一$(PROCS)all$(MAKE)installmpc:mpc-$(MPC_V)gmpmpfrmkdir-pbuild/mpccdbuild/mpc../../mpc-*/configure--with-mpfr=$(TEMPPREFIX)--with-gmp=$(TEMP_PREFIX)--prefix=$(TEMP_PREFIX)$(MAKE)一$(PROCS)$(MAKE)install交叉编译第一阶段"makeinstall-cross-stage-one',命令实现单步执行的第三步,编译安装binutils,bootstrap-gcc和获取Linux内核头文件:install-cross-stage-one:cross-binutilscross-gccget-kernel-headers编译安装binutilscross-binutils:binutils-$(BINUTILS_V)mkdir-pbuild/binutilscdbuild/binutils../..//binutils-*/configure--prefix=$(SYSROOT)--target=$(TARGET)--disable-nls$(MAKE)j$(PROCS)$(MAKE)install编译安装bootstrap-gcc。使用一disable-shared参数的意思是不编译和安装libgcc_eh.a文件。glibc软件包依赖这个库,因为它使用其内部的一lgcc_eh来创建系统[6]。这种依赖性,可通过建立一个指向libgcc.a符号链接得到满足,因为该文件最终将含有通常在libgcc-eh.a中的对象(也可通过补丁文件实现)。cross-gcc:gcc-$(GCC_V)mkdir-pbuild/gcccdbuild/gcc二//gcc-*/configure--target=$(TARGET)--prefix=$(SYSROOT)--disable-nls--disable-shared--disable-multilib--disable-decimal-float--disable-threads--disable-libmudflap--disable-libssp--disable-libgomp--enable-languages=c--with-gmp=$(TEMP_PREFIX)--with-mpfr=$(TEMP_PREFIX)--with-mpc=$(TEMP_PREFIX)$(MAKE)-j$(PROCS)$(MAICE)installIn-vslibgcc.a'arm-linux-gcc-print-libgcc-file-nameIsed's/libgcc/eh/'}获取Linux内核头文件:get-kernel-headersainux-$(LINUX_V)cdlinux-$(LINUX_V)$(MAICE)mrproper$(MAKE)headerscheck$(MAKE)ARCH=armINSTALLesHDR_PATH=destheaders_installfinddest/include(-name.install一。-name..installNaNd)-deletecp-rvdesdinclude/*$(PREFIX)/include交叉编译第二阶段编译安装glibc、重新编译安装binutils、完整编译安装gcc和编译安装gdbo"makeinstall-cross-stage-two',命令实现单步执行的第四步:install-cross-stage-two:cross-glibccross-rebinutilscross-g++cross-gdb编译安装glibcaglib。的安装路径特意选为$(PREFIX),与gcc更好找到动态链接库也有关系,选在$(SYSROOT)提示找不到crti.o;glibc已经不再支持i386;glibc对ARM等的处理器的支持主要通过glibc-ports包来实现;正确认识大小写敏感(CaseSensitive)和大小写不敏感(CaseInsensitive)系统,大小写敏感问题主要影响到glibc,是交叉编译glibc成功的关键:Cygwin帮助手册中可知Cygwin是默认大小写不敏感的n},但是UNIX系统是大小写敏感的,这也是Cygwin和UNIX类系统的一个区别。通过作者自行参考制作的glibc-2.11.2-cygwin.patch补T使glibc变为Case-Insensitive,此补丁主要是对大小写敏感问题改名来实现。交叉编译过程中安装的链接器,在安装完Glibc以前都无法使用。也就是说这个配置的forcedunwind支持测试会失败,因为它依赖运行中的链接器。设置libc_cvforcedunwind=yes这个选项是为ftxpro1.0.了通知configure支持force-unwind,而不需要进行测试。libccv_c_cleanup=yes类似的,在configure脚本中使用libc_cv_ccleanup=yes,以便配置成跳过测试而支持C语言清理处理。cross-glibc:glibc-$(GLIBC_V)cdglibc-$(GLIBC_V)patch-Np1–i//glibc-2.11.2-cygwin.patchcd..mkdir-pbuild/glibccdbuild/glibcecho"libccv_forcedesunwind=yes"config.cacheecho"libccv_c_cleanup=yes"config.cacheecho"libccv_arm_tls=yes"config.cache../../glibc-*/configure--host=$(TARGET)--build=$(../OneScheme/glibc-2.11.2/scripts/config.guess)--prefix=$(PREFIX)--disable-profile--enable-add-ons--enable-kernel=2.6.22.5--with-headers=$(PREFIX)/include--cache-file=config.cache$(MAKE)$(MAKE)install重新编译安装binutils。编译之前要调整工具链,使其指向新生成的动态连接器。调整工具链:SPECS='dirname$(arm-linux-gcc-print-libgcc-file-name)'/specsarm-linux-gcc-dumpspecssed-e's@/lib(64)\?/ld@$(PREFTX)@g'-e,}/}}*cPP}$/{n;s,$,-isystem$(PREFIX)/include,}"$SPECSecho"Newspecsfileis:$SPECS"unsetSPECS测试调整后工具链:echo'main(川’dummy.carm-linux-gcc-B/cross-root/arm-linux/libdummy.creadelf-1a.outIgrep’:/cross-roobarm-linux'调整正确的输出结果:[Requestingprograminterpreter:/tools/lib/ld-linux.so.2j一切正确后删除测试程序:rm-vdummy.ca.out重新编译binutils。指定--host,--build及--target,否则配置不成功,其config.guess识别能力不如gcc做的好。cross-rebinutils:binutils-$(BINUTILS_V)mkdir-pbuild/rebinutilscdbuild/rebinutilsCC="$(TARGET)-gcc-B/cross-roodarm-linux/lib/"AR=$(TARGET)-arRANLIB=$(TARGET)-ranlib../..//binutils-*/configure--host=$(HOST)--build=$(BUILD)--target=$(TARGET)--prefix=$(SYSROOT)--disable-nls--with-lib-path=$(PREFIX)/lib$(MAKE)--$(PROCS)$(MAKE)install高于4.3版的gcc把这个编译当作一个重置的编译器,并且禁止在被一prefix指定的位置搜索startfiles。因为这次不是重置的编译器,并且$(SYSROOT)目录中的startfiles对于创建一个链接到$$(SYSROOT)目录库的工作编译器很重要,所以我们使用下面的补丁,它可以部分还原gcc的老功能tai.patch-Npl–i../gcc-4.5.0-startfiles_fix-l.patch在正常条件下,运行gcc的fixincludes脚本,是为了修复可能损坏的头文件。它会把宿主系统中已修复的头文件安装到gcc专属头文件目录里,通过执行下面的命令,可以抑制fixincludes脚本的运行[9](此时目录为/gcc-4.5.0)。cp-vgcc/Makefile.in{,.orig}sed's@\./fixinc\.sh@-ctrue@'gcc/Makefile.in.origgcc/Makefile.in下面更改gcc的默认动态链接器的位置,使用已安装在/cross-root/ann-linux目录下的链接器,这样确保在gcc真实的编译过程中使用新的动态链接器。即在编译过程中创建的所有二进制文件,都会链接到新的glibc文件forfilein$(findgcc/config-namelinux64.h-o-namelinux.h–o-namesysv4.h)docp-uv$file{,.orig}sed-a's@/lib(64)?(32)?/Id@/cross-root/arm-linux@g’-e's@/usr@/cross-rootlarm-linux@g'$file.orig$fileecho‘#undefSTANDARDINCLUDEDIR#defineSTANDARD_INCLUDEDIR"/cross-root/arm-linux/include"#defineSTANDARDSTARTFILEPREFIX1"/cross-root/arm-linux/lib"#defineSTANDARD_STARTFILE_PREFIX_2””’$filetouch$file.origdone完整编译安装gcc。最好通过指定--libexecdir更改libexecdir到atm-linux目录下。--with-local-prefix选项指定gcc本地包含文件的安装路径此处设为$$(PREFIX),安装后就会在内核头文件的路径下。路径前指定$(Pwd)则以当前路径为基点,不指定则默认以/home路径为基点,这点要注意。cross-g++:gcc-$(GCC-)mkdir-pbuild/g十+cdbuild/g++CC="$(TARGET)-gccAR=$(TARGET)-ar-B/cross-roodarm-linux/lib/"RANLIB=$(TARGET)-ranlib..//gcc-*/configure--host=$(HOST)--build=$(BUILD)--target=$(TARGET)--prefix=$(SYSROOT)--with-local-prefix=$(PREFIX)--enable-clocale=gnu--enable-shared--enable-threads=posix--enable-cxa_atexit--enable-languages=c,c++--enable-c99--enable-long-long--disable-libstdcxx-pch--disable-libunwind-exceptions--with-gmp=$(TEMP_PREFIX)--with-mpfr=$(TEMP_PREFIX)--with-mpc=$(TEMP_PREFIX)$(MAKE)LD_IBRARY_ATH=$(pwd)/$(../../gcc-4.5.0/config.guess)/libgcc$(MAKE)install编译安装gdb,至此完成整个工具链的制作。cross-gdb:gdb-$(GDBV)mkdir-pbuild/gdbcdbuild/gdb../../gdb-*/configure--prefix=$(SYSROOT)--target=$(TARGET)--disable-werror$(MAKE)-j$(PROCS)$(MAKE)install“makeclean”命令清除编译生成的文件和创建解压的文件夹.PHONY:cleandean:rm-fr$(TEMP_PREFIX)buildbinutils-$(BINUTIL,S_V)gcc-$(GCC_V)glibc-$(NEWL.IB_V)gdb-$(GDB_V)gmp-$(GMP_V)mpc-$(MPC_V)mpfr-$(MPFR_V)工具链测试命令行中输入以下内容:echo'main(){}’dummy.carm-linux-gcc-odummy.exedummy.cfiledummy.exe运行正常的结果:dummy.exe:ELF32-bitLSBexecutable,ARM,version1,forGNU/Linux2.6.22,dynamicallylinked(usessharedlibs),notstripped.

关于ftxpro1.0.和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签: #ftxpro1.0.

  • 评论列表

留言评论