色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美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>
    主站蜘蛛池模板: 国产产一区二区三区久久毛片国语 | 免费xxx成年大片| 好大的太粗好深BL| 国产视频这里只有精品| 国产AV国产精品国产三级在线L| XXX国产麻豆HD| bbwvideoa欧美老妇| 99精品视频免费观看| 91亚洲精品| 97精品一区二区视频在线观看| 稚嫩挤奶h调教h| 中文字幕精品在线视频| 中文字幕不卡一区二区三区| 中文字幕在线不卡精品视频99| 亚洲中文热码在线视频| 亚洲日韩天堂在线中文字幕| 亚洲欧美中文日韩v在线| 亚洲色图p| 在线精品视频成人网| 最新无码二区日本专区| 中文字幕不卡在线高清| 69式国产真人免费视频| 99re久久热在线播放8| free高跟丝袜秘书hd| 吃胸亲吻吃奶摸下面免费视频| 成人亚洲视频| 国产精品成人久久久久A伋| 国产精品热久久高潮AV袁孑怡| 国产午夜不卡| 久久热r在线视频精品| 美女拔萝卜| 人禽l交视频在线播放 视频| 特污兔午夜影视院| 亚洲久热无码中文字幕| 中文无码第3页不卡av| vagaa哇嘎黄短片| 国产WW高清大片免费看| 黑色丝袜在线观看| 女教师杨雪的性荡生活| 手机在线观看无码日韩视频| 99亚偷拍自图区亚洲|