首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

arm体系结构与编程一arm开发板上运行Hello World

arm体系结构与编程一arm开发板上运行Hello World

这里以s3c2440为主,我们都知道2440内存有效的应用范围是地址SRAM的0-1000(16进制),还有就是sdram的30000000-34000000。
那么我们要运行一个程序的话就要选用一个内存来运行我们的程序,要想办法把程序放进去,我们一般放到sdram里面运行,一般sram是用作一些初始化的。
在sdram中33000000以上的空间已被uboot所占用,我们只能用33000000以下的空间。
我们用C语言来写,最简单的莫过于hello world!我们就用这个例子来讲解,命令为test.c。
#include<stdio.h>
int main(int argc,char **argv)
{
printf("hello world!\n")
return 0;
}
该程序在x86平台上编译时很简单的,gcc test.c -o test
运行./test
在X86上面是装着linux操作系统的,但是在我们一开始开发板没有装操作系统的话那怎么办呢?
要是我们在arm开发板上运行怎么办?
我们知道编译的过程是先把C语言编程汇编,再把汇编编程机器代码,但是ARM和X86不是同一个体系。汇编指令也不一样,就是说运算的指令是不一样的!
那么我们就不能用上面的来编译了!那么怎么办呢?
我们只能用arm编译器,那么我们要安装交叉工具链,如何安装呢?
下面就讲解交叉编译器的安装
我们先下载arm-linux-gcc-3.4.1.tar.bz2(这个有不同版本,各取所爱)
下载地址:http://www.arm8.net/thread-36-1-1.html
首先我们用tar jxf arm-linux-gcc-3.4.1.tar.bz2解压出来
解压出来了就是我们的编译器,支持的汇编或者机器指令是arm的,为什么要叫arm-linux-gcc呢?
意思是在arm平台上装一个Linux,写出来的程序就能再我们arm开发板上运行。
解压后运行./3.4.1/bin/arm-linux-gcc -v
可以查看该版本的信息。
我们可以看到gcc version 3.4.1就是我们编译器的版本信息了!
再看看prefix=/usr/local/arm/3.4.1这里的信息就是我们要安装的路径。
那么我们先来看看我们系统的路径。
ls /usr/local有没有我们的arm。
没有的话我们建一个目录mkdir /usr/local/arm
然后我们就可以把刚刚解压的目录移动在我们新建的文件夹里面了!
mv 3.4.1 /usr/local/arm/
那么我们现在就试一下编译我们的test.c文件,
输入命令 /usr/local/arm/3.4.1/bin/arm-linux-gcc test.c -o test
这里就有人问,那么我每次编译时都需要输入/usr/local/arm/3.4.1/bin/这个路径吗?
继承事业,薪火相传
返回列表