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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

3天內不再提示

【鴻蒙】小型系統LiteOS-A內核

王程 ? 來源: jf_75796907 ? 作者: jf_75796907 ? 2024-02-29 16:16 ? 次閱讀

LiteOS-A 內核

移植概述
移植場景
LiteOS-A 當前支持 ARMv7-a 指令集架構,如果三方芯片為 ARMv7-a 架構,可以進行內核基礎適配;否則還需要先根據芯片的架構來新增內核對該芯片架構的支持,這個工作較為復雜,不在這篇文章范圍內。

基礎適配

LiteOS-A 提供系統運行所需的系統初始化流程和定制化配置選項。移植過程中,需要關注初始化流程中跟硬件配置相關的函數。
如下圖所示,LiteOS-A 的初始化流程主要包含以下七步:

1.新增 target_config.h 文件,并且編寫單板內存相關的配置宏 DDR_MEM_ADDR 和 DDR_MEM_SIZE,分別表示內存起始地址和內存的長度,預鏈接腳本 board.ld.S 會根據這兩個宏進行展開生成鏈接腳本 board.ld。

2.新增定義 MMU 映射全局數組(g_archMmuInitMapping),指定各個內存段屬性及虛實映射關系,內核啟動階段根據該表建立內存映射關系。

3.如果是多核,需要新增定義從核操作函數句柄(struct SmpOps),其中 SmpOps->SmpCpuOn 函數需要實現喚醒從核的功能;接著定義 SmpRegFunc 函數,調用 LOS_SmpOpsSet 接口進行句柄注冊;最后通過啟動框架完成注冊過程,即 LOS_MODULE_INIT(SmpRegFunc, LOS_INIT_LEVEL_EARLIEST)。

4.鏈接階段根據鏈接腳本 board.ld 生成內核鏡像。

5.單核 CPU 鏡像運行入口為匯編文件 reset_vector_up.S,多核 CPU 的入口為 reset_vector_mp.S,在匯編文件中進行中斷向量表初始化、MMU 頁表初始化等操作。

6.reset_vector.S 匯編代碼最終會跳轉到 C 語言的 main 函數,進行硬件時鐘、軟件定時器、內存和任務等初始化,這個過程會依賴 target_config.h 的特性宏配置,最后會創(chuàng)建 SystemInit 任務,并且開啟任務調度 OsSchedStart()。

7.SystemInit 任務在單板代碼中實現,其中調用 DeviceManagerStart 函數進行 HDF 驅動初始化,這個過程會調用單板代碼中的驅動配置文件 hdf.hcs 以及 drivers 源碼實現
整體啟動流程如下圖所示:
圖 1 整體啟動流程

wKgaomXgPHuAFOY_AADXtfIfvnU676.png

從圖 1 中可以看到,內核基礎適配需要單板進行適配的代碼包含三部分:

新增 target_config.h 文件,其中新增單板硬件配置參數和特性開關的配置參數,具體說明如下:

表 1 target_config.h 配置項說明

wKgZomXgPIeAKffvAABaqujn2k0998.png

SystemInit 函數用于單板用戶態(tài)業(yè)務初始化,典型的初始化場景如圖 2 所示:
圖 2 業(yè)務啟動流程

wKgaomXgPJGACdXgAAAuNs3CjmU203.png

main 函數用于內核基礎初始化和單板內核態(tài)業(yè)務初始化,流程如下圖 3 所示,整體由內核啟動框架主導初始化流程,圖中淺藍色部分為啟動框架中可接受外部模塊注冊啟動的階段。

注意:
同一層級內的模塊不能有依賴關系。
圖 3 內核啟動框架

wKgaomXgPKCASjxMAAlZmjg4a_0462.png

表 2 啟動框架層級

wKgaomXgPK2Aa4U9AAEZGTRPe2s140.png

可通過查看系統編譯生成文件 OHOS_Image.map 中.rodata.init.kernel.*段內的符號表來了解當前已注冊進內核啟動框架中的各個模塊初始化入口,以及檢查新注冊的模塊初始化入口是否生效。

編程樣例

在單板 SDK 文件中

/* 內核啟動框架頭文件 */
#include "los_init.h"
......
/* 新增模塊的初始化函數 */
unsigned int OsSampleModInit(void)
{
    PRINTK("OsSampleModInit SUCCESS!n");
    ......
}
......
/* 在啟動框架的目標層級中注冊新增模塊 */
LOS_MODULE_INIT(OsSampleModInit, LOS_INIT_LEVEL_KMOD_EXTENDED);

?

驗證

main core booting up...
OsSampleModInit SUCCESS!
releasing 1 secondary cores
cpu 1 entering scheduler
cpu 0 entering scheduler

根據上述系統啟動階段的打印可知,內核在啟動時進行了該注冊模塊的初始化函數調用,完成該模塊的初始化操作。
系統啟動完畢后進入內核態(tài) shell,能夠運行 task 命令能夠正常顯示即可。

OHOS # help
***shell commands:*
arp           cat           cd            chgrp         chmod         chown         cp            cpup      
date          dhclient      dmesg         dns           format        free          help          hwi       
ifconfig      ipdebug       kill          log           ls            lsfd          memcheck      mkdir     
mount         netstat       oom           partinfo      partition     ping          ping6         pmm       
pwd           reset         rm            rmdir         sem           shm           stack         statfs    
su            swtmr         sync          systeminfo    task          telnet        touch         umount    
uname         v2p           virstatfs     vmm           watch         writeproc   

為了能讓大家更好的學習鴻蒙 (OpenHarmony) 開發(fā)技術,這邊特意整理了《鴻蒙 (OpenHarmony)開發(fā)學習手冊》,希望對大家有所幫助:

《鴻蒙(Harmony OS)開發(fā)學習手冊》

入門必看:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.應用開發(fā)導讀(ArKTS)
2.……

wKgaomXW6N2AJp9uAAQXRxEAprs547.png

HarmonyOS概念:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.系統定義
2.技術框架
3.技術特性
4.系統安全

wKgaomXW6OSAFcCRAAV2zd2X_1s891.png

快速入門:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.基本概念
2.構建第一個ArkTS應用
3.……

wKgZomXW6PuAA7wEAAKx6By_2Z8377.png

開發(fā)基礎知識:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.應用基礎知識
2.配置文件
3.應用數據管理
4.應用安全管理
5.應用隱私保護
6.三方應用調用管控機制
7.資源分類與訪問
8.學習ArkTS
9…

wKgZomXW6QaAM4niAAQzrXUUPik914.png

基于ArkTS 開發(fā):https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.Ability開發(fā)
2.UI開發(fā)
3.公共事件與通知
4.窗口管理
5.媒體
6.安全
7.網絡與鏈接
8.電話服務
9.數據管理
10.后臺任務(Background Task)管理
11.設備管理
12.設備使用信息統計
13.DFX
14.國際化開發(fā)
15.折疊屏系列
16………

wKgZomXW6RKATahiAAKz-zSMnR4040.png

審核編輯 黃宇

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

    關注

    459

    文章

    51901

    瀏覽量

    433397
  • 內核
    +關注

    關注

    3

    文章

    1402

    瀏覽量

    40928
  • Liteos
    +關注

    關注

    10

    文章

    33

    瀏覽量

    47880
  • 鴻蒙
    +關注

    關注

    57

    文章

    2465

    瀏覽量

    43622
  • HarmonyOS
    +關注

    關注

    79

    文章

    2005

    瀏覽量

    31778
收藏 1人收藏
  • jf_304340921

評論

相關推薦

淺談OpenHarmony LiteOS-A內核之基礎硬件——中斷控制器GIC400

OpenHarmony(以下簡稱“OpenHarmony”)采用多內核架構,支持Linux內核的標準系統LiteOS-A小型
的頭像 發(fā)表于 10-26 23:00 ?2519次閱讀

【精品連載】韋東山老師帶你上手鴻蒙內核Liteos-a開發(fā)

驗Harmony系統。作為Harmony系統內核liteos-a,設計精巧而輕薄,只需要簡單移植就可以在第3方芯片上運行。本課程注重實戰(zhàn),將在第3方芯片上移植
發(fā)表于 09-18 18:05

鴻蒙介紹--韋東山老師帶你上手鴻蒙內核Liteos-a開發(fā)

使用這些完整系統。所以鴻蒙要對標的是Windows、安卓、IOS這類完整系統,而Linux只是鴻蒙支持的內核之一。
發(fā)表于 09-19 08:59

基于liteos-a,能方便地開發(fā)GUI程序嗎?

現在我們知道鴻蒙內核liteos-a,那么基于liteos-a,能方便地開發(fā)GUI程序嗎?
發(fā)表于 09-30 10:03

韋東山鴻蒙系統移植課程:給IMX6ULL編譯Liteos-a

/rootfs.jffs2 // 改個名易辨認,燒寫工具使用rootfs.jffs2 如果一切正常,結果如下: 上面得到的liteos.bin、rootfs.jffs2可以使用燒寫工具直接運行。請參考《第3篇 體驗鴻蒙內核
發(fā)表于 09-30 15:51

鴻蒙是一套龐大的體系,底層支持很多內核吧?liteos-m, liteos-a,linux 都支持?

大家都知道鴻蒙是一套龐大的體系,那么底層應該支持很多內核吧?liteos-m, liteos-a,linux 都支持嗎?
發(fā)表于 10-10 10:08

【HarmonyOS】鴻蒙Liteos-a內核移植手冊(PDF下載)

Liteos-a鴻蒙的體系很龐大,看下圖,內核只是其中之一:Liteos-a是什么Liteos-a是一個
發(fā)表于 10-27 10:37

鴻蒙liteos-a如何啟動第一個用戶進程init_lite

負責在內核啟動之后,應用啟動之前的操作系統中間層的啟動。涉及以下模塊:·init啟動引導支持使用LiteOS-A內核的平臺,當前包括:Hi3516DV300平臺和Hi3518EV300
發(fā)表于 12-10 15:02

LiteOS-A內核

是面向IoT領域構建的輕量級物聯網操作系統。在IoT產業(yè)高速發(fā)展的潮流中,OpenHarmony LiteOS-A內核能夠帶給用戶小體積、低功耗、高性能的體驗以及統一開放的生態(tài)系統能力
發(fā)表于 04-23 17:10

OpenHarmony LiteOS-A內核介紹

簡介OpenHarmony LiteOS-A內核是基于Huawei LiteOS內核演進發(fā)展的新一代內核,Huawei
發(fā)表于 08-19 10:46

Liteos-a是什么?為什么還要開發(fā)Liteos-a呢?

鴻蒙是什么?Liteos-a是什么?為什么還要開發(fā)Liteos-a呢?移植Liteos-a,需要哪些資料?
發(fā)表于 10-13 06:05

在100ASK_IMX6ULL上移植Liteos-a

鴻蒙內核Liteos-a的官方代碼目前只支持海思的芯片,我作為首批開發(fā)者入駐華為一個多月,成功在100ASK_IMX6ULL上移植了Liteos-a。本文先讓大家體驗一下
發(fā)表于 01-14 08:44

VectorCAST/QA如何在LiteOS-A內核上實現系統白盒測試

本文將通過演示實例介紹VectorCAST/QA如何在LiteOS-A內核上實現系統白盒測試,獲取被測程序的代碼覆蓋信息。具體實現在支持sudo超級用戶模式的Ubuntu 18.04(或以上)版本中
的頭像 發(fā)表于 06-26 16:21 ?9820次閱讀
VectorCAST/QA如何在<b class='flag-5'>LiteOS-A</b><b class='flag-5'>內核</b>上實現<b class='flag-5'>系統</b>白盒測試

鴻蒙liteos-a系統入門實戰(zhàn)直播亮點

直播亮點 鴻蒙官方開發(fā)板功能講解,不同設備的硬件和軟件差異比較。 直播大綱 1、hi3518板子功能介紹及應用領域; 2、操作系統liteos-a與lite-m,linux差別介紹 3
的頭像 發(fā)表于 11-21 09:20 ?2296次閱讀
<b class='flag-5'>鴻蒙</b><b class='flag-5'>liteos-a</b><b class='flag-5'>系統</b>入門實戰(zhàn)直播亮點

Liteos-a內核工作隊列的實現原理分析及經驗總結——芯海科技PPG芯片CS1262接入OpenHarmony實戰(zhàn)

摘要OpenHarmony系統中使用了liteos-m、liteos-a、linux三種內核,工作隊列是linux內核引入的一種異步處理機制
的頭像 發(fā)表于 04-26 09:26 ?2638次閱讀
<b class='flag-5'>Liteos-a</b><b class='flag-5'>內核</b>工作隊列的實現原理分析及經驗總結——芯海科技PPG芯片CS1262接入OpenHarmony實戰(zhàn)

電子發(fā)燒友

中國電子工程師最喜歡的網站

  • 2931785位工程師會員交流學習
  • 獲取您個性化的科技前沿技術信息
  • 參加活動獲取豐厚的禮品
主站蜘蛛池模板: 国产呦精品一区二区三区下载 | 国产麻豆AV伦 | 亚州视频一区 | 干极品美女 | 国产99对白在线播放 | 午夜理论片YY4399影院 | 国产AV电影区二区三区曰曰骚网 | 午夜影视不用充钱的免费 | 午夜精品久久久久久久99蜜桃 | 男人日女人的b | 亚洲人成www在线播放 | 嫩草视频在线观看免费 | 一本色道久久综合亚洲精品加 | 有码 亚洲 制服 国产 在线 | 99国产小视频 | 2021精品高清卡1卡2卡3麻豆 | 亚州日韩精品AV片无码中文 | 嫩草影院永久在线一二三四 | 99久久精品国产国产毛片 | 日韩精品a在线视频 | 夜色福利院在线看 | 中文字幕在线观看 | 日本少妇无码精品12P | 少妇的肉体AA片免费 | 欧美一区二区三区播放 | 国产精品外围在线观看 | 国产99久久亚洲综合精品西瓜tv | 大香伊人久久 | 在线看片成人免费视频 | 国产精品你懂的在线播放 | 色色色999| 中文字幕国产在线观看 | 亚洲AV精品无码国产一区 | 火影忍者高清无码黄漫 | 日本中文字幕巨大的乳专区 | 美女露出逼| 无码人妻精品一区二区蜜桃色欲 | 黑丝美女被人操 | 99影视久久电影网久久看影院 | 免费果冻传媒2021视频 | 成人AV无码一二二区视频免费看 |