QNX如何構建嵌入式系統概述

2021-06-18 02:19:24 字數 1616 閱讀 3647

qnx系統啟動過程:

1.處理器從復位向量開始執行,然後內部程式載入器(ipl)載入系統映象,並且把控制權交給映象中的startup啟動程式。

2.startup啟動程式配置系統,並把控制權交給微核心和程序管理模組。

3.程序管理模組載入其他驅動和應用程式。

ipl的作用:

ipl主要負責載入系統映象,首先簡單配置硬體環境以便執行啟動程式和微核心,這個過程至少包含以下步驟:

1、從復位向量啟動執行

2、配置記憶體控制器,可能包含片選和pci控制器

3、配置時鐘

一般來說ipl分為冷啟動ipl和熱啟動ipl兩種通用型別,對於熱啟動ipl一些系統配置已經完成,而冷啟動ipl需要從頭進行

所有的配置,所以熱啟動ipl的操作是冷啟動ipl操作的子集。

startup啟動程式的作用:

系統啟動的第二部是配置處理器和硬體,載入系統資源並且啟動作業系統,這一部是由startup啟動程式完成的。當ipl做了最小

的系統配置讓startup啟動程式可以工作後,startup啟動程式完成所有的配置。為了保持neutrino核心盡量可配置化,讓啟動程式可以

配置基本時鐘、中斷控制器、緩衝控制器等等, 也可以提供核心呼叫的**片段來提供硬體相關的功能。例如當乙個硬體中斷被觸發,一些**必須判定中斷源,而一些**可以清除中斷源。

注意啟動程式並不配置類似串列埠波特率,網路裝置等一類裝置,這些留給驅動自行解決。一旦西東**完成初始化並且把系統資訊放置在系統可以訪問的頁區域,啟動**將控制權交給核心和程序管理器,由它們進行下一步的載入。

歸納起來啟動**需要做如下事情:

1、根據需要拷貝和解壓系統映像。

2、配置硬體

3、決定系統配置

4、啟動核心

根據需要拷貝和解壓系統映像

如果映像不是所有都放在ram中了,啟動**需要把它拷貝過來。如果映象是壓縮的,啟動**需要自動解壓,但是壓縮是可選的,你也可以不用壓縮,那就免去了解壓的過程。

配置硬體

主要是進行最小化配置,並且決定系統配置,具體操作和硬體平台相關。

決定系統配置

你可能想要在啟動時動態決定配置資訊,這部分資訊需要啟動程式儲存在乙個精心定義的結構中,以便作業系統啟動後可以讀取它,眾所周知的時系統頁區,這寫資料結構包含以下資訊:

記憶體配置  硬體裝置配置  處理器型別  時間資訊

建立標註

為了使核心盡可能的具有可移植性,啟動**有必要建立一定數量的標註,當你寫程式時候,不是所有標註都需要,這裡通過庫來提供其中的一些, neutrino 可以提供下面標註的功能:

除錯介面 時鐘/定時器介面 中斷控制介面 緩衝控制介面 電源管理 和雜項

啟動系統

啟動**的最後步驟是啟動作業系統。

啟動庫上面描述了啟動過程中的很多任務作,qnx提供了一些通用啟動程式的原始碼還建立了可以實現大部分功能的啟動庫。如果使用qnx已經支援的平台,就很容易了,這裡的工作都已經做好。

可以通過下列途徑找出qnx當前支援的處理器和開發板:

板級支援 bsp_working_dir

/src/hardware/startup/boards

文件startup-*

入口 如果你用的不是標準系統,可以參考和你系統最接近的例子進行修改。  

嵌入式系統概述

計算機的分類 按照體系結構 執行速度 結構規模和適用領域分為 大型計算機,中型計算機,小型計算機和微型計算機。按照嵌入式應用和非嵌入式應用分為 通用計算機和嵌入式計算機。通用計算機一般具有標準的硬體配置,通過安裝不同的應用軟體,以適應各種不同的應用需求 嵌入式計算機一般是以嵌入式系統的形式隱藏在各種...

Buildroot構建嵌入式系統

2 配置buildroot 將原始碼包複製到 opt目錄下,並解壓 2.1 進入target options 將target architecture配置為arm littlt endian 將target architecture variant配置為cortex a9,將target abi配置...

嵌入式概述

1.嵌入式技術簡述 1 概念 在已有的硬體上移植作業系統,在作業系統上做層應用開發以及在作業系統之下做底層開發 2 作業系統 管理資源 包括軟體資源和硬體資源 降低耦合,起到 管家 的作用。作業系統是多工機制,提供了豐富的網路協議 開源軟體和庫。2.嵌入式軟體和非嵌入式軟體的區別 嵌入式是在作業系統...