交叉编译环境的建立与Eclipse的使用

所需开发工具及环境
虚拟机linux:fedora 9 交叉编译工具:arm-linux-gcc-3.4.1.tar.bz2 集成开发工具:eclipse(linux安装包中自带的,安装linux时选中安装) 安装arm交叉编译器
    1. 安装。其实很简单,就是将下载的arm-linux-gcc-3.4.1.tar.bz2解压到linux根目录即可(因为解压后已经包含了/usr/local目录,所以要解压到根目录),如下命令:
tar -jxvf arm-linux-gcc-3.4.1.tar.bz2 -c /
解压后的目录如下图:
解压后的目录/usr/local/arm/3.4.1/
    2. 设置环境变量。就是把交叉编译器的路径设置到系统环境变量里面去。
echo $path
查看现有的环境变量,显示如下图:
如果你只想临时添加交叉编译器的环境变量(注:临时添加的系统重启或注销后又没有了),只需在命令行输入如下命令:
export path=$path:/usr/local/arm/3.4.1/bin
添加后的环境变量如下图:(多了一个/usr/local/arm/3.4.1/bin)
如果你想这个环境变量永久的添加到系统的环境变量中,则你只需把这个命令添加到/root/.bashrc文件的最后一行即可(这个文件是隐藏文件,你要在文件浏览器中单击查看菜单,勾选显示隐藏文件才能看到)
    3. 测试建立的交叉编译环境。新建一个c程序,文件名:test.c, 如下:
#include
int main(void)
{
    printf(hellow world!\n);
    return 0;
}
进行交叉编译,如下:
arm-linux-gcc -o test test.c
将交叉编译好的目标文件test下载到arm开发板中并运行,如下:
./test
输出结果为:
hellow world!
用集成开发工具eclipse来开发嵌入式应用程序
双击eclipse图标启动eclipse
设置eclipse的工作空间,就是选个目录,单击ok
启动后的主界面
开始新建一个应用程序工程
选择新建一个c工程,单击next
给工程取个名字,这里我就叫test_app;然后选择工程类型,我选择了个hellow world c工程模版,单击next
填写作者、版权等信息,单击next
没什么选的,点击finish
单击yes
新建好的项目工程
展开左边的源代码目录,双击打开主函数。这里只是输出一句hello world!!!,你可以做一些其他复杂的应用
单击project菜单,去掉build automatically的勾选,因为勾选的话,每次修改一个地方工程都会自动进行编译
打开工程的属性对话框进行编译选项的设置
我们的应用程序最终要到嵌入式arm上运行,这里就要把gcc改成arm-linux-gcc编译器,当然前提是你要在你的开发主机上先安装arm-linux-gcc
c连接器也要改成arm-linux-gcc
这里的libraries是设置你的应用程序中用到的库文件,比如应用程序中用到了线程类,则这里在上面添加pthread这个库,下面就添加这个库的路径。如果应用程序没用到任何库文件就不用管了
选中左侧的工程名,右键,在弹出的菜单中选择build project编译工程
编译好后的工程,目标文件在debug目录下
结束语
    建立交叉编译环境是开发嵌入式程序的第一步,编译器版本也有很多,这里就介绍用的较多的一种。而eclipse则是本人认为开发嵌入式应用程序最为方便的集成开发工具,他不仅让整个工程清晰可见,更重要的是他不需要你去为整个工程编写复杂的makefile文件,他会为你自动生成makefile。

NETSOL串行MRAM产品介绍
京东方B11厂将为iPhone 12部分新机供应OLED屏幕
MIT研发基于AI助力的图像处理编辑工具
联想的歪路
利用 5G 网络及现代医疗技术,建成首个5G 智慧医疗试点
交叉编译环境的建立与Eclipse的使用
高分辨率信号采集如何选择精密ADC
我国首次火星探测任务天问一号探测器顺利完成第三次轨道中途修正
瑞迅科技边缘网关煤矿物联网方案,问鼎国家级奖项
ADC0808工作时序图
从IBM的智能酒庄到ADI的“番茄互联网”,智能农业的明天会有多远?
针对DDR3存储器模块应用设计的集成EEPROM温度传感器
一种多功能电子焊接操作台的设计方案
物联网哪四大技术被应用于疫情中?
快速 60V 保护的高压侧 N 沟道 MOSFET 驱动器提供 100% 占空比能力
虹信通信数字微波拉远覆盖应用案例
[图文]一种低成本高精度温度测量电路
扬尘在线监测仪的作用有哪些?
中国科学院研发出了一种可以改善近红外光谱仪模型转移效果的新算法
扩声系统的结构示意图