在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    2735

    瀏覽量

    47755
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210409
  • 函數
    +關注

    關注

    3

    文章

    4346

    瀏覽量

    62978
收藏 人收藏

    評論

    相關推薦

    Linux啟動流程基本分析

    Linux啟動流程總的來說可以分成三個階段 Linux啟動流程圖 ? 第一步:上電 ?在 x86
    的頭像 發表于 05-11 08:49 ?769次閱讀
    <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 ?1.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 ?3211次閱讀

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

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

    解析基于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 ?1211次閱讀

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

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

    STM32的完整啟動流程分析

    STM32的完整啟動流程分析
    的頭像 發表于 10-25 16:00 ?1461次閱讀
    STM32的完整<b class='flag-5'>啟動</b><b class='flag-5'>流程</b><b class='flag-5'>分析</b>
    主站蜘蛛池模板: 天天拍天天干 | 欧美性猛 | 久久国产色 | 久久国产精品免费网站 | 伊人yinren6综合网色狠狠 | 色婷婷在线观看视频 | 性夜影院爽黄a爽免费视频 性瘾高h姚蕊全文免费阅读 | 老师叫我揉她内裤越快越好 | 亚洲日韩图片专区第1页 | 男男扒开后菊惩罚 | 欧美激情综合色综合啪啪五月 | 高清毛片aaaaaaaaa片 | 天天在线天天综合网色 | 在线亚洲日产一区二区 | 国产成人高清一区二区私人 | 婷婷丁香色 | 欧美激情二区三区 | 日本免费黄色大片 | 六月丁香啪啪 | 美女视频永久黄网站在线观看 | 在线免费看影视网站 | 日本高清色视频在线观看免费 | 激情五月婷婷综合网 | 久久天天综合 | 99热精品久久只有精品30 | 国产狂喷冒白浆免费视频 | 亚洲 图片 小说 欧美 另类 | 国产亚洲精品激情都市 | 一级毛毛片毛片毛片毛片在线看 | 一级片aaaa | 天天干b | 么公的好大好硬好深好爽在线视频 | 亚洲免费视频播放 | 四虎4hu影库免费永久国产 | 亚洲视频四区 | 在线观看免费国产 | 一级特级aaa毛片 | 亚洲成a人片在线观看88 | 久久美女免费视频 | 天天干小说 | 成在线人永久免费播放视频 |