首页 › Category Archives › 嵌入式

移植mysql到嵌入式ARM平台

MySQL没有专门针对ARM的版本,移植到ARM没有官方文档可参考,因此,暂时参考这样一篇文档: http://blog.chinaunix.net/space.php?uid=9701860&do=blog&id=285428,因为MySQL5.5之后,编译是用的cmake不再使用./configure,因此,只好倒回支持./configure的版本来用,这里使用了文档上的5.1.51版本。进行如下步骤完成移植:
继续阅读 »

Linux ARM交叉编译工具链制作过程

一、下载源文件

源代码文件及其版本与下载地址:

Binutils-2.19.tar.bz2
http://ftp.gnu.org/gnu/binutils/
gcc-4.4.4.tar.bz2
http://mirrors.kernel.org/gnu/gcc/gcc-4.4.4/
Glibc-2.11.2.tar.bz2
Glibc-ports-2.11.tar.bz2
http://ftp.gnu.org/gnu/glibc/
Gmp-4.2.tar.bz2
http://ftp.gnu.org/gnu/gmp/
Mpfr-2.4.0.tar.bz2
http://ftp.gnu.org/gnu/mpfr/
Linux-2.6.29.tar.bz2
Patch-2.6.29.bz2
http://www.kernel.org/pub/linux/kernel/v2.6/
继续阅读 »

Crosstool-ng制作交叉编译工具链

交叉编译器可以用现成的,比如CodeSourcery制作的交叉编译器,也可以自己制作,一般是用kernel+gcc+glibc+binutils的源码包来编译安装,后来由于这个太麻烦于是就有类似crosstool这样的自动化配置工具。

现在之所以用crosstool-ng是因为crosstool-ng是新的用来建立交叉工具链的工具,它是crosstool的替换者。crosstool的gcc版本只能到4.1.1,无法编译版本高于2.6.29的linux内核。而crosstool-ng一直保持着更新,现在最新能够建立 gcc 4.3.2版本,可用来编译最新内核。
继续阅读 »

建立交叉编译工具链

(1)下载交叉编译工具:arm-linux-gcc-3.4.5.tar.bz2
(2)解压:tar xvf arm-linux-gcc-3.4.5.tar.bz2,多出usr目录
(3)命令:mkdir /usr/local/arm/,创建arm交叉工具链,存放目录
(4)命令:mv usr/local/arm/3.4.5/ /usr/local/arm/,将交叉工具链移动到lusr/local/arm
(5)命令:vim /root/.bashrc,添加如下语句:export PATH=$PATH:/usr/local/arm/3.4.5/bin,这条语句将交叉编译工具链bin/目录的路径添加到环境变量PATH中。保存
(6)重新打开一个终端,输入arm,然后按tab键,如出现arm-linux-,则说明成功了

裸板编程基础知识

一、交叉编译工具选项说明
1、arm-linux-gcc
我们知道一个c/c++文件要经过预处理、编译、汇编、连接四个步骤才能编程可执行文件
预处理:主要讲include文件插入到源文件中、将宏定义展开、根据条件编译命令选择要使用的代码,它用到arm-linux-ccp工具。

继续阅读 »

应用调试之使用gdb和gdbserver

一、调试原理
这里的gdb调试是在pc机上对在开发板上运行的程序进行调试。具体来说的话,在pc机上要运行gdb,在开发板上运行dbserver。gdb调试的时候,pc机上的gdb向开发板上的gdbserver发出命令,而开发板上的gdbserver就会向应用程序发出信号,使应用程序停下来或者完成其他一些工作!由此我们知道,pc机上要运行gdb,开发板上要运行gdbserver!

继续阅读 »