在GT2440开发板上运行一个简单的c程序

概述

刚进入嵌入式开发的学习,处于摸索阶段,故进行一些记录。本文实现在GT2440开发板上运行一个简单的hello程序,更重要的是加深了对嵌入式交叉编译过程的理解:以前弄不明白类似显示hello的c程序在arm中是怎么运行的,最早时候以为arm-linux-gcc编译出来的文件可以直接放到开发板内存中运行,后来以为要利用keil MDK开发环境编写启动文件等,生成BIN文件然后再利用开发板的uboot下载到SDRAM中运行,又折腾了一段时间裸机程序的编写,后来发现其实利用开发板自带的uboot启动板载linux程序,就可以直接运行arm-linux-gcc编译出的c文件了(arm架构下可执行文件)。


实验步骤:

1.建立c文件

运行虚拟机中的ubuntu,在ubuntu中使用编辑器(vim或sublime等)编辑并保存一个c文件hello.c 如下图:



2.编译c文件

打开终端,找到刚才的hello.c文件,使用arm-linux-gcc对hello.c进行编译,生成hello_arm(这个编译器需要自己事先装好,安装方法在我新浪微博里,不再赘述)如下图:


这里生成的hello_arm 就是基于arm架构的可执行程序,为了便于对比我们再用gcc编译器对hello.c进行编译,如下图:


现在分别运行这两个可执行程序如下图所示:


可以发现gcc编译器编译出的文件hello_x86能够直接运行,实际上是因为我们电脑的cpu就是x86架构的。而arm-linux-gcc编译器编译出的文件不能运行,是因为它是基于arm架构的可执行程序。我们可以使用file命令来查看这两个可执行文件的详细信息:


一个是Intel 80386,另一个是ARM。


3.将编译好的hello_arm从ubuntu(虚拟机)共享到windows7(宿主机)中

本人通过设置共享文件夹形式进行,微博中有,不再赘述。


4.使用SecureCRT作为超级终端登录arm开发板

用RS232串口连接宿主机与ARM开发板,打开串口工具SecureCRT对开发板接口参数进行相应配置,开发板选择nor flash启动,接通电源启动开发板,看到如下启动画面:


输入8,选择启动系统。

待系统启动完毕后,激活控制台,输入ls,可以看到已经登录到开发板了,如下图:



5.传送hello_arm文件,并在开发板中运行

进入arm_code_test 文件夹,并输入rz  命令,会弹出提示框,选择之前编译好的hello_arm,进行文件传送,如下图:


文件传送完成后可以通过 ls 命令查看到已经传到开发板的文件,使用 ./hello_arm运行文件,会发现没有权限而被拒绝,如下图:


这时,我们需要修改hello_arm文件的可执行权限,输入:chmod +x hello_arm ,再次运行这个文件即可,如下图:


至此,实现了在arm开发板运行一个c程序文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值