发明名称 |
一种嵌入式操作系统驱动程序动态升级方法 |
摘要 |
本发明提供一种嵌入式操作系统驱动程序动态升级方法,包括如下步骤:(1)在核心代码中为每一个驱动程序增设驱动程序入口处任务控制程序,所述任务控制程序设置有一个全局变量driver_upgrading_ flag,通过其取值为TRUE或FALSE来表明当前驱动程序是否正在执行动态升级过程,并初始化为FALSE;(2)设置升级标志driver_upgrading_flag的取值为TRUE,从而将访问该驱动程序的任务挂起,并插入到等待队列waitq_driver_upgrading中;(3)将升级文件编译并加载到内核地址空间;(4)在驱动程序的函数入口处引入升级文件的地址处写入跳转指令,跳转地址为升级文件的函数入口地址;(5)设置升级标志driver_upgrading_flag的取值为FALSE,将访问该驱动程序而被挂起的任务唤醒,恢复运行。 |
申请公布号 |
CN1912833A |
申请公布日期 |
2007.02.14 |
申请号 |
CN200610037353.4 |
申请日期 |
2006.08.29 |
申请人 |
华南理工大学 |
发明人 |
刘发贵;侯勇 |
分类号 |
G06F9/445(2006.01);G06F9/46(2006.01) |
主分类号 |
G06F9/445(2006.01) |
代理机构 |
广州粤高专利代理有限公司 |
代理人 |
何淑珍 |
主权项 |
1、一种嵌入式操作系统驱动程序动态升级方法,其特征在于包括如下步骤:(1)在核心代码中为每一个驱动程序增设驱动程序入口处任务控制程序,所述任务控制程序设置有一个全局变量driver_upgrading_flag,通过其取值为TRUE或FALSE来表明当前驱动程序是否正在执行动态升级过程,并初始化为FALSE;(2)设置升级标志driver_upgrading_flag的取值为TRUE,从而将访问该驱动程序的任务挂起,并插入到等待队列waitq_driver_upgrading中;(3)将升级文件编译并加载到内核地址空间;(4)在驱动程序的函数入口处引入升级文件的地址处写入跳转指令,跳转地址为升级文件的函数入口地址;(5)设置升级标志driver_upgrading_flag的取值为FALSE,将访问该驱动程序而被挂起的任务唤醒,恢复运行。 |
地址 |
510640广东省广州市天河区五山路381号 |