色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux啟動流程中console_init分析

麥辣雞腿堡 ? 來源:嵌入式Linux系統開發 ? 作者:Jasonangel ? 2023-09-28 16:23 ? 次閱讀

console_init

分析

Linux 啟動函數 start_kernel 會調用 console_init 函數。

linux4.14/kernel/printk/printk.c

圖片

linux4.14/drivers/tty/n_tty.c

圖片

我們可以看到,console_init 主要做了兩件事情:

1、n_tty_init 主要調用 tty_register_ldisc(N_TTY,
&n_tty_ops) 注冊 tty 線路規程。

2、

call = __con_initcall_start;
 while (call < __con_initcall_end) {
  (*call)();
  call++;
 }

這里主要是調用 __con_initcall_start 到 __con_initcall_end
之間的函數。

__con_initcall_start 和 __con_initcall_end 定義在:

linux4.14/include/asm-generic/vmlinux.lds.h

圖片

中間包含了 .con_initcall.init 段:

linux4.14/include/linux/init.h

圖片

我們通過 console_init 聲明的驅動模塊,就會出現在這個段中,被調用。普通我們聲明的驅動模塊都是使用
module_init,如果我們寫的是串口驅動,可以使用console_init 聲明。

如果要看具體中間有什么函數,可以查看編譯 Linux 內核的輸出 System.map 文件,這個文件記載了從頭到尾
Linux 干了什么,具體的地址存儲了什么東西。

System.map 文件默認在編譯后的 Linux 內核根目錄下, 當然我們也可以修改到其他目錄。

圖片

這里會有三列:地址,區,函數名字。

如果后面我們使用 console_init(serial_5685_xxxx)去聲明我們的驅動,那么這個
serial_5685_xxxx 就會出現在 __con_initcall_start 和 __con_initcall_end 之間,就會被調用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2695

    瀏覽量

    47431
  • Linux
    +關注

    關注

    87

    文章

    11292

    瀏覽量

    209326
  • 函數
    +關注

    關注

    3

    文章

    4327

    瀏覽量

    62569
收藏 人收藏

    評論

    相關推薦

    Linux啟動流程基本分析

    Linux啟動流程總的來說可以分成三個階段 Linux啟動流程圖 ? 第一步:上電 ?在 x86
    的頭像 發表于 05-11 08:49 ?663次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>啟動</b><b class='flag-5'>流程</b>基本<b class='flag-5'>分析</b>

    linux啟動流程分析

    linux啟動流程分析
    發表于 08-04 00:27

    嵌入式linux 串口console注冊

    是__con_initcall_start,該段的所有函數在driver\tty\tty_io.c\console_init函數調用,console_init在start_kern
    發表于 03-05 13:53

    如何解決板子啟動時串口提示can not open init console問題?

    板子啟動時 串口提示can not open init console??找了很多資料 沒能 解決
    發表于 07-12 05:45

    「正點原子Linux連載」第三十六章Linux內核啟動流程

    文件arch/arm/kernel/head.S,因此要分析Linux內核的啟動流程,就得先從文件arch/arm/kernel/head
    發表于 03-17 11:07

    詳細分析嵌入式Linux系統啟動流程

    在嵌入式Linux專題(一)已經對嵌入式Linux系統的架構及啟動流程有了初步的介紹,本文將詳細分析
    發表于 11-05 09:25

    在rtthreadjlink的rtt作為console口的具體使用流程

    來作為console口進行調試,省得再單獨引出一個串口,具體使用流程如下:在rtthread setting開啟systemview包。修改console口的名稱為segger修改b
    發表于 08-01 15:26

    Linux運行級init詳解

    Linux 啟動時需要哪些步驟呢?本文將詳細描述不同的運行級在啟動的作用。 對于那些在DOS/Win9x/NT 平臺下的高級用戶而言,Linux
    發表于 11-07 10:59 ?0次下載

    詳解bootloader的執行流程與ARM Linux啟動過程分析

    S3C2410 ARM處理器為例,詳細分析了系統上電后 bootloader的執行流程及 ARM Linux啟動過程。
    的頭像 發表于 12-21 09:24 ?1w次閱讀
    詳解bootloader的執行<b class='flag-5'>流程</b>與ARM <b class='flag-5'>Linux</b><b class='flag-5'>啟動</b>過程<b class='flag-5'>分析</b>

    走進Linux之systemd啟動過程

    Linux系統的啟動方式有點復雜,而且總是有需要優化的地方。傳統的Linux系統啟動過程主要由著名的init進程(也被稱為SysV
    發表于 04-27 19:14 ?3174次閱讀

    Linux系統下init進程的前世今生

    Linux系統init進程(pid=1)是除了idle進程(pid=0,也就是init_task)之外另一個比較特殊的進程,它是Linux
    發表于 04-28 17:23 ?966次閱讀

    解析基于ARM64的init用戶進程究竟如何啟動?

    [導讀] 前面的文章有提到linux啟動的第一個進程為init,那么該進程究竟是如何從內核啟動入口一步一步運行起來的,而該進程又有些什么作...
    發表于 01-26 17:05 ?2次下載
    解析基于ARM64的<b class='flag-5'>init</b>用戶進程究竟如何<b class='flag-5'>啟動</b>?

    linux內核啟動過程會執行用戶空間的init進程

    linux內核啟動過程的后期,在kernel_init()函數代表的init線程,會嘗試執行用戶空間的
    的頭像 發表于 10-14 09:12 ?1153次閱讀

    kernel執行第一個init應用程序的實現原理

    Linux系統啟動過程中通過`init_task`創建0號idle進程。然后通過`kernel_thread`創建1號init進程。
    的頭像 發表于 06-05 14:53 ?848次閱讀
    kernel執行第一個<b class='flag-5'>init</b>應用程序的實現原理

    STM32的完整啟動流程分析

    STM32的完整啟動流程分析
    的頭像 發表于 10-25 16:00 ?1384次閱讀
    STM32的完整<b class='flag-5'>啟動</b><b class='flag-5'>流程</b><b class='flag-5'>分析</b>
    主站蜘蛛池模板: 熟妇的味道HD中文字幕| av天堂影音先锋在线| 精品国产中文字幕在线视频| 91女神娇喘| 亚洲黄网站wwwwww| 青草在线观看视频| 亚洲色欲国产AV精品综合| 国产综合视频在线观看一区| 99视频国产在线| 亚洲在线成色综合网站| 手机在线成人精品视频网| 欧美另类jizzhd| 成人女人A级毛片免费软件| 一区二区三区高清视频| 女的把腿张开男的往里面插 | 青青涩射射| 毛片视频大全| 精选国产AV精选一区二区三区| 国产精品伊人| 俄罗斯15一16处交| 野花香HD免费高清版6高清版| 水蜜桃亚洲一二三四在线| 欧美日韩综合一区| 蜜芽在线播放免费人成日韩视频 | 久久精品免费电影| 国内精品偷拍在线观看| 国产精品人成视频免费999| 高清观看ZSHH96的视频素材| chinese黑人第一次| 亚瑟天堂久久一区二区影院| 日韩欧无码一区二区三区免费不卡 | 国产精品外围在线观看| 高清观看ZSHH96的视频素材| 成人网站国产在线视频内射视频| chinesevideoshd性舞| 970女主播电台歌曲| 91蜜桃视频| av网站视频在线观看| qvod电影| 俄罗斯雏妓的BBB孩交| 国产99久久|