原创 OSTaskStatHook()

void OSTaskStatHook(void) File Called from Code enabled by OS_CPU_C.C OSTaskStat() OS_CPU_HOOKS_EN 該函數每秒鐘都會被µC/OS-Ⅱ的

原创 OSTimeTickHook()

void OSTimeTickHook(void) File Called from Code enabled by OS_CPU_C.C OSTimeTick() OS_CPU_HOOKS_EN 只要發生時鐘節拍,該函數就會被OS

原创 開發工具,目錄和文件,INCLUDES.H文件

開發工具 筆者採用的是Borland C/C++ V3.1和Borland Turbo Assembler彙編器完成程序的移植和測試,它可以產生可重入的代碼,同時支持在C程序中嵌入彙編語句。編譯完成後,程序可在PC機上運行。本書代碼的測試

原创 OSTaskSwHook()

void OSTaskSwHook(void) File Called from Code enabled by OS_CPU_C.C OSCtxSw() and OSIntCtxSw() OS_CPU_HOOKS_EN 當執行任

原创 ARM裸機程序研究 - 編譯和鏈接

1. Linux下的二進制可執行文件。     如果世界很簡單,那麼二進制可執行文件也應該很簡單,只包括CPU要執行的指令就可以了。可惜,世界並不簡單……。Linux下的二進制可執行文件(以下簡稱可執行文件),也並不是只包括了指令,還

原创 OSIntCtxSw()

在µC/OS-II中,由於中斷的產生可能會引起任務切換,在中斷服務程序的最後會調用OSIntExit()函數檢查任務就緒狀態,如果需要進行任務切換,將調用OSIntCtxSw()。所以OSIntCtxSw()又稱爲中斷級的任務切換函數。由

原创 OSCtxSw()

OSCtxSw()是一個任務級的任務切換函數(在任務中調用,區別於在中斷程序中調用的OSIntCtxSw())。在80x86系統上,它通過執行一條軟中斷的指令來實現任務切換。軟中斷向量指向OSCtxSw()。在µC/OS-II中,如果任務

原创 OSTickISR()

在9.03.05節中,我們已經提到過實時系統中時鐘節拍發生頻率的問題,應該在10到100Hz之間。但由於PC環境的特殊性,時鐘節拍由硬件產生,間隔54.93ms (18.20648Hz)。我們將時鐘節拍頻率設爲200Hz。PC時鐘節拍的中

原创 GPIO示例

#include <stdio.h> #include <stdlib.h> #include <string.h> #include "mmu.h" #include "typedef.h" #include "S3C2451_gpio

原创 S3c2451開發板的啓動過程詳解

開發板 啓動過程 1、概念基礎 SRAM,STATIC RANDOM ACCESS MEMORY  就是靜態隨即存儲器 SROM static read only memory 靜態只讀存儲器 ROM ,只讀存儲器 RAM,隨即存儲

原创 NAND_flash和NOR_flash區別(最詳細)

NAND flash和NOR flash詳解 NOR和NAND是現在市場上兩種主要的非易失閃存技術。Intel於1988年首先開發出NOR flash技術,徹底改變了原先由EPROM和EEPROM一統天下的局面。緊接着,1989年,東

原创 OSStartHighRdy()

µC/OS-II 的移植需要用戶改寫OS_CPU_A.ASM中的四個函數: OSStartHighRdy() OSCtxSw() OSIntCtxSw() OSTickISR()該函數由SStart()函數調用,功能是運行優先級最高的就緒

原创 s3c2451簡介

簡介 Mini2451是一款高性能,低功耗的ARM9一體化平臺板,它由廣州友善之臂設計、生產和發行銷售。它採用Samsung S3C2451作爲主處理器,運行主頻最高可達533MHz。作爲Mini2440的繼任者,它不僅僅是秉承了Mini

原创 OS_CPU.H文件

OS_CPU.H 文件中包含與處理器相關的常量,宏和結構體的定義。程序清單L9.2是爲80x86編寫的OS_CPU.H文件的內容。 程序清單L 9.2 OS_CPU.H. #ifdef OS_CPU_GLOBALS #define O

原创 µC/OS-II在80x86上的移植

本章將介紹如何將µC/OS-II移植到Intel 80x86系列CPU上,本章所介紹的移植和代碼都是針對80x86的實模式的,且編譯器在大模式下編譯和連接。本章的內容同樣適用於下述CPU: 80186 80286 80386 80486