嵌入式Linux应用程序如何自动加载驱动模块

2019-07-12 15:07发布

嵌入式Linux操作系统下,一般是利用insmod指令来实现向系统内核载入模块,如载入键盘驱动:
    # insmod /lib/modules/2.6.30/em9x60_keypad
    在嵌入式应用中,往往是需要自动运行模式,这就需要通过编程来实现。因此在应用编程代码中,利用C++中的构造函数以及析构函数可以很好地实现驱动功能模块的自动载入和自动卸载,下面是以键盘为例来加以说明。    定义一个class KEYManager键盘管理类,在该类中主要实现对键盘的响应功能。    其构造函数:
    KEYManager::KEYManager( ) 
    { 
            m_ExitThreadFlag = 0; 
            system'insmod /lib/modules/2.6.30/em9x60_keypad.ko' ); // 载入键盘驱动模块 
    }
    对应的析构函数: 
    KEYManager::~KEYManager( ) 
    { 
            system'rmmod em9x60_key' ); // 卸载键盘驱动模块 
    }
    应用程序中,一旦定义了class KEYManager的实例就实现了键盘模块的自动载入。后续就可打开键盘设备文件,读取键码值,从而实现对键盘响应的功能。