FL2440驱动添加(1):hello world 驱动模块添加

发布者:HarmoniousVibes最新更新时间:2024-07-24 关键字:FL2440  驱动模块 手机看文章 扫描二维码
随时随地手机看文章

试试第一个hello world模块添加:

1,在添加drivers/char/hello.c

/*********************************************************************************
 *      Copyright:  (C) 2014 zhouguangfeng
 *                  All rights reserved.
 *
 *       Filename:  hello.c
 *    Description:  This file 
 *                 
 *        Version:  1.0.0(08/09/2014)
 *         Author:  zhouguangfeng
 *      ChangeLog:  1, Release initial version on '08/09/2014 06:23:18 PM'
 *                 
 ********************************************************************************/
#include
#include
#include

MODULE_LICENSE ('Dual BSD/GPL');

static int __init hello_init (void)
{
    printk (KERN_INFO 'Hello worldn');
    return 0;
}

static void __exit hello_exit (void)
{
    printk (KERN_INFO 'Goodbye worldn');
    return;
}

module_init (hello_init);
module_exit (hello_exit);

其中 printk是内核特有的打印函数,类似与printf,只是它不依赖库文件,KERN_INFO为

打印优先级


2,修改drivers/char/Kconfig文件,添加在make menuconfig的选项

#
# Character device configuration
#


menu 'Character devices'


source 'drivers/tty/Kconfig'


# add  by zhouguangfeng 2014.8.9 for 'Hello world' 

config FL_HELLO
    tristate 'CCTE2440 Hello Driver'
    depends on ARCH_S3C2440
    help
    FL2440 Hello Module.


3,修改drivers/char/Makefile,编译添加的hello.c

obj-$(CONFIG_FL_HELLO) += hello.o


4,make menuconfig选项

[*] Enable loadable module support  ---> 

[*]   Module unloading   //需要支持,否则已经加载的模块无法卸载载


  Device Drivers  --->

Character devices  --->

FL2440 Hello Driver  //刚才添加的Kconfig选项,这里编译为模块


5,make之后,下载内核与文件系统,挂在hello.ko模块

Copyright (C) 2014 zhouguangfeng
dm9000 dm9000 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
zhouxiaoxing login: root
>: ls
apps     data     etc      info     lib      mnt      root     sys      usr
bin      dev      hello    init     linuxrc  proc     sbin     tmp      var
>: ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: seq=0 ttl=64 time=2.592 ms
64 bytes from 192.168.1.1: seq=1 ttl=64 time=0.685 ms
64 bytes from 192.168.1.1: seq=2 ttl=64 time=0.658 ms

--- 192.168.1.1 ping statistics ---
9 packets transmitted, 9 packets received, 0% packet loss
round-trip min/avg/max = 0.658/0.896/2.592 ms

>: tftp -gr hello.ko 192.168.1.3
hello.ko             100% |*******************************|  2365   0:00:00 ETA
>: ls
apps      dev       hello.ko  lib       proc      sys       var
bin       etc       info      linuxrc   root      tmp
data      hello     init      mnt       sbin      usr

>: insmod hello.ko 

Hello world

>: rmmod hello 

Goodbye world


关键字:FL2440  驱动模块 引用地址:FL2440驱动添加(1):hello world 驱动模块添加

上一篇:内核移植和文件系统制作(2):linux内核最小系统和initramfs文件系统
下一篇:内核移植和文件系统制作(3)Ramdisk简介和常见问题

推荐阅读最新更新时间:2024-11-19 23:19

TLP250功率驱动模块在IRF840 MOSFET中的应用
摘 要:介绍了功率器件驱动模块TLP250的结构和使用方法,给出了其与功率MOSFET和DSP控制器接口的硬件电路图。在阐述IRF840功率MOSFET的开关特性的基础上,设计了吸收回路。最后结合直流斩波调速技术,设计了基于TMS320LF2407 DSP的直流电动机全数字闭环调速系统,并给出了实验结果。 关键词:TLP250;IRF840 MOSFET;吸收回路;直流斩波;DSP 引言 ---功率集成电路驱动模块是微电子技术和电力电子技术相结合的产物,其基本功能是使动力和信息合一,成为机和电的关键接口。快速电力电子器件MOSFET的出现,为斩波频率的提高创造了条件,提高斩波频率可以减少低频谐波分量,降低对滤波元器件的要求,减
[电源管理]
二相四线步进电机的单片机源程序 用L298N模块驱动
在网上找了很久资料,都没有直接的源代码去驱动二相四线步进电机。本人编写了一些基本的代码,再加上L298N模块,就可以轻松驱动啦。 单片机源程序如下: #include reg52.h //电机IO #define GPIO_MOTOR P1 //sbit F1 = P1^0; //sbit F2 = P1^1; //sbit F3 = P1^2; //sbit F4 = P1^3; //按键IO sbit K1=P3^0; sbit K2=P3^1; sbit K3=P3^2; sbit K4=P3^3;
[单片机]
二相四线步进电机的单片机源程序 用L298N<font color='red'>模块</font><font color='red'>驱动</font>
TM1637四位数码管模块驱动(TM1637.h头文件)51单片机C语言
TM1637四位数码管模块是一个带时钟点的4位共阳数码管(0.36英寸)的显示模块,驱动芯片为TM1637,驱动方式为IIC,因此只需2根信号线即可使单片机控制4位8段数码管(数码管8级灰度可调)。 控制接口:共4个引脚(GND、VCC、DIO、CLK),GND为地,VCC为供电电源,DIO为数据输入输出脚,CLK为时钟信号脚。 TM1637.h单片机源程序如下: sbit CLK= P3^4; //定义模拟IIC总线的时钟线 sbit DIO = P3^5; //定义模拟IIC总线的数据线 code unsigned char tab = { 0x3F,/*0*/ 0x06,/*1*/
[单片机]
TM1637四位数码管<font color='red'>模块</font><font color='red'>驱动</font>(TM1637.h头文件)51单片机C语言
采用模块化结构的高性能大功率LED驱动解决方案
  引言   手电筒、MR - 16灯泡的升级换代、应急灯以及几乎任何低 功率 白光照明应用都已经在采用 led 技术。   接下来路灯可能是LED 技术大规模应用的下一个领域。与手电筒和低功率应用实例相比, LED路灯 应用也意味着更大的挑战。   1 设计要求   LED路灯照明不会一蹴而就, 因为尚有重大的技术难题需要攻克。除了个别情况(如 太阳能电池 ), 路灯的输入采用交流 电源 (通常被称作“离线” ) , 大多是120 V或230 V 交流电。就荧光灯灯管和高压放电灯而言, 它们可选的离线运行镇流器范围较广。但因为发光 元件 的数目很少, 这种电路很简单。很少有荧光灯有四条以上的灯管, 而高压放电灯采用的元件
[电源管理]
采用<font color='red'>模块</font>化结构的高性能大功率LED<font color='red'>驱动</font>解决方案
STSPIN模块为MikroElektronika的开发板加入高性能电机驱动
意法半导体(ST)与ST授权合作伙伴MikroElektronika合作,开发出四款Click board™开发板,将STSPIN电机驱动器的优势扩展到STM32开发板以外的开发平台,让使用MikroElektronika原型板以及其它板载mikroBUS™插座的系统的用户也能享受STSPIN电机驱动器的各种好处。 意法半导体的STSPIN IC在极小的封装内集成先进的控制功能、受保护的输出级和无耗散功耗的过流保护等电气安全功能,可以简化电机控制设计。该电机驱动器安装在新的即插即用的Click板上,无需任何硬件配置即可使用。此外,意法半导体还积极支持MikroSDK软件库和代码示例的创建项目,与MikroElektron
[嵌入式]
STSPIN<font color='red'>模块</font>为MikroElektronika的开发板加入高性能电机<font color='red'>驱动</font>器
【深度剖析】选择模块化LED驱动器的理由
定制的驱动器有何风险?为什么现成的 LED驱动 器会是更好的解决方案?    LED 驱动器规格书的内容通常是非常吸引人的,厂家会承诺在低价格的基础上,提供良好的性能和丰富的功能。然而,在实际应用中,有许多的潜在障碍在规格书中并未被提到,这样有可能会给开发者带来严重的问题。此外,LED驱动器的研发,测试和认证都很耗时且花费高昂,尤其是AC/DCLED驱动器。现成的并且经过测试的模块,节省了研发工作中所产生的高成本费用,这至少可以节约80%以上的设计成本。    模块化VS分立式:概述   传统观念认为分立式LED驱动器比模块化解决方案会更具有成本优势。然而,事实并非如此。如果价格对比只是基于BOM(物料清单)的成本,模块化驱动器
[电源管理]
【深度剖析】选择<font color='red'>模块</font>化LED<font color='red'>驱动</font>器的理由
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved