建立交叉编译环境和在开发板上实现第一个嵌入式Linux应用程序

操作系统:fedora 17 (linux-3.3.4)
开发板:友善之臂Tiny6410
gcc & g++ : 4.7.2
arm-linux-gcc & arm-linux-g++ : 4.5.1

 

一.建立交叉编译环境
1.依次进入Xuexi/FriendlyARM_Tiny6410/Tiny6410_A/Linux目录中把arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz复制到/tmp目录里,然后进入到该目录,执行解压命令
#cd /tmp
##tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz –C /
注意:C后面有个空格,并且C是大写的,它是英文单词“Change”的第一个字母,在此是改变目录的意思。
2.把编译器路径加入系统环境变量(这里设置一个总的系统环境变量,使用所有用户)
#vi /etc/profile
在最后一行加上export PATH=$PATH: /opt/FriendlyARM/toolschain/4.5.1/bin
保存退出
然后重新登录系统(不必重启机器,右上角点击lijunliang->logout即可)使以上设置生效。
在命令行输入arm-linux-gcc –v可以显示版本信息即为系统环境变量配置成功
3.解压安装源代码准备工作
首先创建一个目录作为工作目录,这里我创建到/opt/FriendlyARM/mini6410/linux目录下(后面步骤的所有源代码都会解压安装到此目录中)
#mkdir -p /opt/FriendlyARM/mini6410/linux
创建一个临时目录/tmp/linux并把Xuexi/FriendlyARM_Tiny6410/Tiny6410_A/Linux目录下的所有文件复制到这个临时目录下
#mkdir /tmp/linux
#chmod 777 linux(要改变该目录的权限才能成功复制到这个目录下)
复制完成后。。。
4.解压安装U-boot源代码
#cd /opt/FriendlyARM/mini6410/linux/(进入工作目录)
#tar xvzf /tmp/linux/u-boot-mini6410-20101106.tar.gz
解压安装Linux内核源代码
#tar xvzf /tmp/linux/linux-2.6.38-20111205.tgz
解压安装目标文件系统
#tar xvzf /tmp/linux/rootfs_qtopia_qt4-20111212.tgz
解压安装嵌入式图形系统qtopia源代码
#tar xvzf /tmp/linux/x86-qtopia-20100420.tar.gz
#tar xvfz /tmp/linux/arm-qtopia-20101105.tar.gz
解压安装嵌入式图形系统qt-extended-4.4.3源代码
#tar xvzf /tmp/linux/x86-qt-extended-4.4.3-20101003.tgz
#tar xvzf /tmp/linux/arm-qt-extended-4.4.3-20101105.tgz
解压安装QtE-4.7.0源代码
#tar xvzf /tmp/linux/x86-qte-4.6.1-20100201.tar.gz
#tar xvzf /tmp/linux/arm-qte-4.7.0-20101105.tar.gz
解压安装busybox源代码
#tar xvzf /tmp/linux/busybox-1.17.2-20101120.tgz
解压安装Linux示例程序
#tar xvzf /tmp/linux/examples-mini6410-20110104.tgz
5.解压创建目标文件系统
#tar xvzf /tmp/linux/ rootfs_qtopia_qt4-20101120.tgz(上面已经执行过)
#tar xvzf /tmp/linux/rootfs_qtopia_qt4-s-20111212.tgz
解压安装文件系统映像工具()
#tar xvzf /tmp/linux/mktools-20110720.tar.gz -C /
解压安装LogoMaker
#tar xvzf /tmp/linux/logomaker.tgz -C /(这步解压出来后执行logomaker失败了,暂未找到原因,作用:把图片转换为Linux Logo文件)
#chmod 774 linux(chmod也执行不了logomaker)
对于配置和编译U-boot,配置编译支持SD卡启动的U-boot和配置和编译内核已经在xp系统下操作完成了
 
 
二.在开发板上实现第一个嵌入式Linux应用程序
1.建立源代码
#cd /opt/FriendlyARM/mini6410/linux/examples/
#mkdir hello
#vi hello.c
输入以下代码并存盘退出(VI的简单操作)
#include <stdio.h>
int main()
{
printf("hello, FriendlyARM!\n");
return 0;
}
2.编译hello并生成hello可执行文件
#arm-linux-gcc hello.c -o hello
3.把hello可执行文件下载到开发板(因使用了无线网,没有固定IP,这里我借助SD卡进行下载)
4.用多功能读卡器把SD卡连接到电脑,执行以下命令把hello可执行文件复制到SD卡中
#cp hello /run/media/lijunliang/FRIENDLYARM/
5.退出SD卡把SD卡插到开发板插槽,打开S1开关接通电源
6.等待开发板进入系统后打开开发板的终端,执行以下指令执行hello文件即可
#cd sdcard/
#./hello
7.看到LCD屏幕显示了hello, FriendlyARM!即为成功。

你可能感兴趣的:(linux,开发,嵌入式,应用程序)