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

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

3天內不再提示

Kinoma Create的特定應用操作系統(tǒng)

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Igor Serikov ? 2022-06-29 11:29 ? 次閱讀

SynthOS 是一種軟件工具,用于創(chuàng)建定制的、優(yōu)化的應用特定操作系統(tǒng) (ASOS)。使用項目文件中指定的系統(tǒng)約束和配置信息,SynthOS 分析應用程序和驅動程序代碼,并生成包含原始用戶代碼和運行特定 ASOS 要求所需的所有代碼的源代碼。

SynthOS 生成的 ASOS 是一個高效的多任務內核,可以從低端系統(tǒng)中引入新功能,尤其是小型 8 位或 16 位低速處理器,并使其能夠用于高級物聯網設備,同時提供安全性,便攜性和低功耗。由此產生的 ASOS 是一種 unikernel 形式,一種占用空間小、單一地址空間的系統(tǒng),它越來越受歡迎,可以直接在虛擬機管理程序或裸機系統(tǒng)上高效運行。

Kinoma Create,如圖 1 所示,是一個用于連接設備和物聯網的硬件和軟件原型系統(tǒng),基于 Marvell 的 PXA166 處理器。Kinoma Create 旨在與連接環(huán)境中的外部硬件和傳感器一起工作。

圖 1: Kinoma Create 硬件和接口

poYBAGK7x0uAQCilAAEP_LoFIdE989.png

為了將 Kinoma Create 連接到外部硬件,系統(tǒng)背面有一個 50 針接口;這些引腳專用于固定功能。該系統(tǒng)還在前面有兩個相同的 8 引腳接頭,如表 1 中定義,每個 8 位由兩個 8 位 Microchip PIC 16 MCU 之一控制,這些 8 位 Microchip PIC 16 MCU 作為通用 I/O (GPIO) 處理器運行。使用與這些 GPIO 通信的內置 Front Pin 應用程序將這些引腳的功能動態(tài)分配給物理引腳。該項目的目標是為兩個 GPIO 開發(fā)代碼,這些 GPIO 可以同時運行多個 I/O 接口,不會丟失數據,但仍適合 PIC 15 MCU 的 4 KB 閃存和 256 字節(jié) RAM。

前面板接口上的任何引腳都可以支持表中所示的功能。

表 1: Kinoma Create Front Pin 功能

poYBAGK7x1WAV-toAAF7YcZmTiw210.png

硬件架構

硬件架構如圖 2 所示。PIC16 是一款小巧但功能強大的 MCU,具有復雜的接口和配置設置。Kinoma Create 使用兩個 PIC16F1508 微控制器,每個都具有以下特性:

· 中檔指令集:48 條指令,16 層堆棧

· 閃存程序存儲器:4 KB

· RAM:256字節(jié)

· 振蕩器:16 MHz

· PWM:四個獨立

· ADC轉換器:12通道10位

· DAC:5位

· 定時器:2個8位,1個16位

控制器時鐘來自內部 16 MHz 時鐘。在 4 個周期/命令下,它相當于 4 MIPS。與主處理器的通信通過硬件 I 2 C 接口進行。

圖 2: SynthOS-Kinoma 創(chuàng)建項目框圖

poYBAGK7x1uATv1OAACV8xQTXBA992.png

軟件架構

鑒于 PIC16 處理器在內存空間和處理速度方面的限制,SynthOS 適合該項目。SynthOS 創(chuàng)建的 ASOS 在內存使用、處理器能力和速度方面非常高效。它對于像 Kinoma Create 中使用的 Microchip 設備這樣的小型 MCU 也很有用。SynthOS 允許在 C 中編寫代碼。當一個任務需要調用另一個任務或等待另一個任務完成時,會插入 SynthOS 識別的特殊代碼行,稱為“原語”。

然后在所有任務代碼上運行 SynthOS,將每個任務的適當信號量和標志插入到代碼中的適當位置。SynthOS 還創(chuàng)建了任務管理代碼來安排任務并管理相關的標志和信號量。SynthOS-Kinoma Create Project 的軟件架構如圖 3 所示。

圖 3: SynthOS-Kinoma Create Project 軟件功能框圖

poYBAGK7x2GADjK5AAFz-c9XM0E034.png

系統(tǒng)初始化

System Init 模塊在上電、復位和任何其他初始化條件時設置系統(tǒng)配置和硬件配置。I 2 C 主機通信模塊是系統(tǒng)中的主要任務。它與主機通信,從中獲取配置信息和數據,并在響應主機請求時發(fā)回數據。它使用 PIC 的集成 I 2 C 機制。來自主機的數據分為兩類:沒有約束的數據和需要根據一組允許值進行驗證的數據。后面的數據被保存到一組影子寄存器中,并在影子寄存器模塊中處理。

從主機發(fā)送的一些數據會使系統(tǒng)進入不穩(wěn)定狀態(tài)或與其他數據發(fā)生沖突。此類數據保存在影子寄存器模塊中的一組影子寄存器中,并與相應寄存器的允許值進行比較。只有在驗證為允許值后才會加載到寄存器中并在系統(tǒng)中生效。如果系統(tǒng)在影子寄存器的數據中檢測到錯誤,它不會將該數據加載到相應的寄存器中,但會指示錯誤。

模擬輸入和 A/D 模塊處理模擬輸入。該模塊使用 PIC 的內部 10 位模數轉換器并將數據存儲在主機可以通過 I 2 C 接口檢索的寄存器中。

數字 I/O 端口管理器

數字 I/O 端口管理器模塊處理數字 I/O 端口狀態(tài)和 I/O。此功能在此模塊和其他一些模塊之間劃分。在驗證設置之間沒有沖突(例如,同時定義為電源和接地的引腳)之后,在影子寄存器模塊中將引腳設置為電源、接地或 NC。

PWM 端口管理器模塊控制脈寬調制 (PWM) 輸出,并在中斷服務程序 (ISR) 中執(zhí)行。PWM 使用兩個寄存器定義,第一個定義周期時間,第二個定義周期時間內信號為高電平的時間段。PWM 機制依靠定時器中斷來生成所需的波形。由于 PIC 的功能有限,系統(tǒng)僅限于三個 PWM 輸出。

在帶外圍設備的 I 2 C 模塊中,PIC 是 I 2 C 網絡上的主設備。時鐘和數據由 PIC 通過旋轉引腳上的位來模擬 I 2 C 協(xié)議生成。如果需要,系統(tǒng)可以發(fā)送單字節(jié)數據消息或進行緩沖區(qū)傳輸。

中斷服務程序 (ISR)

PIC 的有限功能和中斷支持架構需要偏離標準的帶有 SynthOS 的 ISR 實現。PIC 實際上只有一個中斷向量,所有中斷都指向同一個地址。檢測活動中斷并做出響應是固件的責任。該架構要求固件在退出 ISR 和重置中斷標志之前支持中斷。出于這個原因,該系統(tǒng)在 ISR 中執(zhí)行主機 I 2 C 和 PWM 以最小化代碼大小并最大化性能。

ASOS 管理系統(tǒng)的不同任務并讓它們并行運行,從而實現更高的效率。SynthOS 將任務定義為 Init Task、Loop Task、Call Task 或 ISR,并且必須在項目文件中指定系統(tǒng)中的每種任務類型。我們創(chuàng)建了一個項目文件來指定每個任務的類型及其屬性,例如任務的優(yōu)先級和頻率,所有這些都顯示在清單中。

圖 4:顯示 SynthOS-Kinoma Create 項目文件的清單。

poYBAGK7x2mAB8E0AAHHh81IMVo924.png

接下來,我們將描述 SynthOS-Kinoma 創(chuàng)建項目的任務。初始化任務在軟件初始化期間執(zhí)行一次。由于這個實現相對簡單,并且由于內存限制,我們將所有系統(tǒng)初始化都移到了一個任務中。該任務包括系統(tǒng)配置、中斷設置和變量初始化。

循環(huán)任務

循環(huán)任務由 ASOS 使用 SynthOS 項目文件中選擇的調度程序定義的算法定期執(zhí)行。由于 PIC 的內存有限,我們在這個項目中只使用 Loop Tasks,這也簡化了配置文件和 SynthOS 生成的調度程序。

I 2 C Master 任務管理與主機在 I2C 總線上的通信。影子任務通過使用影子寄存器驗證來自主機處理器的信息,并且只有在影子寄存器中的數據被驗證后才更新系統(tǒng)配置和數據。

模擬輸入任務在后臺運行,從主機指定的端口讀取模擬輸入并將其保存在共享內存中。調用任務是不執(zhí)行的,除非它是由正在執(zhí)行的任務專門啟動的。在這個實現中,我們沒有使用任何調用任務。

中斷服務程序在中斷發(fā)生時執(zhí)行,就像在典型的嵌入式系統(tǒng)中一樣。系統(tǒng)中的 ISR 或者是用于 PWM 的定時器中斷,它根據主機處理器定義的占空比管理 PWM 時序,或者是管理與主機處理器通信的 I 2 C 主機中斷。

使用 SynthOS 實現系統(tǒng)后,GPIO 可以按預期工作,允許多個 I/O 同時運行而不會丟失任何數據,支持多個 A/D 和數字 I/O、多達四個 PWM,以及一個 I 2 C 接口八個引腳,僅由一個 PIC MCU 支持。考慮到功能,系統(tǒng)內存利用率在 3360 字節(jié)閃存(82% 利用率)和 198 字節(jié) RAM(77% 利用率)下非常高效。

審核編輯:郭婷

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

    關注

    68

    文章

    19372

    瀏覽量

    230434
  • 寄存器
    +關注

    關注

    31

    文章

    5358

    瀏覽量

    120775
  • 定時器
    +關注

    關注

    23

    文章

    3253

    瀏覽量

    115067
收藏 人收藏

    評論

    相關推薦

    deepin操作系統(tǒng)介紹

    希望從自己的能力和對桌面操作系統(tǒng)的理解,能給 Linux 的用戶與開發(fā)者更多的選擇。我們也相信 deepin 能夠得到更多用戶的認可與喜愛,成為開源世界的最佳選擇。? 一、 deepin 操作系統(tǒng) 先說 Linux 操作系統(tǒng),它
    的頭像 發(fā)表于 12-23 09:08 ?439次閱讀
    deepin<b class='flag-5'>操作系統(tǒng)</b>介紹

    如何在windows上emulate不同操作系統(tǒng)

    一、虛擬化技術概述 虛擬化技術允許在單個物理機器上創(chuàng)建多個虛擬機,每個虛擬機都可以運行不同的操作系統(tǒng)。這使得我們可以在Windows系統(tǒng)上模擬其他操作系統(tǒng),而無需購買額外的硬件。虛擬化技術的關鍵組件
    的頭像 發(fā)表于 12-05 15:50 ?250次閱讀

    linux操作系統(tǒng)安裝步驟 linux操作系統(tǒng)的特點及組成

    Linux操作系統(tǒng)安裝步驟 Linux操作系統(tǒng)是一種開源的操作系統(tǒng),它以其穩(wěn)定性、安全性和靈活性而聞名。以下是安裝Linux操作系統(tǒng)的一般步驟,以Ubuntu為例: 1. 準備工作 在
    的頭像 發(fā)表于 10-21 11:24 ?616次閱讀

    新手學操作系統(tǒng) 第二周

    新手學操作系統(tǒng)1.在shel程序中發(fā)命令 編輯 人在shell中發(fā)命令2.操作系統(tǒng)中的基本命令3.獲取幫助信息的兩個方法
    的頭像 發(fā)表于 10-08 11:32 ?238次閱讀
    新手學<b class='flag-5'>操作系統(tǒng)</b> 第二周

    面向功能安全應用的汽車開源操作系統(tǒng)解決方案

    在SAE 2024國際汽車安全大會上,Elektrobit的Linux專家王紅燕在操作系統(tǒng)與芯片技術的分論壇上為大家?guī)砹恕懊嫦蚬δ馨踩珣玫钠囬_源操作系統(tǒng)解決方案”主題演講。
    的頭像 發(fā)表于 09-27 09:21 ?501次閱讀
    面向功能安全應用的汽車開源<b class='flag-5'>操作系統(tǒng)</b>解決方案

    工控機支持什么操作系統(tǒng)

    工控機,全稱工業(yè)控制計算機(Industrial Personal Computer, IPC),支持多種操作系統(tǒng)以滿足不同行業(yè)和應用場景的需求。具體來說,工控機常見的操作系統(tǒng)包括:
    的頭像 發(fā)表于 09-11 09:24 ?514次閱讀

    簡單認識RTOS實時操作系統(tǒng)

    RTOS(Real Time Operating System,實時操作系統(tǒng))是一種專門設計用于在嚴格時間限制內處理任務的操作系統(tǒng)。它以其高實時性、多任務處理能力和資源管理能力在工業(yè)自動化、醫(yī)療設備、航空航天、汽車電子等眾多領域得到廣泛應用。以下是對RTOS實時
    的頭像 發(fā)表于 08-20 11:20 ?2971次閱讀

    Windows操作系統(tǒng)是什么?它有哪些特點?

    Windows操作系統(tǒng)是由美國微軟公司(Microsoft Corporation)開發(fā)和推出的一種計算機操作系統(tǒng)。自1985年Windows 1.0版本發(fā)布以來,Windows系統(tǒng)經歷了多次重大
    的頭像 發(fā)表于 08-07 16:30 ?2968次閱讀

    嵌入式實時操作系統(tǒng):Intewell操作系統(tǒng)與VxWorks操作系統(tǒng)有啥區(qū)別

    Intewell操作系統(tǒng)和VxWorks操作系統(tǒng)都是工業(yè)領域常用的操作系統(tǒng),它們各有特點和優(yōu)勢。以下是它們之間的一些主要區(qū)別:
    的頭像 發(fā)表于 07-08 14:16 ?469次閱讀
    嵌入式實時<b class='flag-5'>操作系統(tǒng)</b>:Intewell<b class='flag-5'>操作系統(tǒng)</b>與VxWorks<b class='flag-5'>操作系統(tǒng)</b>有啥區(qū)別

    微內核實時操作系統(tǒng)的介紹

    微內核實時操作系統(tǒng)(Microkernel Real-Time Operating System, μRTOS)是一種專為實時設計的操作系統(tǒng)。它采用微內核架構,以提高系統(tǒng)的可靠性、安全性和可擴展性。以下是關于微內核實時
    的頭像 發(fā)表于 05-11 17:13 ?531次閱讀

    如何根據需求選擇合適的新加坡VPS操作系統(tǒng)?

    選擇合適的新加坡VPS操作系統(tǒng)您需要考慮哪些因素,如何根據需求選擇合適的新加坡VPS操作系統(tǒng)?rak部落小編為您整理發(fā)布選擇合適的新加坡VPS操作系統(tǒng)需要考慮哪些因素。
    的頭像 發(fā)表于 05-10 11:14 ?466次閱讀
    如何根據需求選擇合適的新加坡VPS<b class='flag-5'>操作系統(tǒng)</b>?

    基于鴻道(Intewell?)操作系統(tǒng)研發(fā)的農業(yè)機器人操作系統(tǒng)

    江蘇大學與科東軟件聯合研發(fā)“農業(yè)機器人操作系統(tǒng)”,并成立“農業(yè)機器人操作系統(tǒng)”聯合實驗室,奮力推進農業(yè)智能化,推動農業(yè)科技創(chuàng)新?!稗r業(yè)機器人操作系統(tǒng)”的技術革新,對提高農業(yè)生產效率、保護環(huán)境、應對農業(yè)勞動力短缺及促進智慧農業(yè)發(fā)展
    的頭像 發(fā)表于 04-30 11:09 ?453次閱讀

    帶你認識實時操作系統(tǒng)(rtos)

    實時操作系統(tǒng)(RTOS)是為嵌入式系統(tǒng)和實時應用提供一個穩(wěn)定、可預測和高效運行環(huán)境的操作系統(tǒng)。實時操作系統(tǒng)確保了系統(tǒng)能夠在嚴格的時間限制內響
    的頭像 發(fā)表于 04-16 16:30 ?1372次閱讀
    帶你認識實時<b class='flag-5'>操作系統(tǒng)</b>(rtos)

    深度解析全球操作系統(tǒng)格局

    操作系統(tǒng)是負責協(xié)調、管理和控制計算機硬件與軟件資源的程序,是整個計算機的核心系統(tǒng)軟件。 按照操作系統(tǒng)面向的設備類型,通用操作系統(tǒng)主要包括桌面操作系統(tǒng)
    的頭像 發(fā)表于 01-18 15:00 ?1266次閱讀
    深度解析全球<b class='flag-5'>操作系統(tǒng)</b>格局