曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

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

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

3天內(nèi)不再提示

跟蹤調(diào)試rt smart啟動過程的記錄貼

冬至子 ? 來源:zms123456 ? 作者:zms123456 ? 2023-08-16 15:31 ? 次閱讀

_start階段
系統(tǒng)時先進入_start執(zhí)行。首先判斷cpu核,如果是0號核的話執(zhí)行初始化過程,其它核則執(zhí)行wfe指令進入睡眠。初始化的過程如下:

將異常等級轉(zhuǎn)入el1
設置棧頂指針
清理bss段
初始化mmu的翻譯控制寄存器
設置內(nèi)核和用戶空間頁表基址寄存器并進行初始化階段的頁表設置,此時將內(nèi)核空間虛擬地址映射為物理地址+0xffff0000000000,用戶空間虛擬地址映射為物理地址+0x40000000。
使能mmu,啟用頁表翻譯地址
使用戶空間頁表基地址寄存器失效(原來設置該寄存器只為了跳轉(zhuǎn)高地址前的地址翻譯),只用內(nèi)核地址,并設置棧寄存器為sp_el1
跳轉(zhuǎn)到rtthread_startup
rtthread_startup階段
內(nèi)存相關初始化過程及內(nèi)存管理初步學習
在rt_hw_board_init中進行內(nèi)存相關初始化,這里的目的是設置表示內(nèi)核空間的相關全局數(shù)據(jù)結(jié)構(gòu),及對內(nèi)存的分布進行設置。

執(zhí)行完該部分后,內(nèi)核地址空間相關數(shù)據(jù)結(jié)構(gòu)如下:

// 表示內(nèi)核地址空間
struct rt_aspace rt_kernel_space{
.start = 0xffff000000000000; // 內(nèi)核起始地址
.size = 0x1000000000000; // 內(nèi)核地址空間大小
.page_table = MMUTable; // 內(nèi)核所使用的頁表,為變量MMUTable地址
.pgtbl_lock;
.tree.tree.root_node = mpr_varea;
.bst_lock.parent.parent.name = "aspace"; // bst_lock的名字
.asid = 0; // 地址空間id
}
// 表示頁表空間
struct rt_varea mpr_varea{
.start = rt_mpr_start; // 頁元數(shù)據(jù)基址,值為0xfffffdfff0000000
.size = rt_mpr_size; // 頁元數(shù)據(jù)區(qū)域大小,值為0x20000000000
.offset = 0;
.attr = 1536;
.flag = 8704;
.aspace = rt_kernel_space;
.mem_obj = mm_page_mapper; // 內(nèi)存操作接口
.node;
.frames = 0;
.data = 0;
}
init_mpr_align_start = 0xfffffdfff0880000; // 表示頁空間起始頁對應的頁元數(shù)據(jù),由于頁元數(shù)據(jù)起始地址(rt_mpr_start)是從0物理地址開始存,所以需要此數(shù)據(jù)
init_mpr_align_end = 0xfffffdfff0900000; // 表示頁空間末尾頁對應的頁元數(shù)據(jù)
early_offset = 0xffff020013880000; // 表示的是起始頁與起始頁元數(shù)據(jù)之間距離
mpr_cont = 0xffff000003880000; // 表示的是如果將頁的元數(shù)據(jù)放頁區(qū)域前元數(shù)據(jù)起始位置
head_cont = 0xffff000004102000; // 表示將mpr_cont作為頁元數(shù)據(jù)起始地址后頁區(qū)域首頁對應元數(shù)據(jù)位置
tail_cont = 0xffff000004180000; // 表示將mpr_cont作為頁元數(shù)據(jù)起始地址后頁區(qū)域尾頁對應元數(shù)據(jù)位置

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5403

    瀏覽量

    122944
  • MMU
    MMU
    +關注

    關注

    0

    文章

    92

    瀏覽量

    18590
  • 控制寄存器
    +關注

    關注

    0

    文章

    34

    瀏覽量

    11600
  • RTThread
    +關注

    關注

    8

    文章

    132

    瀏覽量

    41475
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    通過Uboot?TFTP啟動rt-smart內(nèi)核

    介紹Windows下通過 Uboot??TFTP 方式下載和啟動rt-smart 內(nèi)核
    的頭像 發(fā)表于 06-30 12:34 ?4049次閱讀
    通過Uboot?TFTP<b class='flag-5'>啟動</b><b class='flag-5'>rt-smart</b>內(nèi)核

    詳解STM32啟動過程

    本章教程主要跟大家講STM32H7的啟動過程,這里的啟動過程是指從CPU上電復位執(zhí)行第1條指令開始(匯編文件)到進入C程序main()函數(shù)入口之間的部分。
    發(fā)表于 11-14 11:24 ?1989次閱讀

    使用pahomqtt啟動過程中pipe_fops_open時出現(xiàn)rt_condvar_timedwait ,如何解決?

    在使用pahomqtt 啟動過程中pipe_fops_open 時出現(xiàn)rt_condvar_timedwait 死等,而RTT 5.0則可以。請問該如何解決?
    發(fā)表于 09-26 07:11

    RT-Smart的資料合集

    1、RT-Smart啟動過程在熟悉 RT-Smart 架構(gòu)的過程中,研究其啟動過程的是必不可少的,那么在系統(tǒng)正常運行之前,需要做哪些準備工
    發(fā)表于 03-22 15:06

    請問RT -SMART支持GDB調(diào)試嗎?

    RT-SMART介紹,應用程序開發(fā)可以用GDB在線調(diào)試。現(xiàn)在發(fā)布的版本已經(jīng)具有還功能了嗎?原文摘錄:為了更好的支持應用程序調(diào)試,在RT-Thread
    發(fā)表于 04-20 09:35

    系統(tǒng)啟動過程

    系統(tǒng)啟動過程系統(tǒng)啟動過程主要由一下幾步組成(以硬盤啟動為例):1. 開機2. BIOS 加電自檢 ( Power On Self Test -- POST ),內(nèi)存地址為 0ffff:00003. 將硬盤第一個
    發(fā)表于 10-11 12:17 ?2309次閱讀

    嵌入式uCLinux內(nèi)核啟動過程分析

    分析uCLinux的啟動過程,可以加快系統(tǒng)啟動速度、正確建立應用環(huán)境。本文要研究的就是uCLinux操作系統(tǒng)內(nèi)核的啟動過程。
    發(fā)表于 08-15 16:51 ?827次閱讀

    IC啟動過程及Vcc電壓波形的認知

    IC啟動過程及Vcc電壓波形的認知IC啟動過程及Vcc電壓波形的認知IC啟動過程及Vcc電壓波形的認知IC啟動過程及Vcc電壓波形的認知
    發(fā)表于 12-22 14:46 ?10次下載

    Windows XP 啟動過程詳解

    我們每天都在和 Windows 打交道,很多人可能每天都要面對多次 Windows 的啟動過程,可是您知道在 Windows 的啟動過程背后,隱藏著什么秘密嗎?在這一系列過程中都用到了哪些重要的系統(tǒng)文件?系統(tǒng)的
    發(fā)表于 11-10 18:24 ?11次下載

    嵌入式系統(tǒng)內(nèi)核引導啟動過程淺析

    嵌入式系統(tǒng)內(nèi)核引導啟動過程淺析
    發(fā)表于 10-30 10:26 ?6次下載
    嵌入式系統(tǒng)內(nèi)核引導<b class='flag-5'>啟動過程</b>淺析

    STM32上電后啟動過程

    STM32上電后啟動過程
    發(fā)表于 11-15 18:21 ?16次下載
    STM32上電后<b class='flag-5'>啟動過程</b>

    stm32啟動過程

    一次性搞定stm32啟動模式與啟動過程一、stm32啟動模式二、從flash啟動過程2.1 數(shù)據(jù)在堆棧中存儲方式2.2 stm32的正常啟動過程
    發(fā)表于 12-16 16:57 ?8次下載
    stm32<b class='flag-5'>啟動過程</b>

    RL78啟動過程詳解

    RL78啟動過程詳解
    的頭像 發(fā)表于 09-28 16:39 ?1780次閱讀
    RL78<b class='flag-5'>啟動過程</b>詳解

    logd的啟動過程和內(nèi)容

    logd作為native service,系統(tǒng)啟動過程通過讀取rc文件來啟動,相關的屬性定義在如下logd.rc文件中。 2.2.1 logd啟動過程 logd啟動后會存在三個用來服務
    的頭像 發(fā)表于 11-23 16:54 ?1115次閱讀
    logd的<b class='flag-5'>啟動過程</b>和內(nèi)容

    stm32啟動過程詳解

    STM32啟動過程詳解 近年來,STM32微控制器在嵌入式系統(tǒng)中的應用越來越廣泛。STM32微控制器具有高性能、低功耗、易擴展和豐富的外設接口等優(yōu)勢。而要讓STM32微控制器正常工作,首先要了解它
    的頭像 發(fā)表于 12-08 15:47 ?2130次閱讀