原创 VxWorks驅動移植至SylixOS總結

本文檔描述了將VxWorks中的驅動源碼快速移植至SylixOS中的方法,使用時需要結合SylixOS中的VxWorks兼容層實現。 1. 驅動註冊與初始化 1.1 VxWorks中驅動註冊與初始化 1.1.1 初始化函數 VxWor

原创 SylixOS中AARCH64跳轉表實現原理

1. 跳轉表存在的意義 1.1 內核模塊反彙編 如下的程序清單,爲一個內核模塊的源碼。 #define __SYLIXOS_KERNEL #include <SylixOS.h> #include <module.h> /* *

原创 SylixOS中AARCH64的GDB調試實現

1. GDB功能實現的框架 1.1 GDB的簡介 GDB是GNU開源組織發佈的一個強大的UNIX下程序調試工具。SylixOS中除Lite版本外,都可以實現GDB調試功能。GDB可以對C和C++程序進行調試,它使用戶能在程序運行時觀察程序

原创 SylixOS中MTD調用底層接口流程分析

1. MTD設備與底層驅動的關係   MTD設備是一種特殊的抽象設備,它用於簡化驅動開發。它是底層硬件和上層軟件的橋樑,無論對Nand Flash或是Nor Flash,它都提供了統一的框架供上層文件系統使用。對於底層驅動,只需按照各自硬件

原创 SylixOS基於Nuc970平臺的SD驅動移植

1. 適用範圍    本文檔爲實現Nuc970平臺的SD驅動總結,提供一些SylixOS SD驅動移植方法的參考。2. 原理概述2.1 控制器類型   SD控制器有兩種類型,分爲SD標準控制器(SDHCI)和SD非標準控制器。    Syl

原创 基於i.MX6UL實現PWM脈衝計數

1.適用範圍     本文檔介紹了基於i.MX6UL實現PWM脈衝計數的基本實現原理。2.客戶需求2.1 基本需求   基本需求爲在i.MX6UL上利用PWM輸出固定頻率的脈衝波形,並嚴格控制該頻率下的脈衝輸出個數。應用程序調用系統接口設置

原创 SylixOS 在 t_main 中使用硬浮點方法

1. 問題描述 在某些使用場景中,應用程序不使用動態加載的方式執行,而是跟隨BSP在 t_main 線程中啓動,此時應用代碼是跟隨 BSP 進行編譯的。由於 BSP 默認使用軟浮點,所以會導致應用代碼中的浮點運算採用軟浮點的方式實現,最終產

原创 手動部署QtSylixOS的方法

1. 適用範圍    本文檔介紹了QtSylixOS相關庫文件和應用程序手動部署的方法。    實際開發過程中,有些板卡無網絡功能,此時需要手動對QtSylixOS的庫文件和應用程序進行部署。    本文介紹的是通過U盤或SD卡將QtSyl

原创 VxWorks驅動移植至SylixOS總結

本文檔描述了將VxWorks中的驅動源碼快速移植至SylixOS中的方法,使用時需要結合SylixOS中的VxWorks兼容層實現。 1. 驅動註冊與初始化 1.1 VxWorks中驅動註冊與初始化 1.1.1 初始化函數 VxWor

原创 SylixOS中ARM架構的MMU實現分析

1. 理論知識 1.1 快表(TLB)與頁表 在虛擬頁式存儲管理中設置了快表(TLB),用於保存正在運行進程頁表的子集,通常快表存放在高速緩衝存儲器(Cache)中。而頁表存放在內存中,並通過特殊功能寄存器(TTB)等告知系統頁表存儲在內

原创 SylixOS中select原理及使用分析

1. select接口簡介 1.1 select接口使用用例 select是操作系統多路I/O複用技術實現的方式之一。多路I/O複用技術大致使用場景爲:構造一張感興趣的文件描述符列表,然後調用多路複用的IO接口,在接口中進行阻塞,直到這些描

原创 SylixOS與Linux接口對應關係之一

1. 適用範圍    本文檔可作爲Linux驅動源碼或庫源碼快速移植至SylixOS的參考。2. 互斥信號量2.1 概念簡介   互斥信號量(Linux中亦稱爲互斥鎖)是因爲多線程對臨界區訪問而存在的。只有擁有互斥對象的線程才具有訪問資源的

原创 x86下SylixOS引導過程分析

1. 上電啓動流程 當x86電源打開後,CPU將自動進入實模式,並從地址0xFFFF0(CS:0xFFFF,IP:0x0)開始自動運行程序代碼,此地址一般是BIOS的地址。BIOS啓動後,將啓動設備的主引導記錄。主引導記錄位於第0磁道的第1

原创 我的友情鏈接

51CTO博客開發

原创 SylixOS的SD協議棧(SD總線下的SD存儲設備)

1.內容簡介  SD設備包括SD存儲設備和SDIO設備兩種。  SD設備一般支持SD總線接口和SPI總線接口兩種工作方式,兩者的硬件接口不同,如圖 1-1所示。