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

一、新建工程

1.新建一個ARM Executable Image

2.創建uCOS_II文件夾,創建兩個子文件夾,分別為ARM、SOURCE

ARM存放和平臺相關的文件("OS_CPU.H" "Os_cpu_a.s" "Os_cpu_c.c" )

SOURCE下存入和平臺無關的文件("ucos_ii.h" "os_cfg.h" "os_core.c" "os_flag.c" "os_mbox.c" "os_mem.c" "os_mutex.c" "os_q.c" "os_sem.c" "os_task.c" "os_time.c" "os_tmr.c" )

3.創建一個S3C2440文件夾,創建兩個子文件夾,分別為INC、SRC

INC存放S3C2440相關頭文件("2440addr.h" "2440lib.h" "2440slib.h" "config.h" "Def1.h" "lcd.h" "mmu.h" "Option.h" "Target.h" "Timer.h" )

SRC存放S3C2440相關源文件("Timer.c" "2440init.s" "2440lib.c" "2440slib.s" "Font_Libs.c" "iphone.c" "lcd.c" "mmu.c" "nand.c" "Target.c" )

4.創建一個app文件夾(app_cfg.h、main.c、Printf.c、Printf.h)


二、工程設置Edit->DebugRel Settings下

1.Target->Target Settings,Post-linker:ARM fromELF

2.Target->Access Paths選中Always Search User Paths(ucos_ii部分文件采用#include <>包涵,不修改這里找不到文件)

3.Language Settings下ARM Assembler、ARM C Compliler、ARM C++ Complier處理器設置成ARM920T

4.Language Settings下ARM C Compliler下Errors下去掉Implicit pointer c,ARM C Compliler下Warnings下去掉Unused declaration(-O1 -g+ -cpu ARM920T -Wx -Ec)

5.ARM Linker下,Output下RO Base設置成0x30000000,Options下Image entry point設置成0x30000000,Layout下Place at beginning of image下的Object/Symbol設置成2440init.o,Section設置成Init,Listings下選勾Image map、List file設置list.txt,勾上Sizes、Totals、Unused、Veneers

6.ARM fromELF下Output file name下填寫輸出的二進制


三、移植文件的修改


對OS_CPU.H的修改:


view plaincopy to clipboard

/*   

*********************************************************************************************************  

*                                              ARM  

*  

* Method #1:  NOT IMPLEMENTED  

*             Disable/Enable interrupts using simple instructions.  After critical section, interrupts  

*             will be enabled even if they were disabled before entering the critical section.  

*               

* Method #2:  NOT IMPLEMENTED  

*             Disable/Enable interrupts by preserving the state of interrupts.  In other words, if   

*             interrupts were disabled before entering the critical section, they will be disabled when  

*             leaving the critical section.  

*             NOT IMPLEMENTED  

*  

* Method #3:  Disable/Enable interrupts by preserving the state of interrupts.  Generally speaking you  

*             would store the state of the interrupt disable flag in the local variable 'cpu_sr' and then  

*             disable interrupts.  'cpu_sr' is allocated in all of uC/OS-II's functions that need to   

*             disable interrupts.  You would restore the interrupt disable state by copying back 'cpu_sr'  

*             into the CPU's status register.  This is the prefered method to disable interrupts.  

*********************************************************************************************************  

*/  

  

#define  OS_CRITICAL_METHOD    3  

  

#if      OS_CRITICAL_METHOD == 3  

#define  OS_ENTER_CRITICAL()  (cpu_sr = OSCPUSaveSR())  /* Disable interrupts                        */  

#define  OS_EXIT_CRITICAL()   (OSCPURestoreSR(cpu_sr))  /* Restore  interrupts                       */  

#endif  

  

/*  

*********************************************************************************************************  

*                                         ARM Miscellaneous  

*********************************************************************************************************  

*/  

  

#define  OS_STK_GROWTH        1                       /* Stack grows from HIGH to LOW memory on ARM    */  

  

#define  OS_TASK_SW()         OSCtxSw()  


對Os_cpu_c.c的修改:


view plaincopy to clipboard

/*  

*********************************************************************************************************  

*                                               uC/OS-II  

*                                        The Real-Time Kernel  

*  

*                           (c) Copyright 1992-2003, Micrium, Inc., Weston, FL  

*                                          All Rights Reserved  

*  

*                                               ARM9 Port  

*  

* File : OS_CPU_C.C  

*********************************************************************************************************  

*/  

  

//#define  OS_CPU_GLOBALS  

#include "ucos_ii.h"  

  

  

/*  

*********************************************************************************************************  

*                                        INITIALIZE A TASK'S STACK  

*  

* Description: This function is called by either OSTaskCreate() or OSTaskCreateExt() to initialize the  

*              stack frame of the task being created.  This function is highly processor specific.  

*  

* Arguments  : task          is a pointer to the task code  

*  

*              p_arg         is a pointer to a user supplied data area that will be passed to the task  

*                            when the task first executes.  

*  

*              ptos          is a pointer to the top of stack.  It is assumed that 'ptos' points to  

*                            a 'free' entry on the task stack.  If OS_STK_GROWTH is set to 1 then   

*                            'ptos' will contain the HIGHEST valid address of the stack.  Similarly, if  

*                            OS_STK_GROWTH is set to 0, the 'ptos' will contains the LOWEST valid address  

*                            of the stack.  

*  

*              opt           specifies options that can be used to alter the behavior of OSTaskStkInit().  

*                            (see uCOS_II.H for OS_TASK_OPT_???).  

*  

* Returns    : Always returns the location of the new top-of-stack' once the processor registers have  

*              been placed on the stack in the proper order.  

*  

* Note(s)    : 1) Interrupts are enabled when your task starts executing.   

*              2) All tasks run in SVC mode.  

*********************************************************************************************************  

*/  

  

OS_STK *OSTaskStkInit (void (*task)(void *pd), void *p_arg, OS_STK *ptos, INT16U opt)  

{  

    OS_STK *stk;  

  

    optopt      = opt;                 /* 'opt' is not used, prevent warning                      */  

      

    stk      = ptos;                /* Load stack pointer                                      */  

[1] [2] [3] [4] [5] [6] [7]
關鍵字:UCOS_II  移植到  S3C2440  ADS 引用地址:UCOS_II的移植到S3C2440 ADS 1.2

上一篇:采用JLink+ADS1.2調試uboot的方法
下一篇:將TQ2440的ADS工程文件移植到KEIL5中

推薦閱讀

? ? 董明珠股東大會放言:格力造芯片造手機都不是說著玩的  26日,格力電器召開2017年度股東大會。與此前外界所期待與預測的不同,董事長換屆并未在此次大會上完成。除此之外,格力電器在此次大會上還披露了最新的產業規劃圖,并稱明年空調或將用上自家芯片。  換屆未入股東大會討論議題  6月26日下午14時,格力電器在廣東省珠海市前山金雞西路...
STM32的開發學習主要涉及軟硬件兩個部分的實現,包含眾多外設和總線的理解配置。STM32的整個學習曲線并不陡峭,但入門卻相當困難,因此在學習之初,多動手實驗和測試相當重要,GPIO作為整個STM32與外部連接的端口,難度不高,卻十分重要。從深入解析GPIO外設開始,一步步熟悉掌握STM32各個模塊,就是STM32的整個學習流程。GPIO模塊回顧 在嵌入式軟件...
Strategy Analytics手機元件技術服務最新發布的研究報告《2020年Q1智能手機電池市場份額:LG Chem縮小與ATL的距離》指出, 2020年Q1全球智能手機電池市場收益達到15億美元。 報告指出,2020年Q1,整個智能手機電池市場收益同比增長5%。TDK擁有的ATL(Amperex Technology Ltd.)以36%的收益份額處于智能手機電池市場的領先地位, 其次是LG Chem和...
簡介:一個交流采樣系統, 交流信號由運放組成信號調理電路, 并有運放做加法運算以后,進入stm32的ADC管腳. 結果測試的時候,發現采樣很不準確,插交流有效值算法也沒問題.一個交流采樣系統,交流信號由運放組成信號調理電路,并有運放做加法運算以后,進入stm32的ADC管腳.結果測試的時候,發現采樣很不準確,插交流有效值算法也沒問題.仔細檢測,發現信號越小,測...

史海拾趣

問答坊 | AI 解惑

AT91SAM7S64 嵌入式系統

DIY   基于AT91SAM7S64 嵌入式系統開發原理圖…

查看全部問答∨

求wince游戲手柄廠商

要求支持WINCE,帶驅動,可以做鼠標控制, 哪位做這方面的朋友,請聯系:QQ343556608,謝謝…

查看全部問答∨

一個菜鳥對evc的問題

evc創建new后 會生成.cpp .h .c等類型文件,它們的用處是什么?網上現有的編程代碼要copy到哪里去執行? 剛接觸 什么都不懂 大家賜教…

查看全部問答∨

wince6.0下不能彈出OTG對話框?

在6.0下接上USB OTG設備是,正常情況下應該彈出個倒即時對話框,可是我的現在就沒有出現?硬件接線都是正常的,通過USB線與PC連接ActiveSync正常…

查看全部問答∨

你怎么不跳出來啊?IE6.0請求軟鍵盤!

各位大俠,用IESAMPLE的時候,在點連接地址欄時,怎么才可以讓軟鍵盤自動跳出來呢?我郁悶中.POCKET IE是可以自動跳出來的.但是POCKET IE太爛了,新浪也不能訪問.…

查看全部問答∨

關于SIPINFO結構

#define SIPF_OFF        0x00000000 #define SIPF_ON         0x00000001 #define SIPF_DOCKED        0x00000002 #define SIPF_LOCKED        0x00000004 ...…

查看全部問答∨

觸摸屏丟up中斷

各位大哥,我最近在sumsung2443上開發觸摸屏的驅動程序,INT_ADC是觸摸屏中斷,timer3是ADC采樣計時器,不知道怎么回事,經常丟觸摸筆抬起后的up中斷.大致流程如下,請各位告知是什么原因: DdsiTouchPanelGetPoint(TOUCH_PANEL_SAMPLE_FLAGS    ...…

查看全部問答∨

剛電話面試,散分

剛接受電話面試。 回答的有點亂,好多小知識點長時間沒復習了,都不清楚了。 建議大家面試前把各個知識點都捋一下。 明天結帖。…

查看全部問答∨

關于FUTABA S3010 的詳細資料

搜集的網上比較全的資料。需要的可以看看,不用到處亂找了。…

查看全部問答∨

MIT關于卡爾曼濾波算法的課程下載

卡爾曼濾波在車載導航等領域應用非常廣泛,共享個MIT大學的課件,希望對大家有用…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

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

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

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 三门峡市| 延川县| 隆昌县| 广南县| 临安市| 马鞍山市| 万山特区| 右玉县| 富宁县| 福泉市| 杨浦区| 介休市| 凌海市| 吴江市| 邹平县| 延津县| 田林县| 井研县| 太和县| 杭州市| 军事| 凉城县| 托克托县| 教育| 孝昌县| 鹤峰县| 涡阳县| 莫力| 达日县| 波密县| 色达县| 北海市| 冷水江市| 新化县| 达尔| 竹溪县| 阜新市| 澄迈县| 明光市| 祁东县| 亳州市|