快速业务通道

linux内核线程的创建及在QEMU上的测试方法

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-13
kthread_dev_obj->thread=kthread_run(kthread_fun,kthread_dev_obj,"%sd",kthread_dev_obj->name);//创建并运行内核线程
return 0;
}
static void kthread_cleanup(void)
{
kthread_stop(kthread_dev_obj->thread);//停止内核线程
cdev_del(&kthread_dev_obj->cdev);
unregister_chrdev_region(MKDEV(kthread_major, 0), 1);
device_destroy(my_class,MKDEV(kthread_major,0));
class_destroy(my_class);
kfree(kthread_dev_obj);
printk("kthread device uninstalledn");
}
module_init(kthread_init);
module_exit(kthread_cleanup);

二、在QEMU平台上的测试方法

QEMU可以模拟很多硬件平台,使用QEMU适用于你手边没用硬件平台,或没用很好的内核调试工具的情况.

这里主要介绍使用QEMU模拟ARM开发环境,并运行linux系统的过程.

1、系统环境

操作系统平台:Ubuntu 10.10
交叉工具:arm-softfloat-linux-gnu
测试内核:Linux2.6.22
测试平台:RealView-EB (QEMU 模拟)

2、安装QEMU的方法

使用新立得获取安装包

安装完毕后,测试一下可以支持的ARM平台

$ qemu-system-arm -M ?
Supported machines are:
syborg Syborg (Symbian Virtual Platform)
musicpal Marvell 88w8618 / MusicPal (ARM926EJ-S)
mainstone Mainstone II (PXA27x)
n800 Nokia N800 tablet aka. RX-34 (OMAP2420)
n810 Nokia N810 tablet aka. RX-44 (OMAP2420)
cheetah Palm Tungsten|E aka. Cheetah PDA (OMAP310)
sx1 Siemens SX1 (OMAP310) V2
sx1-v1 Siemens SX1 (OMAP310) V1
tosa Tosa PDA (PXA255)
akita Akita PDA (PXA270)
spitz Spitz PDA (PXA270)
borzoi Borzoi PDA (PXA270)
terrier Terrier PDA (PXA270)
connex Gumstix Connex (PXA255)
verdex Gumstix Verdex (PXA270)
lm3s811evb Stellaris LM3S811EVB
lm3s6965evb Stellaris LM3S6965EVB
realview-eb ARM RealView Emulation Baseboard (ARM926EJ-S)
realview-eb-mpcore ARM RealView Emulation Baseboard (ARM11MPCore)
realview-pb-a8 ARM RealView Platform Baseboard for Cortex-A8
realview-pbx-a9 ARM RealView Platform Baseboard Explore for Cortex-A9
versatilepb ARM Versatile/PB (ARM926EJ-S)
versatileab ARM Versatile/AB (ARM926EJ-S)
integratorcp ARM Integrator/CP (ARM926EJ-S) (default)

3、制作内核镜像

(1)配置好交叉开发工具

(2)配置内核
#cp arch/arm/configs/realview_defconfig .config
#make menuconfig
配置支持initial ramdisk

配置支持Ramdisk块设备:
Device Drivers ->Block devices->RAM disk support
其中:Default RAM disk size (kbytes)要改成和你的RAMDISK镜像一样的大小.

配置内核添加调试选项:
Kernel hacking ->Compile the k

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号