我们知道,内核中使用__section设置了很多的段属性,使用段属性可以很方便的对函数调用时间分层。

比如我们之前常见的subsys_initcall,就要比module_init更早的执行,因为subsys_initcall在驱动中通常是bus和class,驱动程序调用执行需要class和bus已经创建才能执行驱动函数。

关于这点我之前的博文已经有过分析。

https://blog.csdn.net/qq_16777851/article/details/82121456

和subsys_initcall、arch_initcall、core_initcall、device_initcall等类似,内核在别的地方也是用了这样的模式。

这里我们要说的就是__setup

可以搜索一下__setup,可以发现这个宏的调用高达300次,可见这个宏的种重要性。

这个宏里面又是调用了另一个宏

#define __setup(str, fn)                     \__setup_param(str, fn, fn, 0)
</

从零开始之驱动发开、linux驱动(六十三、内核调试篇--基础知识1[earlyprintk建立过程])相关推荐

  1. 从零开始之驱动发开、linux驱动(六十四、内核调试篇--基础知识2[console的建立])

    上一节我们分析的earlay的printk知识,本节主要分析一下在内核启动后的printk的知识. 主要是通过下面函数实现的 after_dashes = parse_args("Booti ...

  2. 从零开始之驱动发开、linux驱动(六十六、内核调试篇--printk原理)

    上一节我们已经看到了console的注册,prink的基础就是console,所以本节我们主要看内核中prink的实现. /*** printk - print a kernel message* @ ...

  3. 【Linux开发】linux设备驱动归纳总结(一):内核的相关基础概念

    linux设备驱动归纳总结(一):内核的相关基础概念 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  4. Linux驱动 简单的Linux驱动基础知识

    Linux驱动 简单的Linux驱动基础知识 一.简述         记--Linux驱动学习笔记. Linux驱动程序初始化硬件设备,并提供硬件控制接口给更上一层的应用调用. 例如使用QT应用程序 ...

  5. Linux进程管理:进程和线程基础知识

    <Linux进程管理:进程和线程基础知识> <Linux-进程管理> <C语言进程的内存地址空间分配> <进程和线程模型> <(1)Linux进程 ...

  6. ❤️六W字《计算机基础知识》(一)(建议收藏)❤️

    计算机简介:         计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运行,自动.高速处理海量 ...

  7. ❤️六W字《计算机基础知识》(二)(建议收藏)❤️

    上一篇: ❤️六W字<计算机基础知识>(一)❤️  51. Access是一种____数据库管理系统. A.发散型 B.集中型  C.关系型  D.逻辑型 52. 用高级程序设计语言编写的 ...

  8. 信息系统项目管理师核心考点(六十五)信息安全基础知识网络安全

    科科过为您带来软考信息系统项目管理师核心重点考点(六十五)信息安全基础知识网络安全,内含思维导图+真题 [信息系统项目管理师核心考点]信息安全基础知识网络安全 1.拒绝服务攻击(Dos) 一种利用合理 ...

  9. 信息系统项目管理师核心考点(六十四)信息安全基础知识重要概念

    科科过为您带来软考信息系统项目管理师核心重点考点(六十四)信息安全基础知识重要概念,内含思维导图+真题 [信息系统项目管理师核心考点]信息安全基础知识重要概念 1.加密技术 ①对称加密[加密与解密的秘 ...

最新文章

  1. linux sh/bash 编程常用
  2. 邮件附件在线预览——HTML Filter
  3. unity的vr场景怎么做_营销技巧逐渐失效,如何通过场景化营销重新赢回市场?...
  4. [知识图谱实战篇] 七.HTML+D3实现关系图谱搜索功能
  5. python中s和t是两个集合、对s|t描述正确的是_全国计算机等级考试二级教程--python语言程序设计(2018年版)第六章:组合数据类型...
  6. avenir字体可以商用吗_顶级公司的顶级logo设计原来用的这些字体!附字体下载...
  7. directshow 旋转_宜昌中心加工机+A:B型号,高速旋转接头加工
  8. 浅析 Linux 初始化 init 系统,第 3 部分: Systemd
  9. CentOs基础操作指令(压缩、定时任务调度)
  10. 20165204 Java第六周学习
  11. MySQL Java的JDBC编程
  12. 新版sonar代码审查问题总结
  13. 初探摩根大通的企业级以太坊区块链解决方案—Quorum
  14. 电脑遇到蓝屏的时候怎么解决
  15. 教师公开课教学课件PPT模板
  16. 【悦读】《异类》:我们不一样?
  17. VIVO应用商店APP侵权投诉流程
  18. python中,获取字符串的长度
  19. Android 时间轴的实现
  20. sketchup素材库《天然大理石洗手台模型》草图大师学习网站

热门文章

  1. 教你如何制作漂亮的马赛克效果
  2. 灾后第一个清明,我走进北川的那一刻
  3. 如何配色?绘画初学者怎么做好色彩搭配?
  4. 双非改考408,难度大幅上涨!浙江师范大学
  5. 朝着先能干活的方向努力。。。奥利给!!!20
  6. 每天记录学习的新知识 : Disposable和CompositeDisposable
  7. ELK日志收集系统概述
  8. 魔兽争霸微操教学(精华篇)
  9. pc端、移动端插入背景音乐,自动播放,循环播放
  10. Android Widget开发实例-电量监控