三九宝宝网宝宝成长宝宝手工

如何制作armlinuxgcc编译工具

03月15日 编辑 39baobao.com

[如何使用u大师u盘启动盘制作工具制作出来的u大师iso镜像]准备工作: 1、一个u大师iso镜像(可以使用u大师V4.0制作,或者点击u大师iso镜像下载): 2、软碟通; 详细步骤: 1、打开U大师V4.0,点击iso制作: 2、保存iso镜像额下载位置: 3、此时U大师开...+阅读

一、下载源文件源代码文件及其版本:binutils-2.19.tar.bz2, gcc-core-4.4.4.tar.bz2 gcc-g++-4.4.4.tar.bz2 Glibc-2.7.tar.bz2 Glibc-ports-2.7.tar.bz2 Gmp-4.2.tar.bz2 mpfr-2.4.0.tar.bz2mpc-1.0.1.tar.gz Linux-2.6.25.tar.bz2 (由于我在编译出错的过程中,根据出错的信息修改了相关的C代码,故而没有下载相应的补丁)一般一个完整的交叉编译器涉及到多个软件,主要包括bilinguals、cc、glibc等。

其中,binutils主要生成一些辅助工具;gcc是用来生成交叉编译器,主要生成arm-linux-gcc交叉编译工具,而glibc主要提供用户程序所需要的一些基本函数库。

二、建立工作目录编译所用主机型号 fc14.i686,虚拟机选的是VM7.0,Linux发行版选的是Fedora9,第一次编译时用的是root用户(第二次用一般用户yyz), 所有的工作目录都在/home/yyz/cross下面建立完成,首先在/home/yyz目录下建立cross目录,然后进入工作目录,查看当前目录。

命令如下:创建工具链文件夹:[rootlocalhost cross]# mkdir embedded-toolchains下面在此文件夹下建立如下几个目录:setup-dir:存放下载的压缩包;src-dir:存放binutils、gcc、glibc解压之后的源文件;Kernel:存放内核文件,对内核的配置和编译工作也在此完成;build-dir :编译src-dir下面的源文件,这是GNU推荐的源文件目录与编译目录分离的做法;tool-chain:交叉编译工具链的安装位;program:存放编写程序;doc:说明文档和脚本文件;下面建立目录,并拷贝源文件。

[rootlocalhost cross] #cd embedded- toolchains[rootlocalhost embedded- toolchains] #mkdir setup-dir src-dir kernel build-dir tool-chain program doc[rootlocalhost embedded- toolchains] #lsbuild-dir doc kernel program setup-dir src-dir tool-chain[rootlocalhost embedded- toolchains] #cd setup-dir拷贝源文件:这里我们采用直接拷贝源文件的方法,首先应该修改setup-dir的权限[rootlocalhost embedded- toolchains] #chmod 777 setup-dir然后直接拷贝/home/yyz目录下的源文件到setup-dir目录中,如下图:建立编译目录:[rootlocalhost setup-dir] #cd ../build-dir[rootlocalhost build -dir] #mkdir build-binutils build-gcc build-glibc

三、输出环境变量输出如下的环境变量方便我们编译。

为简化操作过程。下面就建立shell命令脚本environment-variables:[rootlocalhost build -dir] #cd ../doc[rootlocalhost doc] #mkdir scripts[rootlocalhost doc] #cd scripts用编辑器vi编辑环境变量脚本envionment-variables:[rootlocalhost scripts] #vi envionment-variables export PRJROOT=/home/yyz/cross/embedded-toolchainsexport TARGET=arm-linuxexport PREFIX=$PRJROOT/tool-chainexport TARGET_PREFIX=$PREFIX/$TARGETexport PATH=$PREFIX/bin:$PATH截图如下:执行如下语句使环境变量生效:[rootlocalhost scripts]# source ./environment-variables

四、建立二进制工具(binutils)下面将分步说明安装binutils-2.19.1的过程。

[rootlocalhost script] # cd $PRJROOT/src-dir[rootlocalhost src-dir] # tar jxvf ../setup-dir/binutils-2.19.1.tar.bz2[rootlocalhost src-dir] # cd $PRJROOT/build-dir/build-binutils创建Makefile:[rootlocalhost build-binutils] #../../src-dir/binutils-2.19.1/configure --target=$TARGET --prefix=$PREFIX在build-binutils目录下面生成Makefile文件,然后执行make,make install,此过程比较缓慢,大约需要一个15分钟左右。完成后可以在$PREFIX/bin下面看到我们的新的binutil。

输入如下命令[rootlocalhost build-binutils]#ls $PREFIX/bin

linux串口编程termios相关的使用问题

你好楼主,前一阵正好研究了一下linux串口编程,苦恼了一阵,不过总算弄通了,下面说一下我的思路和理解。

struct termios state; 这是一个设计到串口属性的结构体,通过给结构体内的属性赋值来设计串口

的一些属性。

tcgetattr (STDIN_FILENO, &state); 这是获取当前的串口的属性,并赋给STDIN_FILENO这个设

备。计算机中已定义STDIN_FILENO这是一个标准输入的设

备,通常是写在屏幕上(就是在屏幕上显示)。如楼主所说

的A与B相连,可能就是从A写到B了。

=====下面是重新给串口的结构体的属性赋值,以达到自己想设计一个什么功能的串口========

state.c_iflag &= ~(ICRNL | INPCK | ISTRIP | BRKINT); c_iflag是控制输入属性的标志位,打个比

方,c_iflag原来是111,ICRNL代表001 ,ICRNL代表010,ISTRIP代表100,这三

个常量按位或ICRNL | INPCK | ISTRIP 得出的结果就是111 然后再取 ~(非)符号

得的结果就是 000。就代表最终c_iflag的值是000。然后计算机就会根据这一窜二

进制的数字来判断输入的到底是什么属性。向ICRNL 这些常量的值都是在计算机

中已经定义好的了。但是字符串的位数要比我举例子的要多,我只是说了个大概的

意思。 下面我说一下上面个参数的意思。

ICRNL 代表将输入中的回车换为新行。

INPCK 代表启用奇偶校验。

ISTRIP 代表去掉第八位,(就是传输是只传7位)

BRKINT 代表 如果设置了IGNBRK,将忽略BREAK。如果没有设置,但是设置了

BRKINT,那么BREAK将使得输入和输出队列被刷新(影响应该不大)

state.c_iflag |= IXON; IXON 表示可以用ctrl-s暂停输出 。

state.c_lflag &= ~(ICANON | IEXTEN | ISIG | ECHO);

c_lflag 代表本地属性(local),原理同上,下面说明下个参数的用意。

ICANON代表允许一些特殊字符以及按行缓冲。

IEXTEN 当设置 时可被识别,不再作为输入传递。

ISIG 代表当接收到INTR QUIT SUSR 或 DSUSP时产生信号。

ECHO 显示输入字符。

state.c_oflag &= ~OPOST; c_oflag 代表输出控制标志位。

OPOST 代表程序可以选择加工过的输入

state.c_cflag |= CS8; c_cflag 代表控制标志位(ctrl)

CS8代表字符长度掩码是8为,(如会看到串口一些数据

“ 9600 -8-n-1” 代表频率9600,字符长度8位,无奇偶校验,一

位停止位)。

state.c_cflag |= CREAD; CREAD代表设置接受使能。

state.c_cc[VMIN] = 1; 代表非常规模式下读的最小的字符数。

state.c_cc[VTIME] = 0; 代表非常规模式下读的最小延迟。

==========================================================================

tcsetattr (STDIN_FILENO, TCSAFLUSH, &state); 这是把刚才设置好的属性又赋值给

STDIN_FILENO这个设备。

TCSAFLUSH代表当清空输入输出缓冲区时

才改变。

以上是我的看法,希望这些对你有帮助, 欢迎有问题与我交流。

arm linux gcc怎么编译

1

gcc -g test_gdb.c -o test_gdb

只有加入选项-g才能被gdb调试。

使用quit命令,输入: quit 即可。

list:显示10源代码,再次输入该命令显示接下来的10行。

list1,10:显示从第一行到第10行的代码。

在gdb中最简单的设置方式是:break 行号 在这一行设置断点。比如break9 会在代码的第9行设置断点。当程序执行到第9行会自动暂停,此时,第9行代码还未执行。

你也可以使用:break 函数名 的方式在某个函数处设置断点,程序运行到这个函数内的第一条语句处会自动暂停。

使用命令:clear 行号 即可删除。

两种命令:next和step。两者均可以一句一句的查看语句。但不同的是,next命令将函数调用看作一条语句,而step则会进入函数,一步步的执行函数内的代码。

输入命令:continue。它可以让程序继续运行,直到程序运行完毕或者遇到下一个断点为止。

11.当程序在断点处暂停执行时,如何查看当前变量的值?

使用print命令。

这时我总结的linux gdb,希望对你有帮助

请问写了个串口程序在基于arm的linux系统上运行write能显示到终端

ADS只能开发点基本的程序,也就是系统不大的情况。但是他的作用是必须的。

1.通常我们在ADS下用UCOS-II操作系统编写UART串口、网卡、flash的驱动程序,用JTAG配合ADS下载程序到开发板的内存.

说明:现在网卡、flash都可以用了,内存里面的程序必须实现两个功能:用串口实现和用户通讯,可以用串口接收数据(bootloader),并将数据写入flash中,以便以后启动。

2.既然第一步中可以实现下载了,那赶紧把bootloader下载下去吧。

3.可以关掉ADS了,先设置硬件电路,实现flash启动,接着复位。

4.bootloader运行起来了,赶紧把Linux内核和文件系统下载下去(我是用FXP下载),现在复位的话,就先用bootloader启动,然后直接将Linux内核加载到内存,可以运行你的程序了。到此,Linux平台搭建好了,接下来就加载你的驱动程序,应用程序。

以下为关联文档:

怎么制作拧绳工具绳子的出现最少可以上溯到数万年前。在人类开始有最简单的工具的时候,他们便会用草或细小的树枝绞合搓捻成绳子了。人们用它捆野兽、缚牢茅草屋、做腰带系住草裙……再后,出现...

易拉罐手工制作工具利用易拉罐制作精美金属画,它是销路不错的手工艺品。 一、原材料和制作工具:各种易拉罐,笔、尺子、复写纸、厚约3厘米的像胶垫;小、中、大号剪刀和刻刀,彩色水笔、水彩或油画颜料...

淘宝csv数据包如何制作需要什么工具csv是一种数据格式,具体如何编写恐怕需要专业人员才可以……我目前也就知道它可以用excel表格打开阅读,其他的一无所知~在上问不行的,一定要问专家! 不过可以教你一种最简单的方...

如何利用微软官方工具制作U盘安装 Windows 7微软官方工具制作U盘安装 Windows 7: 1、首先将u盘制作成【u深度u盘启动盘】,接着前往相关网站下载win7系统存到u盘启动盘,重启电脑等待出现开机画面按下启动快捷键F12,选择u盘...

怎么制作win7 pe启动盘制作工具制作win7 pe启动盘制作工具步骤如下: 准备工具: 1、u启动windows7PE工具箱 具体步骤: 1、首先到网上下载“u启动windows7PE工具箱”到电脑本地,如下图所示: 2、安装“u启动windo...

如何制作win10u盘启动盘制作工具制作win10U盘系统安装盘: 1、打开【u启动U盘启动盘制作工具】,将准备好的u盘插入电脑usb接口并静待软件对u盘进行识别,保持默认参数设置并直接点击“开始制作”即可: 2、此时,弹...

怎么制作win10u盘启动盘制作工具方法一: 去微软官方网站在线制作U盘启动安装盘: 点击“立即下载工具”,下载后运行工具。选择你要版本: 再选择制作U盘: 点击下一步,会制作U盘启动安装盘了。 方法二: 下载微软官方...

制作网页要那些工具制作网页要那些工具:首先,看你是否有html基础。对现在制作网页的工具来说,Frontpage和Dreamweaver是最好学的。因为它们都是基于可视化的。掌握了它们在学学CSS样式单,这样有助...

如何制作mac os启动盘制作工具如何制作mac os启动盘制作工具,怎样在mac下制作windows启动盘:10.10U盘制作恢复区  1,在app store里下载10.10的安装包 2,准备8GB U盘,进入磁盘工具将u盘更改为“Mac OS扩展(日志...

推荐阅读
图文推荐