一、新建工程
1.新建一個(gè)ARM Executable Image
2.創(chuàng)建uCOS_II文件夾,創(chuàng)建兩個(gè)子文件夾,分別為ARM、SOURCE
ARM存放和平臺(tái)相關(guān)的文件("OS_CPU.H" "Os_cpu_a.s" "Os_cpu_c.c" )
SOURCE下存入和平臺(tái)無(wú)關(guān)的文件("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.創(chuàng)建一個(gè)S3C2440文件夾,創(chuàng)建兩個(gè)子文件夾,分別為INC、SRC
INC存放S3C2440相關(guān)頭文件("2440addr.h" "2440lib.h" "2440slib.h" "config.h" "Def1.h" "lcd.h" "mmu.h" "Option.h" "Target.h" "Timer.h" )
SRC存放S3C2440相關(guān)源文件("Timer.c" "2440init.s" "2440lib.c" "2440slib.s" "Font_Libs.c" "iphone.c" "lcd.c" "mmu.c" "nand.c" "Target.c" )
4.創(chuàng)建一個(gè)app文件夾(app_cfg.h、main.c、Printf.c、Printf.h)
二、工程設(shè)置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處理器設(shè)置成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設(shè)置成0x30000000,Options下Image entry point設(shè)置成0x30000000,Layout下Place at beginning of image下的Object/Symbol設(shè)置成2440init.o,Section設(shè)置成Init,Listings下選勾Image map、List file設(shè)置list.txt,勾上Sizes、Totals、Unused、Veneers
6.ARM fromELF下Output file name下填寫輸出的二進(jìn)制
三、移植文件的修改
對(duì)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()
對(duì)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 */
上一篇:采用JLink+ADS1.2調(diào)試uboot的方法
下一篇:將TQ2440的ADS工程文件移植到KEIL5中
推薦閱讀
史海拾趣
為了進(jìn)一步提升綜合競(jìng)爭(zhēng)力,銓力公司開始著手深化產(chǎn)業(yè)鏈整合。通過(guò)收購(gòu)、合作等方式,公司逐漸掌握了從原材料供應(yīng)、產(chǎn)品生產(chǎn)到銷售終端的完整產(chǎn)業(yè)鏈。這一舉措不僅降低了生產(chǎn)成本,提高了生產(chǎn)效率,還為公司帶來(lái)了更多的利潤(rùn)增長(zhǎng)點(diǎn)。
品質(zhì)是Ai公司發(fā)展的生命線。公司始終將品質(zhì)管理放在首位,建立了嚴(yán)格的質(zhì)量管理體系和檢驗(yàn)流程。從原材料采購(gòu)到產(chǎn)品出廠的每一個(gè)環(huán)節(jié),公司都進(jìn)行嚴(yán)格把控,確保產(chǎn)品的品質(zhì)和性能達(dá)到最高標(biāo)準(zhǔn)。同時(shí),公司還不斷收集客戶反饋,對(duì)產(chǎn)品進(jìn)行持續(xù)改進(jìn)和優(yōu)化,以滿足客戶不斷變化的需求。
ABC Taiwan Electronics Corp成立于上世紀(jì)八十年代,起初只是一個(gè)小型電子零件加工廠。面對(duì)激烈的市場(chǎng)競(jìng)爭(zhēng)和有限的資源,公司創(chuàng)始人憑借對(duì)電子技術(shù)的深刻理解和敏銳的市場(chǎng)洞察力,帶領(lǐng)團(tuán)隊(duì)不斷研發(fā)新產(chǎn)品,逐步贏得了客戶的信任。通過(guò)不斷積累經(jīng)驗(yàn)和擴(kuò)大規(guī)模,ABC逐漸在電子零件加工領(lǐng)域站穩(wěn)了腳跟。
Fanstel公司非常重視企業(yè)文化的建設(shè)。公司倡導(dǎo)“創(chuàng)新、協(xié)作、務(wù)實(shí)、進(jìn)取”的企業(yè)精神,鼓勵(lì)員工敢于創(chuàng)新、勇于擔(dān)當(dāng)。同時(shí),公司還注重員工的福利待遇和職業(yè)發(fā)展,為員工創(chuàng)造了一個(gè)良好的工作環(huán)境和發(fā)展空間。這種積極向上的企業(yè)文化不僅增強(qiáng)了員工的凝聚力和歸屬感,也為企業(yè)的發(fā)展注入了強(qiáng)大的動(dòng)力。
品質(zhì)管理是電子企業(yè)生存和發(fā)展的關(guān)鍵。Clover Display Limited深知這一點(diǎn),因此在生產(chǎn)過(guò)程中始終嚴(yán)格把控品質(zhì)。公司的生產(chǎn)線及工廠獲得了ISO 9001、14001及16949等多項(xiàng)國(guó)際認(rèn)證,這不僅證明了公司產(chǎn)品的高品質(zhì),也提升了其在國(guó)際市場(chǎng)上的競(jìng)爭(zhēng)力。同時(shí),公司還積極參與國(guó)際標(biāo)準(zhǔn)制定和行業(yè)交流活動(dòng),以不斷提升自身的技術(shù)水平和市場(chǎng)影響力。
這五個(gè)故事雖然基于虛構(gòu)的情節(jié),但它們都基于Clover Display Limited在電子行業(yè)發(fā)展的真實(shí)背景和趨勢(shì)。這些故事展示了公司在技術(shù)創(chuàng)新、市場(chǎng)拓展、品質(zhì)管理等方面的努力和成就,也反映了電子行業(yè)的快速發(fā)展和變革。希望這些故事能夠?yàn)槟峁┮粋€(gè)關(guān)于Clover Display Limited發(fā)展起來(lái)的有趣而全面的視角。
在加入Telit后,GainSpan的技術(shù)和產(chǎn)品迅速在全球范圍內(nèi)得到推廣和應(yīng)用。Telit憑借其強(qiáng)大的市場(chǎng)網(wǎng)絡(luò)和品牌影響力,將GainSpan的低功耗WiFi模組帶到了更多的國(guó)家和地區(qū)。特別是在北美、歐洲和亞洲等物聯(lián)網(wǎng)市場(chǎng)發(fā)展迅速的地區(qū),GainSpan的技術(shù)和產(chǎn)品更是成為了眾多企業(yè)和項(xiàng)目的首選。通過(guò)全球化布局,Telit進(jìn)一步鞏固了其在物聯(lián)網(wǎng)市場(chǎng)的領(lǐng)先地位。
要求支持WINCE,帶驅(qū)動(dòng),可以做鼠標(biāo)控制, 哪位做這方面的朋友,請(qǐng)聯(lián)系:QQ343556608,謝謝… 查看全部問(wèn)答∨ |
|
evc創(chuàng)建new后 會(huì)生成.cpp .h .c等類型文件,它們的用處是什么?網(wǎng)上現(xiàn)有的編程代碼要copy到哪里去執(zhí)行? 剛接觸 什么都不懂 大家賜教… 查看全部問(wèn)答∨ |
在6.0下接上USB OTG設(shè)備是,正常情況下應(yīng)該彈出個(gè)倒即時(shí)對(duì)話框,可是我的現(xiàn)在就沒(méi)有出現(xiàn)?硬件接線都是正常的,通過(guò)USB線與PC連接ActiveSync正?!? 查看全部問(wèn)答∨ |
你怎么不跳出來(lái)???IE6.0請(qǐng)求軟鍵盤! 各位大俠,用IESAMPLE的時(shí)候,在點(diǎn)連接地址欄時(shí),怎么才可以讓軟鍵盤自動(dòng)跳出來(lái)呢?我郁悶中.POCKET IE是可以自動(dòng)跳出來(lái)的.但是POCKET IE太爛了,新浪也不能訪問(wèn).… 查看全部問(wèn)答∨ |
#define SIPF_OFF 0x00000000 #define SIPF_ON 0x00000001 #define SIPF_DOCKED 0x00000002 #define SIPF_LOCKED 0x00000004 ...… 查看全部問(wèn)答∨ |
各位大哥,我最近在sumsung2443上開發(fā)觸摸屏的驅(qū)動(dòng)程序,INT_ADC是觸摸屏中斷,timer3是ADC采樣計(jì)時(shí)器,不知道怎么回事,經(jīng)常丟觸摸筆抬起后的up中斷.大致流程如下,請(qǐng)各位告知是什么原因: DdsiTouchPanelGetPoint(TOUCH_PANEL_SAMPLE_FLAGS   ...… 查看全部問(wèn)答∨ |
剛接受電話面試。 回答的有點(diǎn)亂,好多小知識(shí)點(diǎn)長(zhǎng)時(shí)間沒(méi)復(fù)習(xí)了,都不清楚了。 建議大家面試前把各個(gè)知識(shí)點(diǎn)都捋一下。 明天結(jié)帖。… 查看全部問(wèn)答∨ |
卡爾曼濾波在車載導(dǎo)航等領(lǐng)域應(yīng)用非常廣泛,共享個(gè)MIT大學(xué)的課件,希望對(duì)大家有用… 查看全部問(wèn)答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級(jí)數(shù)字信號(hào)控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無(wú)線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲(chǔ)html,css,js文件,以及網(wǎng)頁(yè)和arduino的通訊
- ESP32 freeRTOS使用測(cè)試
- IAA MOBILITY移動(dòng)出行趨勢(shì)指數(shù)發(fā)布
- 寧德時(shí)代CTP 2.0電池包產(chǎn)線投產(chǎn),助力問(wèn)界系列車型加速交付
- 研究人員開發(fā)出新型多功能電池陰極材料
- 特斯拉中國(guó)大陸首批V4超級(jí)充電樁上線
- 方向盤消失前夜:特斯拉、百度、哈啰三巨頭的Robotaxi戰(zhàn)爭(zhēng)
- 均普智能人形機(jī)器人開賣,拿下約3000萬(wàn)元訂單
- 博世推出超低功耗全集成MEMS傳感器
- 福特汽車申請(qǐng)新專利:基于手勢(shì)的虛擬鍵盤
- 一汽大眾:智能網(wǎng)聯(lián)汽車的信息安全攻防之道
- 一文講透汽車區(qū)域控制架構(gòu),以及那些關(guān)鍵技術(shù)
- 絕地求生,集齊4樣必然吃雞!覽TI汽車技術(shù)方案 贏小禮品
- TIDesigns 有獎(jiǎng)?wù){(diào)查輕松贏好禮!
- 【免費(fèi)試用】DFRobot micro:bit編程小車-麥昆
- 2016年是德印象測(cè)試微視頻網(wǎng)絡(luò)競(jìng)選(大中國(guó)區(qū))
- 悅覽 PI 節(jié)能技術(shù)資料,參與測(cè)試、評(píng)論贏雙重好禮!
- EEWORLD月度問(wèn)答榜(第3期)
- ADI有獎(jiǎng)直播:易于驅(qū)動(dòng)SAR型ADC的原理、優(yōu)點(diǎn)及應(yīng)用介紹
- 如何利用WEBENCH快速設(shè)計(jì)?
- 有獎(jiǎng)探索 | 和村田一起,深挖 GNSS 開發(fā)!
- EEWORLD 示波器問(wèn)卷有獎(jiǎng)大調(diào)查
- 技術(shù)文章—不同開關(guān)穩(wěn)壓器拓?fù)涞脑肼曁匦?
- 中國(guó)砸重金推動(dòng)5G全覆蓋,日本芯片廠將大發(fā)橫財(cái)?
- 受美國(guó)打壓,中國(guó)服務(wù)器老大浪潮被臨時(shí)性暫停供貨
- Gartner發(fā)布數(shù)據(jù)與分析領(lǐng)域十大技術(shù)趨勢(shì):AI、云上榜
- 擔(dān)心榮耀X10 Max續(xù)航問(wèn)題?這些技術(shù)讓你消除疑慮
- Molex贏得博世北美洲年度供應(yīng)商獎(jiǎng)
- 智能制造浪潮下,機(jī)器視覺產(chǎn)業(yè)迎來(lái)春天?
- 傳感器數(shù)據(jù)融合,實(shí)現(xiàn)用戶體驗(yàn)的關(guān)鍵組件
- 人工智能在支付技術(shù)中的關(guān)鍵作用
- Silicon Line在Computex 2019上展示最新技術(shù)
- 嵌入式Linux開發(fā)板裸機(jī)程序燒寫方法總結(jié)
- ffmpeg 在wince下編譯 問(wèn)題
- 尋DSP TMS320F2000系列或TMS320C6000(DSP BIOS)相關(guān)的項(xiàng)目合作、外包或者畢業(yè)設(shè)計(jì)
- microblaze和外部的邏輯模塊如何交換數(shù)據(jù)?
- 怎么在帖子插入gif啊
- 也來(lái)曬曬獎(jiǎng)品迷你風(fēng)扇:看我怎么利用的
- Quartus II 9.0破解不了是怎么回事?
- 公司前景可觀,崗位潛力無(wú)限,網(wǎng)有賢之士可以加入
- 一個(gè)時(shí)鐘上升沿報(bào)錯(cuò),以前從來(lái)沒(méi)遇到過(guò)
- 【T叔藏書閣】變壓器相關(guān)資料分享