基于Linux的应用程序交叉编译
华南理工大学广州学院
嵌入式系统原理与应用课程设计报告
基于Linux的应用程序交叉编译
姓 名:
学 号:
学 院: 中兴通讯3G学院
班 级: 通信工程
指导老师: 邓婷
完成时间: 2012-6-10
一、设计目的
1. 注重培养综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练。
2. 熟悉Linux命令的使用。
3. 掌握arm交叉环境平台搭建过程。
4. 能将应用程序移植到实验箱并运行。
二、设计内容
编写9*9口诀应用程序,并通过特定的编译器编译移植到相应的平台上运行。
三、设计原理
首先在Linux平台上使用vi或者gedit工具编写出9*9口诀应用C源程序,然后通过调用arm-linux-gcc交叉编译工具对9*9口诀应用C源程序进行交叉编译,生成只能在arm开发平台上运行的arm程序,再通过串口和超级终端把arm程序下载到arm开发平台上,最终在arm开发平台上运行arm程序即可显示出效果。
四、设计程序(命令)清单
#include
int main(void)/*主函数体*/
{
int i,j;//声明两个整形变量,i控制行,j控制列
for(i=1;i<=9;i++)//for循环,i从1到9,每次加1
{
for(j=1;j<=i;j++)//for循环,j初始值为1,每次加1,一直到i
printf("%d*%d=%-4d",j,i,j*i);/*输出每行每列的结果,-4d表示左对齐,占4位*/
printf("\n");/*每一行后换行*/
}
return 0;
}
五、运行步骤、结果,保存截屏
①使用vi编写9*9口诀C源程序:
②调用gcc编译工具对99.c源程序在linux平台上进行验证编译:
③使用file命令对生成的99.o文件查看属性:
④调用arm-linux-gcc交叉编译工具对99.c源程序进行交叉编译:
⑤使用file命令对生成的99文件查看属性并运行验证:
六、设计的收获与体会
这次嵌入式课程设计历时一个多星期,在这段日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对三星S3C2440开发板的了解,让我对它有了更加浓厚的兴趣。我们的课题是基于linux交叉编译,以前从来没有听说过这个编译工具,但当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。在连接各个模块的时候一定要注意各个输入、输出引脚的线宽,因为每个线宽是不一样的,只要让各个线宽互相匹配,才能得出正确的结果,否则,出现任何一点小的误差就会导致整个文件系统的编译出现错误提示,在器件的选择上也有一定的技巧,只有选择了合适当前电路所适合的器件,编译才能得到完满成功。
。
课程设计评语
完
成
情
况优秀良好中等及格不及格出勤方案设计安装调试答辩报告总
成
绩指
导
教
师
评
语
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)