ubuntu下使用qemu模拟ARM(五)-------应用程序Hello World
2017-01-23 23:12
489 查看
在前面四章建立好的开发环境基础上我们来写一个应用程序,然后将它在Qemu模拟出来的ARM开发板中运行
首先写程序
#include <stdio.h>
int main()
{
printf("hello linux world!!!");
return 0;
}
编译程序
arm-none-linux-gnueabi-gcc hello.c -o hello
将程序拷到rootfs目录下,然后执行如下:
sudo mount -t ext3 a9rootfs.ext3 tmpfs/ -o loop
sudo cp -r rootfs/* tmpfs/
sudo umount tmpfs
用Qemu测试
qemu-system-arm -M vexpress-a9 -m 512M -kernel /qemu_arm/linux-kernel/linux-3.16.39/arch/arm/boot/zImage -nographic -append "root=/dev/mmcblk0 console=ttyAMA0" -sd /qemu_arm/root_system/a9rootfs.ext3
在启动完成后的提示符下输入 /hello显示结果如下:
input: ImExPS/2 Generic Explorer Mouse as /devices/mb:kmi1/serio1/input/input2
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk0): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) readonly on device 179:0.
Freeing unused kernel memory: 244K (805d6000 - 80613000)
random: nonblocking pool is initialized
mount: mounting proc on /proc failed: No such file or directory
Processing /etc/profile... Done
/ # /hello
hello linux world!!!/ #
可见程序已经运行起来了,并且输出了文字.
首先写程序
#include <stdio.h>
int main()
{
printf("hello linux world!!!");
return 0;
}
编译程序
arm-none-linux-gnueabi-gcc hello.c -o hello
将程序拷到rootfs目录下,然后执行如下:
sudo mount -t ext3 a9rootfs.ext3 tmpfs/ -o loop
sudo cp -r rootfs/* tmpfs/
sudo umount tmpfs
用Qemu测试
qemu-system-arm -M vexpress-a9 -m 512M -kernel /qemu_arm/linux-kernel/linux-3.16.39/arch/arm/boot/zImage -nographic -append "root=/dev/mmcblk0 console=ttyAMA0" -sd /qemu_arm/root_system/a9rootfs.ext3
在启动完成后的提示符下输入 /hello显示结果如下:
input: ImExPS/2 Generic Explorer Mouse as /devices/mb:kmi1/serio1/input/input2
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk0): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) readonly on device 179:0.
Freeing unused kernel memory: 244K (805d6000 - 80613000)
random: nonblocking pool is initialized
mount: mounting proc on /proc failed: No such file or directory
Processing /etc/profile... Done
/ # /hello
hello linux world!!!/ #
可见程序已经运行起来了,并且输出了文字.
相关文章推荐
- 名称空间与作用域
- NOWL #50
- Java语言程序设计基础(一)
- 2017年1月21日学习笔记 Spring是什么?
- [poj2945] 找出克隆人
- C语言------练习题
- 深度学习2--安装opencv2.4(材料都在百度云上)
- Qt 简单去掉对话框最大化、最小化按钮
- C语言-----练习题
- JAVA复习第三天-静态理解
- orb-slam评价
- session与cookie的区别与联系
- 自动化测试简介
- MFC--在主窗口显示前先显示登录窗口 .
- 跟随手指的小球
- PAT---A1005. Spell It Right (20)
- android listview第一个子项内部控件的单击事件阻塞。。
- Crossword Answers UVA - 232
- 一个菜鸟从高一到大二的作品整理
- Codeforces Round #304 (Div. 2)-E. Soldier and Traveling