精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

OpenHarmony輕量設備Hi3861芯片開發板啟動流程分析

系統 OpenHarmony
OpenHarmony作為一款萬物互聯的操作系統,覆蓋了從嵌入式實時物聯網操作系統到移動操作系統的全覆蓋,其中內核包括LiteOS-M,LiteOS-A和Linux。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

OpenHarmony輕量設備Hi3861芯片開發板啟動流程分析

引言

OpenHarmony作為一款萬物互聯的操作系統,覆蓋了從嵌入式實時物聯網操作系統到移動操作系統的全覆蓋,其中內核包括LiteOS-M,LiteOS-A和Linux。LiteOS-M內核是面向IoT領域構建的輕量級物聯網操作系統內核,主要面向沒有MMU的處理器,架構如圖1-1所示。

OpenHarmony輕量設備Hi3861芯片開發板啟動流程分析-開源基礎軟件社區

   圖1-1 LiteOS-M架構圖

Hi3861是一款高度集成的2.4GHz SoC WiFi芯片,采用高性能 32bit 微處理器,最大工作頻率 160MHz,內嵌 SRAM 352KB、ROM 288KB、Flash 2MB。目前市面上的采用LiteOS-M的OpenHarmony開發板廠商有深開鴻、潤和軟件、小熊派,因為海思的SDK是以庫文件的形式提供的,所以不同的Hi3861芯片開發板啟動流程是一樣的。

Hi3861 Boot介紹

Boot是操作系統啟動之前的軟件,通用叫法是bootloader,Hi3861的boot分為4部分:RomBoot、FlashBoot、LoaderBoot。

CommonBoot,如圖2-1所示。

OpenHarmony輕量設備Hi3861芯片開發板啟動流程分析-開源基礎軟件社區

圖2-1 Hi3861 Boot啟動流程

● RomBoot功能包括:加載LoaderBoot到RAM,進一步利用LoaderBoot下載鏡像到Flash、燒寫 EFUSE, 校驗并引導FlashBoot。FlashBoot分為AB面,A面校驗成功直接啟動,校驗失敗會去校驗B面,B面校驗成功會修復A面再引導啟動,否則復位重啟。 

● FlashBoot功能包括:升級固件,校驗并引導固件。 

● LoaderBoot功能包括:下載鏡像到Flash, 燒寫EFUSE(例如:安全啟動/Flash加密相關密鑰等)。 

● CommonBoot為Flashboot與LoaderBoot共用的功能模塊。 

相關文件介紹

Hi3861的LiteOS-M代碼是SDK中以庫文件的形式提供的,雖然我們無法看到源代碼,但這不代表我們分析不了啟動流程,我們可以從分析map文件和asm這兩個文件入手。這兩個文件都是編譯鏈接工具生成的,其中asm文件是匯編程序源文件,可以查看函數之間的調用關系,map文件里包括全局符號、函數地址及占用的空間和位置。map和asm文件主要作用是當開發板崩潰時用于分析其崩潰的原因,我們分析函數跳轉關系時并不需要知道太多匯編,只需要知道基本的跳轉語句和賦值語句即可,這兩個文件位于out目錄下和操作系統固件平級的目錄,如圖3-1。

OpenHarmony輕量設備Hi3861芯片開發板啟動流程分析-開源基礎軟件社區

圖3-1 Hi3861 asm和map文件位置圖

一個編譯完成的固件通常有以下幾部分:

1) RO段包括只讀代碼段(code段/.text段)和常量段(RO Data段/.constdata段)。

2) RW段(.data段)指已被初始化成非0值的變量段。

3) ZI段(.bss段)指未被初始化或初始化為0的變量段。

我們源代碼的函數和字符串常量都位于text段。

LiteOS-M啟動流程介紹

1) 嵌入式處理器和操作系統都具有類似的結構啟動流程也大體相似,從芯片上電開始Boot把控制權交給操作系統,Hi3861從Boot跳轉到操作系統代碼如下:

OpenHarmony輕量設備Hi3861芯片開發板啟動流程分析-開源基礎軟件社區

這部分是將該地址當函數作為跳轉,因為FlashBoot和kernel,是兩套代碼程序,他們之間沒有依賴引用關系,但是他們在一個地址空間,所以直接地址跳轉,這也是從Boot到kernel通用的跳轉方式。

2) 芯片啟動是從中斷向量表的復位中斷處理程序開始,接著把數據從Flash復制到RAM、清空bss數據段、初始化時鐘、跳轉到main函數。我們通過查看asm文件的main函數,可以看出其中調用的函數如圖4-1所示,從圖4-1 我們可得知調用的函數包括設置串口、校驗版本號、配置板子、Kernel初始化、應用初始化和操作系統的調度運轉,其中main函數位于liblitekernel_flash.a(main.o)文件中。

OpenHarmony輕量設備Hi3861芯片開發板啟動流程分析-開源基礎軟件社區

圖4-1 main函數調用關系

LOS_KernelInit是負責初始化內核數據結構的,如圖4-2所示,主要函數有OsMemSystemInit(內存初始化)、OsHwiInit(中斷初始化)、OsTaskInit(任務初始化) ,這些過程主要目的是把內核相關的變量初始化,準備好全局信息,方便API函數去調用,API函數調用必須在這些初始化完成后才可以。

3) 從AppInit開始脫離了sdk,可以看到源代碼了,AppInit函數位于libwifiiot_app.a(app_main.o)中,部分截圖如圖4-3,源代碼為app_main.c,其中調用的函數包括獲取sdk版本號,外設初始化,ipc初始化,flash分區,WiFi初始化,tcp/ip初始化,然后跳轉到了OpenHarmony特有的函數OHOS_Main。

OHOS_Main位于libwifiiot_app.a(ohos_main.o)中,源代碼為ohos_main.c,主要完成OpenHarmony系統相關和用戶應用相關的調用,里邊主要函數是OHOS_SystemInit,如圖4-4,在其中調用了用戶自己寫的應用任務相關代碼,如圖4-5,從而實現了在LOS_start之前把任務列表填好,這樣才能保證用戶任務或定時等功能參與了系統調度。

OpenHarmony輕量設備Hi3861芯片開發板啟動流程分析-開源基礎軟件社區

圖4-2 LOS_KernelInit函數調用關系

OpenHarmony輕量設備Hi3861芯片開發板啟動流程分析-開源基礎軟件社區

圖4-3 app_main函數調用關系

 OpenHarmony輕量設備Hi3861芯片開發板啟動流程分析-開源基礎軟件社區 

圖4-4 OHOS_Main函數調用關系

 OpenHarmony輕量設備Hi3861芯片開發板啟動流程分析-開源基礎軟件社區 

圖4-5 OHOS_SystemInit函數調用關系

用戶應用的啟動原理

1) 在圖4-5中出現的函數MODULE_INIT(run),就是調用最終調用用戶程序的代碼。

這是個宏定義,展開的調用關系 :\base\startup\bootstrap_lite\services\source\core_main.h定義,從MODULE_CALL、MODULE_BEGIN 、MODULE_END,最終調用的地址是__zinitcall_##name##_start,MODULE_INIT(run)調用的函數地址是__zinitcall_run_start。

通過查看鏈接文件得出__zinitcall_run_start包含.zinitcall.run0.init),如圖5-1所示。

OpenHarmony輕量設備Hi3861芯片開發板啟動流程分析-開源基礎軟件社區

圖5-1 __zinitcall_run_start鏈接關系

查看map文件發現我們自己的應用程序文件就在.zinitcall.run2.init中,如圖5-2所示。

OpenHarmony輕量設備Hi3861芯片開發板啟動流程分析-開源基礎軟件社區

   圖5-2 led_exapmle文件在map中的位置

2) 從運行角度看啟動中調用到了應用程序led_exapmle,所謂位置為.zinitcall.run2.init,但我們在應用程序中的關聯函數是SYS_RUN(LedExampleEntry),SYS_RUN的展開關系如圖5-3所示,最終即是 zinitcall.run2.init,和程序運行時候的調用匹配在一起了。應用程序的調用關系就是編譯鏈接階段生成指定的段,初始化時調用指定段,這樣實現了LiteOS-M的操作系統代碼與應用程序代碼的解耦。

OpenHarmony輕量設備Hi3861芯片開發板啟動流程分析-開源基礎軟件社區

   圖5-3 SYS_RUN的展開關系

總結

本文向大家講述了在沒有部分源代碼的情況下,如何通過對map文件和asm文件的分析從而得出Hi3861芯片開發板LiteOS-M的啟動流程。總體過程就是最小硬件系統的配置完成后,LOS_KernelInit負責初始化系統到一個合適的狀態,AppInit調用OpenHarmony和應用相關代碼,最后LOS_Start負責把操作系統運轉起來。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??。

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2021-06-25 15:32:13

鴻蒙HarmonyOS應用

2020-11-06 10:15:16

HiBurn

2023-05-26 16:07:14

Hi3861Wifi模塊

2021-09-16 10:03:39

鴻蒙HarmonyOS應用

2020-10-14 09:37:03

HiBurn鴻蒙.bin文件

2020-12-17 10:02:16

鴻蒙Hi3861開發板

2020-10-30 17:12:05

Hi3861

2020-11-18 11:56:06

鴻蒙Hi3861

2020-11-06 11:32:11

NV操作

2020-12-09 09:44:29

Hi3861硬件介紹鴻蒙開發板

2020-10-30 09:48:03

Hi3861開發板get請求

2021-12-20 21:01:52

鴻蒙HarmonyOS應用

2020-10-27 10:08:19

Hi3861ADC驅動

2020-10-29 09:53:06

Hi3861硬件開發板

2020-12-15 11:57:49

Hi3861 HarmonyOS開發板

2022-08-29 17:34:05

鴻蒙操作系統

2020-12-08 12:36:41

Hi3861 ADC驅動開發

2020-12-11 12:45:04

鴻蒙Hi3861游戲

2020-10-30 17:42:36

鴻蒙 OS Hi386

2020-11-06 11:58:01

hi3681
點贊
收藏

51CTO技術棧公眾號

精品国产乱码久久久久久1区2匹| 开心激情综合网| 亚洲人成网站77777在线观看| 欧美丝袜一区二区三区| 亚洲二区三区四区| www视频在线| 久久综合图片| 欧美成人全部免费| 日本丰满少妇裸体自慰| 免费视频成人| 亚洲国产精品人人做人人爽| 欧美第一黄网| 精品人妻一区二区三区浪潮在线| 久久三级视频| 精品中文字幕在线观看| 一级片手机在线观看| 婷婷久久免费视频| 欧美日韩国产精品| 国产卡一卡二在线| 清纯唯美亚洲色图| 国产一区二区剧情av在线| 97视频在线观看视频免费视频 | 亚洲免费看黄网站| 欧美日韩高清在线一区| 国产精品入口免费视频一| 久久精品色欧美aⅴ一区二区| 国产69精品久久久久999小说| 国产天堂素人系列在线视频| 国产91精品精华液一区二区三区| 国产精品久久久久久久午夜| 亚洲一区 视频| 99久久99视频只有精品| 亚洲乱码一区av黑人高潮| 农村末发育av片一区二区| 不卡亚洲精品| 在线视频一区二区免费| 成 年 人 黄 色 大 片大 全| av在线麻豆| 中文字幕一区av| 日韩免费电影一区二区| 你懂的视频在线免费| 丁香激情综合五月| 91精品国自产在线观看 | 超碰人人在线| 国产精品久久久久影院色老大| 免费看成人av| 亚洲 小说区 图片区 都市| 国产电影精品久久禁18| 91亚洲va在线va天堂va国| 亚洲影视一区二区| 免费在线观看日韩欧美| 国产精品扒开腿做爽爽爽的视频| 国产原创视频在线| 精品影片一区二区入口| 日韩中文字幕视频| 欧美aaaaa成人免费观看视频| av影视在线看| 国产三级国产精品国产国在线观看| 欧洲成人一区二区| 日韩av在线网址| 国产精品久久久久三级| 疯狂欧洲av久久成人av电影| 要久久电视剧全集免费| 在线中文字幕一区| 国产综合免费视频| 伊人色综合一区二区三区影院视频| 午夜不卡av在线| 黄色大片中文字幕| 人在线成免费视频| 日韩欧美中文免费| 男女啪啪网站视频| 亚洲午夜国产成人| 日韩一区二区免费电影| 日本wwwxx| 国产精品毛片视频| 日韩麻豆第一页| 亚洲精品国产91| 精品女同一区二区三区| 欧美日本亚洲韩国国产| 欧美激情视频在线| 天天插天天操天天干| 久久国产精品亚洲77777| 国产mv久久久| 国产精品久久婷婷| 成人av网站免费观看| 鲁鲁视频www一区二区| 岛国视频免费在线观看| 亚洲欧洲一区二区在线播放| 久久综合亚洲精品| 涩涩视频在线| 一本久久精品一区二区| 中文字幕国产免费| 日韩一区网站| 亚洲欧美制服中文字幕| 最新av电影网站| 精品成人一区| 国产精品美女久久久免费 | 四虎国产精品免费观看| 欧美大尺度在线观看| 日韩在线视频免费播放| 美女mm1313爽爽久久久蜜臀| 成人三级在线| 幼a在线观看| 亚洲mv在线观看| 日本中文字幕观看| 羞羞色国产精品网站| 久久韩国免费视频| www成人在线| 国产一区二区三区综合| 欧美下载看逼逼| 色呦呦在线看| 欧美理论片在线| av无码av天天av天天爽| 亚洲欧美综合久久久| 日韩av免费网站| 亚洲男人第一天堂| 国产精品乱码一区二区三区软件| 黄色国产一级视频| 国产免费区一区二区三视频免费 | 国产精品麻豆免费版现看视频| 国产一区二区中文| 国产精品一区二区性色av| 噜噜噜久久,亚洲精品国产品| 国产精品美女久久久久久久久 | 久久嫩草捆绑紧缚| 三级在线观看一区二区| 国产福利一区二区三区在线观看| 在线观看的av| 色屁屁一区二区| 国产精品无码毛片| 国产精品二区影院| 91最新在线免费观看| 91蝌蚪视频在线观看| 免费看男女www网站入口在线| 欧美视频三区在线播放| 亚洲专区区免费| 亚洲激情视频| 豆国产97在线| 麻豆av在线播放| 欧美tickling挠脚心丨vk| 黄色录像一级片| 蜜桃视频一区二区三区| 日本视频精品一区| 第84页国产精品| 日韩精品中文字幕在线播放| 国产午夜视频在线| 国产成人精品一区二区三区四区 | 国产精品久久久久免费| 在线三级中文| 日韩精品在线一区| 欧美日韩国产精品一区二区三区| 国产精品一区二区视频| 国产制服91一区二区三区制服| 亚洲tv在线| 久久九九全国免费精品观看| 国产欧美熟妇另类久久久| 亚洲欧美日韩国产一区二区三区| 制服丝袜中文字幕第一页| 91视频久久| 亚洲mm色国产网站| 日本动漫理论片在线观看网站 | 欧美性jizz18性欧美| 一本加勒比波多野结衣| 亚洲综合不卡| 日韩av高清在线播放| 福利一区视频| 久久人人爽人人爽爽久久| 国产视频手机在线| 亚洲午夜精品17c| 日本丰满少妇裸体自慰| 视频一区二区中文字幕| 天堂一区二区三区| 青青久久精品| 欧美第一页在线| 人妻va精品va欧美va| 欧美性猛交xxxx免费看| 人妻互换一区二区激情偷拍| 国产精品资源网站| 欧美一区二区中文字幕| 欧洲视频一区| 91视频国产高清| 极品视频在线| 伊人青青综合网站| 国产成人精品无码高潮| 天天免费综合色| 久久久久亚洲AV成人无在| 国产乱一区二区| 日本毛片在线免费观看| 91免费精品| 国产日韩二区| 国产一区二区三区四区五区3d| 久久精品视频播放| 亚洲色图狠狠干| 欧美精品第1页| 精品美女久久久久| 中文字幕在线不卡一区| www.555国产精品免费| 日韩一区精品字幕| 青青草视频在线视频| 国产91精品对白在线播放| 成人国产精品一区| 国模冰冰炮一区二区| 欧美成人一二三| av在线电影院| 亚洲第五色综合网| 国产又粗又黄又爽的视频| 天天影视色香欲综合网老头| 很污很黄的网站| 久久久精品tv| 折磨小男生性器羞耻的故事| 久久国产精品第一页| 国产原创popny丨九色| 这里只有精品在线| 日本最新一区二区三区视频观看| av日韩在线播放| 成人精品网站在线观看| 黑人巨大精品欧美一区二区桃花岛| 久久成人人人人精品欧| 国产在线电影| 亚洲国产精品va在线观看黑人| 亚洲中文字幕在线观看| 欧美性猛交xxxx久久久| 日本亚洲欧美在线| 亚洲日本在线看| 久久日免费视频| 久久网站热最新地址| 人妻换人妻a片爽麻豆| 国产综合色产在线精品| 国产裸体免费无遮挡| 国产亚洲毛片| 你懂的av在线| 日韩午夜在线电影| 青青在线视频免费观看| 亚洲天堂一区二区三区四区| 亚洲成人在线视频网站| 国产一区2区| 麻豆传媒一区| 一区二区导航| 欧美精品一区二区三区四区五区 | 国产在线视频二区| 亚洲精品你懂的| 精品一区二区6| 欧美极品美女视频| 朝桐光av一区二区三区| 不卡电影免费在线播放一区| 中文字幕在线观看91| 国产精品亚洲成人| 日本黄色一级网站| 国产福利一区在线观看| 日韩精品――色哟哟| 国产一区二区h| 亚洲一级片免费观看| 国产美女娇喘av呻吟久久| 精品亚洲视频在线| 国产在线日韩欧美| 人人爽人人爽av| 国产成人av在线影院| www男人天堂| 99re成人在线| b站大片免费直播| 国产精品全国免费观看高清 | 亚洲AV无码久久精品国产一区| 韩国欧美一区二区| wwwww在线观看| 99久久婷婷国产精品综合| 三级电影在线看| 国产欧美日韩综合| 强制高潮抽搐sm调教高h| 亚洲男人的天堂在线观看| 欧美日韩成人免费观看| 五月天精品一区二区三区| 久久久久亚洲av成人毛片韩| 色婷婷亚洲精品| 中文字幕人成人乱码亚洲电影| 8x8x8国产精品| 亚洲精品18p| 亚洲欧美一区二区三区情侣bbw | 国产视频aaa| 精品国产免费人成在线观看| 亚洲欧美日本在线观看| 一区二区三区视频在线| 1区2区在线观看| 欧美性在线视频| 四虎地址8848精品| 国产精品一区视频| 国产精品自拍区| 激情六月天婷婷| 丝袜美腿高跟呻吟高潮一区| 热久久久久久久久| 成av人片一区二区| jizz18女人高潮| 亚洲国产精品麻豆| 无码人妻精品一区二区三区9厂| 制服丝袜中文字幕一区| 国产免费无遮挡| 亚洲精品视频在线播放| 在线观看麻豆| 亚洲3p在线观看| 粉嫩一区二区三区| 999精品在线观看| 精品国产一区二区三区香蕉沈先生 | www激情五月| 91偷拍与自偷拍精品| 搜索黄色一级片| 色先锋aa成人| 欧美 日韩 人妻 高清 中文| 中文字幕精品—区二区| 91高清视频在线观看| 日韩av黄色在线观看| 伊人久久久久久久久| 亚洲成熟女性毛茸茸| 欧美黄页免费| 91麻豆蜜桃一区二区三区| 国产亚洲精品日韩| 亚洲欧美黄色片| 一区二区三区日韩在线| 黄页网站大全在线免费观看| 国产精品免费看久久久香蕉| 久9re热视频这里只有精品| 黄频视频在线观看| 丝袜国产日韩另类美女| 男女一区二区三区| 亚洲精品视频一区| 在线观看中文字幕2021| 国产午夜精品麻豆| 国产福利片在线观看| 亚洲综合在线做性| 色欧美自拍视频| 欧美 日韩 国产 激情| 97久久精品人人爽人人爽蜜臀| 久久影院一区二区| 日韩午夜在线播放| 欧美午夜电影一区二区三区| 国产xxx69麻豆国语对白| 欧美日韩一区二区三区四区不卡| 嫩草影院中文字幕| 国产呦精品一区二区三区网站| 日韩免费av一区| 欧美日韩一区在线| 成人三级黄色免费网站| 日本精品视频在线播放| 久久亚洲黄色| 日本国产在线播放| 97久久精品人人爽人人爽蜜臀| 国产精品变态另类虐交| 欧美大片在线观看一区二区| 在线观看电影av| 999国内精品视频在线| 狠狠综合久久| 亚洲国产精品狼友在线观看| 一区二区三区不卡视频在线观看| 国产富婆一级全黄大片| 欧美高清性猛交| 大奶在线精品| 国产午夜大地久久| 久久综合色鬼综合色| 国产污视频网站| 伊人青青综合网站| 成人豆花视频| 免费网站永久免费观看| 处破女av一区二区| 国产九色在线播放九色| 亚洲免费高清视频| 国产精品99精品一区二区三区∴| 亚洲一区二区三区欧美| 国产专区欧美精品| 欧美日韩国产首页| 你懂的av在线| 日韩免费va| 欧美色区777第一页| 欧美国产日韩另类| 亚洲第一福利社区| 亚洲香蕉在线观看| 欧美成人免费观看视频| 中文字幕一区二区三区久久网站| 国产做受高潮69| 波多野结衣在线电影| 美腿丝袜亚洲三区| 91嫩草免费看| a天堂中文在线88| 亚洲mv大片欧洲mv大片精品| aa视频在线播放| 国产麻豆精品| 在线观看不卡av| 国产 欧美 日韩 在线| 日精品一区二区| 国产一区二区视频在线观看| 中文字幕在线播放日韩| 99综合电影在线视频| 国产欧美日韩视频一区二区三区| 国产精品视频一区二区久久| 国产精品久久久久永久免费观看| 992tv成人免费观看| 国产夫妻在线播放| 欧美一级国产精品| 亚洲永久无码7777kkk| 99精品美女| 97免费视频在线播放| 7799精品视频天天看| 亚洲免费av高清|