和菜鸟一起学OK6410之交叉编译hello world
2012-06-29 00:08
267 查看
看着大三买来的那块arm11(OK6410),又要开始冲动一把了,记得过年回来的时候,在ubuntu下搭建过OK6410的开发环境,不过不小心把ubuntu系统给卸载了,那软件还装了好多好多的,各种设置,悲剧的孩子。郁闷着,于是装了linux的虚拟机。还是跟新系统啊,安装软件啊,终于搞定了。
好了,既然已经搞定了虚拟机,交叉编译工具啊,内核啊都放进去了,就写个简单的hello world在OK6410的板子上实现吧,在此OK6410必须安装了linux操作系统,要不然拿个wince可不行,具体官方资料很详细了,可能会出现小问题,不过还是很好解决的,本人人品好,一次就烧好了系统。Linux2.6.28的,一直没有换过,期间也烧写过android系统。
进入正题,首先是要写那个hello world的c代码了,相信学过你有这个板子那么,这个代码就是浮云了,信手捏来啊。
Hello.c代码如下:
觉得linux下的编译嘛用个makefile比较好,方便:
Makefile代码如下:
哭死了,那个虚拟机里面我的vi配置中tab键居然不是tab键,而makefile的命令前必须是tab键的,导致我编译错了n次,最后还是用gedit
makefile来修改下那个tab键才解决的。
没有以前环境方便啊,nfs网络挂载,直接可以把编译好的hello放到板子上,然后minicom直接可以看结果了。不过,既然用了windows系统,既然用了虚拟机,那么就不要怪这怪那了。想想办法总会实现的。首先把虚拟机里的东西拿到windows下,就用已经实现的xftp来吧:
![](http://my.csdn.net/uploads/201206/29/1340899770_7195.png)
直接拖到SD卡里面。嘿嘿,SD卡可热插拔,所以嘛,挺方便的,相信你烧过系统肯定有SD卡的,所以这个就很直接了,然后放到板子里面去
![](http://my.csdn.net/uploads/201206/29/1340899807_5734.png)
这个是用windows下最最直接的超级终端了,这个配置呢,我就不多讲了,相信很简单的。不过win7什么的没有了,可以安装个串口调试助手什么的,效果一样的。
好了,看到了吗?hello这个可执行文件在sdcard里面了,哈哈。然后就是执行这个程序看看结果了。
![](http://my.csdn.net/uploads/201206/29/1340899834_8502.png)
看到了吗?效果出来了,就是打印了这两行代码呢。OK,搞定了,接下去就可以用这种办法去学习了。主要是呢,用网络挂载,没有路由器,主机没法上网,这个就可以脱离网络挂载了。好了,既然这么顺利完成了,就睡觉去了。哈哈。。。明天拿了报到证就可以转正式了。。。小激动下,都实习快8个月了。。。
好了,既然已经搞定了虚拟机,交叉编译工具啊,内核啊都放进去了,就写个简单的hello world在OK6410的板子上实现吧,在此OK6410必须安装了linux操作系统,要不然拿个wince可不行,具体官方资料很详细了,可能会出现小问题,不过还是很好解决的,本人人品好,一次就烧好了系统。Linux2.6.28的,一直没有换过,期间也烧写过android系统。
进入正题,首先是要写那个hello world的c代码了,相信学过你有这个板子那么,这个代码就是浮云了,信手捏来啊。
Hello.c代码如下:
#include <stdio.h> int main(void) { printf("Hello World!\n"); printf("I will win the World\n"); return 0; }
觉得linux下的编译嘛用个makefile比较好,方便:
Makefile代码如下:
CC = /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-gcc hello:hello.o $(CC) -o hello hello.o hello.o : hello.c $(CC) -c hello.c clean : rm hello.o
哭死了,那个虚拟机里面我的vi配置中tab键居然不是tab键,而makefile的命令前必须是tab键的,导致我编译错了n次,最后还是用gedit
makefile来修改下那个tab键才解决的。
没有以前环境方便啊,nfs网络挂载,直接可以把编译好的hello放到板子上,然后minicom直接可以看结果了。不过,既然用了windows系统,既然用了虚拟机,那么就不要怪这怪那了。想想办法总会实现的。首先把虚拟机里的东西拿到windows下,就用已经实现的xftp来吧:
![](http://my.csdn.net/uploads/201206/29/1340899770_7195.png)
直接拖到SD卡里面。嘿嘿,SD卡可热插拔,所以嘛,挺方便的,相信你烧过系统肯定有SD卡的,所以这个就很直接了,然后放到板子里面去
![](http://my.csdn.net/uploads/201206/29/1340899807_5734.png)
这个是用windows下最最直接的超级终端了,这个配置呢,我就不多讲了,相信很简单的。不过win7什么的没有了,可以安装个串口调试助手什么的,效果一样的。
好了,看到了吗?hello这个可执行文件在sdcard里面了,哈哈。然后就是执行这个程序看看结果了。
![](http://my.csdn.net/uploads/201206/29/1340899834_8502.png)
看到了吗?效果出来了,就是打印了这两行代码呢。OK,搞定了,接下去就可以用这种办法去学习了。主要是呢,用网络挂载,没有路由器,主机没法上网,这个就可以脱离网络挂载了。好了,既然这么顺利完成了,就睡觉去了。哈哈。。。明天拿了报到证就可以转正式了。。。小激动下,都实习快8个月了。。。
相关文章推荐
- 和菜鸟一起学OK6410之交叉编译hello world
- 和菜鸟一起学OK6410之交叉编译hello world .
- 和菜鸟一起学OK6410之最简单驱动模块hello world
- 和菜鸟一起学OK6410之最简单驱动模块hello world
- 和菜鸟一起学ok6410之ffmpeg+ffserver实现流媒体传输
- 和菜鸟一起学OK6410之tftp下载内核,nfs挂载文件系统全过程详解
- 从零开始移植QT4.8.5之四--交叉编译QT程序并运行在OK6410上
- 和菜鸟一起学OK6410之蜂鸣器buzzer字符驱动
- 和菜鸟一起学ok6410之ffmpeg+ffserver实现流媒体传输
- 和菜鸟一起学ok6410之ffmpeg+ffserver实现流媒体传输
- 和菜鸟一起学OK6410之蜂鸣器buzzer字符驱动
- 和菜鸟一起学OK6410之tftp下载内核,nfs挂载文件系统全过程详解
- 和菜鸟一起学OK6410之ADC模块
- 和菜鸟一起学OK6410之ADC模块
- 和菜鸟一起学OK6410之Led字符驱动
- 搭建OK6410交叉编译环境arm-linux-gcc-4.3.2
- 和菜鸟一起学OK6410之熟悉内核源码
- 和菜鸟一起学OK6410之Led字符驱动
- 和菜鸟一起学OK6410之熟悉内核源码
- ok6410[001] Ubuntu 16.04[64bit]嵌入式交叉编译环境arm-linux-gcc搭建过程图解