娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

基于ARM7(LPC2131)平臺的μC/OS-Ⅱ的移植

發布者:CreativeMind最新更新時間:2024-11-08 來源: cnblogs關鍵字:ARM7  LPC2131  μC  OS-Ⅱ  移植 手機看文章 掃描二維碼
隨時隨地手機看文章

OSIntCtxSw_1

                                                    ;獲取新任務堆棧指針

        LDR     R4, [R6]

        ADD     SP, R4, #68                         ;17寄存器CPSR,OsEnterSum,R0-R12,LR,SP

        LDR     LR, [SP, #-8]

        MSR     CPSR_c, #(NoInt | SVC32Mode)        ;進入管理模式

        MOV     SP, R4                              ;設置堆棧指針

        LDMFD   SP!, {R4, R5}                       ;CPSR,OsEnterSum

                                                    ;恢復新任務的OsEnterSum

        LDR     R3, =OsEnterSum

        STR     R4, [R3]

        MSR     SPSR_cxsf, R5                       ;恢復CPSR

        LDMFD   SP!, {R0-R12, LR, PC }^             ;運行新任務

;/*****************************************************************************************

;** 函數名稱: __OSStartHighRdy

;** 功能描述: uC/OS-II啟動時使用OSStartHighRdy運行第一個任務,

;**           OSStartHighRdy會調用__OSStartHighRdy

;** 輸 入:   無

;** 輸 出 :  無

;** 全局變量: OSRunning,OSTCBCur,OSTCBHighRdy,OsEnterSum

;** 調用模塊: OSTaskSwHook

;** 作 者: 吳友強

;** 日 期: 2009年7月29日

;**----------------------------------------------------------------------------------------

;*****************************************************************************************/

__OSStartHighRdy

        MSR     CPSR_c, #(NoInt | SYS32Mode)

                                                ;告訴uC/OS-II自身已經運行

        LDR     R4, =OSRunning

        MOV     R5, #1

        STRB    R5, [R4]

        BL      OSTaskSwHook                    ;調用鉤子函數

        LDR     R6, =OSTCBHighRdy

        LDR     R6, [R6]

        B       OSIntCtxSw_1

        AREA    SWIStacks, DATA, NOINIT,ALIGN=2

SvcStackSpace      SPACE   SVC_STACK_LEGTH * 4  ;管理模式堆棧空間

    END

(4)IRQ.INC定義了一個宏匯編,并且是uC/OS-II for ARM7通用的中斷服務程序的匯編與C語言接口代碼,需要自己編寫。源代碼如下:

;/****************************************Copyright (c)************************************

;**                              FreshAir嵌入式軟件開發團隊

;**                                     軟件開發團隊

;**                                        技術部 

;**                                 http://www.freshiair.com

;**--------------文件信息------------------------------------------------------------------

;**文   件   名: irq.inc

;**創   建   人: 吳友強

;**最后修改日期: 2009年7月28日

;**描        述: 定義IRQ匯編接口代碼宏

;**--------------歷史版本信息--------------------------------------------------------------

;** 創建人: 吳友強

;** 版  本: v1.0

;** 日 期: 2009年7月29日

;*****************************************************************************************/

NoInt       EQU 0x80

USR32Mode   EQU 0x10

SVC32Mode   EQU 0x13

SYS32Mode   EQU 0x1f

IRQ32Mode   EQU 0x12

FIQ32Mode   EQU 0x11

;引入的外部標號在這聲明

        IMPORT  OSIntCtxSw                      ;任務切換函數

        IMPORT  OSIntExit                       ;中斷退出函數

        IMPORT  OSTCBCur

        IMPORT  OSTCBHighRdy

        IMPORT  OSIntNesting                    ;中斷嵌套計數器

        IMPORT  StackUsr

        IMPORT  OsEnterSum

    CODE32

    AREA    IRQ,CODE,READONLY

    MACRO

$IRQ_Label HANDLER $IRQ_Exception_Function

        EXPORT  $IRQ_Label                      ; 輸出的標號

        IMPORT  $IRQ_Exception_Function         ; 引用的外部標號

$IRQ_Label

        SUB     LR, LR, #4                      ; 計算返回地址

        STMFD   SP!, {R0-R3, R12, LR}           ; 保存任務環境

        MRS     R3, SPSR                        ; 保存狀態

        STMFD   SP, {R3, SP, LR}^               ; 保存用戶狀態的R3,SP,LR,注意不能回寫

                                                ; 如果回寫的是用戶的SP,所以后面要調整SP

        LDR     R2,  =OSIntNesting              ; OSIntNesting++

        LDRB    R1, [R2]

        ADD     R1, R1, #1

        STRB    R1, [R2]

        SUB     SP, SP, #4*3     

        MSR     CPSR_c, #(NoInt | SYS32Mode)    ; 切換到系統模式

[1] [2] [3] [4] [5] [6] [7] [8] [9]
關鍵字:ARM7  LPC2131  μC  OS-Ⅱ  移植 引用地址:基于ARM7(LPC2131)平臺的μC/OS-Ⅱ的移植

上一篇:Windows CE6.0中斷實驗過程
下一篇:arm linux 移植 mtd-utils 1.x

推薦閱讀最新更新時間:2025-05-10 08:14

關于ARM7 S3C4510B上μClinux移植問題
Linux是一種支持多種體系結構處理器的操作系統,有很強的移植性。描述了將μClinux移植到基于S3C4510B處理器目標板上的方法與過程。首先介紹了S3C4510B處理器和μClinux,并簡單說明了如何搭建移植環境,然后著重討論了在該開發板上Bootloader的設計實現以及μClinux內核的移植方法,最后對在這種基于μClinux的嵌入式系統環境下如何開發應用程序做了簡單說明。 1引言 ARM(AdvancedRISCMachines),既可以認為是一個公司的名字,也可以認為是對一微處理器的通稱,還可以認為是一種技術的名字。 1991年ARM公司成立于英國劍橋,主要出售芯片設計技術的授權。目前,采用ARM技術知識
[單片機]
關于<font color='red'>ARM7</font> S3<font color='red'>C</font>4510B上μClinux<font color='red'>移植</font>問題
實時操作系統μC/OS-II在ARM7上的移植
1 引言 目前,嵌入式系統在家電、移動電話、PDA等各種領域的應用日益廣泛,程序設計也越來越復雜,這就需要采用一個通用的嵌入式操作系統來對其進行管理和控制。移植了操作系統的嵌入式系統開發,可大大減輕程序員的負擔,操作系統提供了多任務的管理功能,只需專注于每個任務的管理。對于不同的應用,可以按照相同的步驟完成系統設計。如果更換硬件平臺,則只需要對操作系統進行少量的移植工作,與硬件無關的應用代碼完全無需修改,同時,可增強代碼的可讀性、可維護性和可擴展性。 μC/OS-II是一種專門為微處理器設計的搶占式實時多任務操作系統,具有源代碼公開、可移植性和可靠性高等特點。由于μC/OS-II是為嵌入式應用編寫的通用軟件,故在具體應用時需根
[單片機]
實時操作系統μ<font color='red'>C</font>/OS-II在<font color='red'>ARM7</font>上的<font color='red'>移植</font>
基于μC/OS-Ⅱ和ARM的超聲波測距系統設計
1 引言   超聲波指向性強,能量消耗緩慢,在介質中傳播的距離較遠,因而用于距離測量。利用超聲波檢測往往較迅速、方便、計算簡單、易于實時控制,且測量精度能達到工業實用要求,因此在移動機器人的研制中得到廣泛應用。移動機器人要在未知和不確定環境下運行,必須具備自動導航和避障功能。超聲波傳感器以其信息處理簡單、速度快和價格低的特點廣泛用作移動機器人的測距傳感器,實現避障、定位、環境建模和導航等功能。   2 系統總體設計方案   2.1 超聲波測距原理   2.1.1 超聲波發生器   超聲波為直線傳播方式,頻率高,反射能力強。空氣中其傳播速度為340 m/s,容易控制,受環境影響小。因此采用超生波傳感器作為距離探測的“眼睛”
[模擬電子]
基于μ<font color='red'>C</font>/<font color='red'>OS-</font>Ⅱ和ARM的超聲波測距系統設計
移植Linux-3.4.2內核到S3C2440
一、BootLoader引導內核過程 1、Bootloader的工作 1.1、將內核讀入內存 1.2、保存內核啟動參數到指定位置,內核啟動時去這個位置解析參數 1.3、啟動內核、傳入機器ID 二、內核的啟動流程 內核首要目的是掛載根文件系統,啟動應用程序,內核啟動的過程大致為以下幾步: 1.檢查CPU和機器類型 2.進行堆棧、MMU等其他程序運行關鍵的東西進行初始化 3.打印內核信息 4.執行各種模塊的初始化 5.掛接根文件系統 6.啟動第一個init進程 對于ARM的處理器,內核第一個啟動的文件是arc/arm/kernel下面的head.S文件 第一階段: 首先截取部分head.S文件 ENTRY(stext
[單片機]
OpenCV開源圖像處理函數庫在S3C2440移植
一、簡介 OpenCV是一個基于C/C++語言的開源圖像處理函數庫 其代碼都經過優化,可用于實時處理圖像 具有良好的可移植性 可以進行圖像/視頻載入、保存和采集的常規操作 具有低級和高級的應用程序接口(API) 二、功能說明 圖像數據操作(內存分配與釋放,圖像復制、設定和轉換) Image data manipulation (allocation, release, copying, setting, conversion). 圖像/視頻的輸入輸出(支持文件或攝像頭的輸入,圖像/視頻文件的輸出) Image and video I/O (file and camera based input, i
[單片機]
OpenCV2.0.0移植到ARM9(五)(JZ2440----S3c2440)
Linux系統:Ubuntu9.10 交叉編譯器:arm-linux-gcc-4.3.2(已安裝) Qt:qt-x11-opensource-src-4.5.3.tar.gz qt-embedded-linux-opensource-src-4.5.3.tar.gz 1、安裝Qt Qt下載地址:https://www.qt.io/download-open-source/ 這里下載的安裝包為:qt-embedded-linux-opensource-src-4.5.3.tar.gz(大小123MB) 2、安裝Qt-x11 將qt-x11-opensource-src-4.5.3.tar.gz包放到U
[單片機]
OpenCV2.0.0<font color='red'>移植</font>到ARM9(五)(JZ2440----S3<font color='red'>c</font>2440)
u-boot-2011.06在基于s3c2440開發板的移植之支持YAFFS2
YAFFS和YAFFS2是由AlephOne公司開發的NAND Flash文件系統。YAFFS和YAFFS2主要差異在于PAGE讀寫size的大小,YAFFS2可支持到2Kper page,遠高于YAFFS的512 Bytes,因此YAFFS2對于大容量NANDflash來說更具優勢。 就u-boot來說,主要是能夠使它支持下載YAFFS文件,以供操作系統使用,因此只要能夠實現YAFFS的寫入功能即可,無需實現讀取功能。 u-boot-2011.06是支持寫入YAFFS文件的,但默認情況下,該功能沒有開啟。要想開啟該功能,就必須在include/configs/zhaocj2440.h文件內定義CONFIG_CMD_N
[單片機]
基于S3C2410A的嵌入式系統的U-Boot移植
0 引 言 ARM嵌入式處理器已被廣泛應用于消費電子產品、無線通信、網絡通信和工業控制等領域。其中,ARM9的芯片更是以其低價格、低功耗、高性能在手持設備中占據著重要市場。在嵌入式操作系統中,Linux,Vxworks,WinCE三足鼎立,其中Linux由于其開源性、穩定性、安全性、可裁減性更是一支獨放。在嵌入式系統中,如何實現在ARM9平臺下Linux操作系統的引導工作是嵌入式技術開發的重要環節。 1 嵌入式系統的軟件組成 1.1 系統的軟件組成 嵌入式的軟件系統主要由Bootloader、操作系統、文件系統、應用程序等組成。其中,Bootloader是介于硬件和操作系統之間的一層,其作用就好像PC機中的BIOS。系統加電運
[單片機]
基于S3<font color='red'>C</font>2410A的嵌入式系統的U-Boot<font color='red'>移植</font>
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 黔南| 大安市| 洪江市| 金乡县| 仙游县| 堆龙德庆县| 东丰县| 确山县| 大方县| 离岛区| 永修县| 岳阳市| 秦安县| 新疆| 凤台县| 崇阳县| 拉孜县| 观塘区| 尉犁县| 本溪| 旅游| 大港区| 永和县| 建昌县| 抚松县| 福海县| 贵南县| 龙里县| 叙永县| 桂阳县| 富锦市| 永康市| 扎兰屯市| 农安县| 曲水县| 会理县| 鱼台县| 托克托县| 图片| 山阳县| 江油市|