Linuxc编译和ARM程序编译过程详解
2016-02-24 18:55
866 查看
Linuxc程序编译过程
main.c
预处理 (把头文件展开,宏替换)
gcc -E main.c -o main.i
编译(编译时候检查语法错误)
gcc -S main.i -o main.s
汇编(把汇编代码编译成二进制)
gcc -c main.s -o main.o
链接(把所有的用到的函数链接在一起)
gcc -o main main.o
arm版本编译
1.安装arm编译器
1.准备工具(arm.tar.bz2工具包)
2.下载到linux系统下/usr/loacl
3.解压sudo tar -jxf arm.tar.bz2
2.配置环境变量(使arm-linux-gcc在任意终端多可以使用)
什么是环境变量:系统自动搜索的路径PATH ---/etc/bash.bashrc
env ---查看环境变量
export -- 设置环境变量 export PATH=$PATH:/home/gec/2015-5-21/myx86
echo --- 输出环境变量 echo $PATH
4.sudo vim /etc/bash.bashrc 在最后面添加下面一行
export PATH=$PATH:/usr/local/arm/bin
3.交叉编译程序
arm-linux-gcc -o main main.c
4.下到开发板
开发板ip设置 ifconfig eth0 192.168.1.xx
把main拷贝到/srv/tftp目录下
在开发板通过 tftp -l main -r /srv/tftp/main -g 192.168.1.9
chmod 777 main
./main
5.下程序到开发板(串口方式)
在交叉编译好的程序拷贝到windows桌面
在开发板终端rx main 回车
6.nfs挂载服务器
在虚拟机
1.安装nfs服务器 sudo apt-get install nfs-kernel-server
2.配置 sudo vim /etc/exports在最后面添加下面一行(设置被挂载路径)顶格写
/home/gec/nfs *(rw,sync,no_subtree_check)
3.重启服务器 sudo service nfs-kernel-server restart
在开发板
1.配置IP ifconfig eth0 192.168.1.xx(开发板) 永久配置(vi /etc/profile 在最后添加ip配置)
2.ping 192.168.1.xx (虚拟机)
3.在开发创建一个目录专门用来挂载mkdir /mt
4.mount -o nolock 192.168.1.xx(虚拟机):/home/gec/nfs /mt
5.umount /mt
main.c
预处理 (把头文件展开,宏替换)
gcc -E main.c -o main.i
编译(编译时候检查语法错误)
gcc -S main.i -o main.s
汇编(把汇编代码编译成二进制)
gcc -c main.s -o main.o
链接(把所有的用到的函数链接在一起)
gcc -o main main.o
arm版本编译
1.安装arm编译器
1.准备工具(arm.tar.bz2工具包)
2.下载到linux系统下/usr/loacl
3.解压sudo tar -jxf arm.tar.bz2
2.配置环境变量(使arm-linux-gcc在任意终端多可以使用)
什么是环境变量:系统自动搜索的路径PATH ---/etc/bash.bashrc
env ---查看环境变量
export -- 设置环境变量 export PATH=$PATH:/home/gec/2015-5-21/myx86
echo --- 输出环境变量 echo $PATH
4.sudo vim /etc/bash.bashrc 在最后面添加下面一行
export PATH=$PATH:/usr/local/arm/bin
3.交叉编译程序
arm-linux-gcc -o main main.c
4.下到开发板
开发板ip设置 ifconfig eth0 192.168.1.xx
把main拷贝到/srv/tftp目录下
在开发板通过 tftp -l main -r /srv/tftp/main -g 192.168.1.9
chmod 777 main
./main
5.下程序到开发板(串口方式)
在交叉编译好的程序拷贝到windows桌面
在开发板终端rx main 回车
6.nfs挂载服务器
在虚拟机
1.安装nfs服务器 sudo apt-get install nfs-kernel-server
2.配置 sudo vim /etc/exports在最后面添加下面一行(设置被挂载路径)顶格写
/home/gec/nfs *(rw,sync,no_subtree_check)
3.重启服务器 sudo service nfs-kernel-server restart
在开发板
1.配置IP ifconfig eth0 192.168.1.xx(开发板) 永久配置(vi /etc/profile 在最后添加ip配置)
2.ping 192.168.1.xx (虚拟机)
3.在开发创建一个目录专门用来挂载mkdir /mt
4.mount -o nolock 192.168.1.xx(虚拟机):/home/gec/nfs /mt
5.umount /mt
相关文章推荐
- arm9+linux fl2440 led 驱动 plat_led.c
- Centos7搭建LNMP环境
- centos 6.5 搭建ftp服务器
- centos6.3(64位) 安装apr
- centos 6.5 搭建php
- 在VMware8.0.4安装centos6.3出现蓝屏,显示“anaconda: Fatal IO error 104 (Connection reset by peer) on X server :1.0. install exited abnormally [1/1]”?
- linux常用命令大全
- 安装CentOS 7时出现No Caching mode page found问题的解决
- Linux 有问必答:如何知道进程运行在哪个 CPU 内核上?
- linux安装tacacs+服务器
- Linux命令-find及xargs的使用
- Linux各目录作用
- 《linux内核分析》作业一:分析汇编代码
- linux下如何查看文件权限
- Linux操作系统及常见命令
- linux定时任务crond那些事
- 【linux】curl 速记
- linux命令大全
- linux bind安装与配置
- You (用户名) are not allowed to access to (crontab) because of pam configuration问题处理