驱动移植心得

驱动移植心得驱动移植心得 第五驱动小熊移植

不同系统间,驱动移植工作流程:

  1. 验证此驱动在原系统上的运行情况, 是否驱动正常,是否满足需求.
  2. 判断驱动原有接口函数是否能与目的系统对接得上, 若不能,则需要实现能对接得上的接口,并在原系统上通过传入假参数的方式进行验证.
  3. 去除驱动代码的所有非本驱动目录下的头文件, 譬如:一般<xxx.h>之类为非本驱动目录下的头文件, “xx.h”则一般为本驱动目录下的.
  4. 补全所有缺失的函数定义.
  5. 去掉所有#if 和#ifdef等开关条件.
  6. 使用ln -s命令, 将驱动目录链接至目的系统上, 测试是否能编译通过.
  7. 在目的系统编译通过后, 即可调用接口函数测试驱动.若驱动出错,修改错误完成后,应先在原系统上进行验证.如此反复.

心得:

        1.将头文件注释时, 定然有许多未定义的函数或宏定义.而在补充所缺少的定义时, 可以将它们都搬运至一个合适的头文件里.

        2.将头文件注释时, 应由下至上一个一个头文件地进行注释.再编译看看有无错误.然后搜索被移植驱动所在的目录,看看是否有其他文件依旧包含此头文件,也将其注释掉.

        3.在原系统确认 #ifdef 与 #if (xxx) 等编译条件的开启情况, 确认后保留会被编译的代码.因为,在移植工作里,目的系统可能并没有定义这些宏.

        4.去掉所有非被移植驱动目录内的所有头文件, 即使是<stdio.h>也不放过.

        5.头文件的去除工作, 函数定义的补充工作, 函数的重新实现工作,都应在原系统的代码上完成, 而非在目的系统上完成. 这样,每完成一次修改工作,可以立即在原系统上验证.

        6.使用命令”ln -s /原系统驱动目录 /目的系统驱动目录” 

        将需要移植的驱动目录连接至目的系统上, 这样每次修改只需一次即可, 便可在原系统和目的系统上联合验证.

        同时, 某些汇编文件也可以通过此方法链接到目的系统驱动目录上, 因为汇编代码不好嵌入c代码内, 只好将汇编文件添加进编译列表中.

        7.使用命令”sed” 为驱动的每一个函数添加函数名打印, 方便追踪代码执行, 获知驱动入口函数.

        8.对于难以移植的函数, 可以试着将它删除, 然后在原系统上测试看看,驱动是否仍运行正常.

今天的文章 驱动移植心得分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2025-01-05 15:01
下一篇 2025-01-05 14:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/102436.html