freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

微處理器的嵌入式系統(tǒng)研究畢業(yè)論文-閱讀頁

2025-07-11 05:25本頁面
  

【正文】 ARM Developer Suite】起動(dòng)Metrowerks CodeWarrior,或雙擊“CodeWarriorfor ARM Developer Suite”快捷方式起動(dòng)。選擇工程模板為ARM可執(zhí)行映象(ARM Executable Image)或Thumb可執(zhí)行映象(Thumb Executable Image),或Thumb、ARM交織映象(Thumb ARM Interworking Image),然后在【Location】項(xiàng)選擇工程存放路徑,并在【Project name】項(xiàng)輸入工程名稱,點(diǎn)擊【確定】按鈕即可建立相應(yīng)工程,工程文件名后綴為mcp.圖17建立工程 (2) 建立文件建立一個(gè)文本文件,以便輸入程序。圖18 建立文本文件然后在新建的文件中編寫程序,點(diǎn)擊“Save”圖標(biāo)按鈕將文件存盤(或從【File】菜單選擇【Save】),輸入文件全名。當(dāng)然,也可以New對話框選擇【File】頁來建立源文件,如圖35所示,或使用其它文本編輯器建立或編輯源文件。另外,也可以在【Project】菜單中選擇【Add Files…】來添加源文件,或使用New對話框選擇【File】頁來建立源文件時(shí)選擇加入工程(即選中“Add to Project”項(xiàng))。它們從左至右分別為:DebugRel Settings… 工程設(shè)置,如地址設(shè)置、輸出文件設(shè)置、編譯選項(xiàng)等,其中DebugRel為當(dāng)前的生成目標(biāo)(target system)。Make 編譯連接(快捷鍵為F7)。Run 啟動(dòng)AXD進(jìn)行調(diào)試,并直接運(yùn)行程序。圖19 編譯連接工程圖20 DebugRel Settings窗體點(diǎn)擊“DebugRel Settings…”圖標(biāo)按鈕,即可進(jìn)行工程的地址設(shè)置、輸出文件設(shè)置、編譯選項(xiàng)等,如圖37所示。對于簡單的軟件調(diào)試,可以不進(jìn)行連接地址的設(shè)置,直接點(diǎn)擊工程窗口的“Make”圖標(biāo)按鈕,即可完成編譯連接。同樣,可以在【Project】菜單中找到相應(yīng)的命令??梢酝ㄟ^單擊該欄位置來設(shè)置/取消符號“√”,或?qū)⒐こ棠夸浵碌?.tdt文件刪除也可以使整個(gè)工程源文件均打上“√”。點(diǎn)擊菜單【Options】選擇【Configure Target…】,即彈出Choose Target窗口,如圖23所示:在沒有添加其它仿真驅(qū)動(dòng)程序前,Target項(xiàng)中只有兩項(xiàng),分別為ADP(JTAG 硬件仿真)和ARMUL(軟件仿真)。說明:當(dāng)工程編譯連接通過后,在“工程名\工程名_Data\當(dāng)前的生成目標(biāo)”目錄下就會(huì)生成一個(gè)*.axf調(diào)試文件。(2)調(diào)試工具條AXD運(yùn)行調(diào)試工具條如圖24所示,調(diào)試觀察窗口工具條如圖25所示,文件操作工具條如圖26所示。 單步運(yùn)行(Step),每次執(zhí)行一條語句,這時(shí)函數(shù)調(diào)用將被作為一條語句執(zhí)行。 運(yùn)行到光標(biāo)(Run To Cursor),運(yùn)行程序直到當(dāng)前光標(biāo)所在行時(shí)停止。由于AXD沒有復(fù)位命令,所以通常使用Reload實(shí)現(xiàn)復(fù)位(直接更改PC寄存器為零也能實(shí)現(xiàn)復(fù)位)。(1)仿真器設(shè)置在AXD調(diào)試環(huán)境, 打開【Options】【Configure Target...】,彈出Choose Target窗口,在“Target Environments”框中選擇“EasyJTAG...”項(xiàng)。在ARMcore項(xiàng)中選取CPU 類型,在“Options”項(xiàng)中選擇Halt and reset。 圖27 仿真器環(huán)境設(shè)置窗口EasyJTAG 設(shè)置選項(xiàng)說明:ARMcore項(xiàng): 選擇CPU 型號;Connection: 硬件連接接口選擇;Halt Mode: 停機(jī)模式選擇,包含Halt program(停止CPU)和Halt and reset(復(fù)位然后停止CPU)兩項(xiàng);Aux. Option: 輔助選項(xiàng),包含Step In Interrupt(允許單步運(yùn)行進(jìn)入中斷)和Erase Flash when need(允許EasyJTAG擦除Flash)兩項(xiàng);Flash Type: 片外FLASH 型號選擇,可支持兩塊FLASH 芯片,當(dāng)ARMcore選擇LPC2200系列CPU時(shí)此項(xiàng)才有效。Flash 0 Addrss: 第一塊Flash的地址設(shè)置,當(dāng)ARMcore選擇LPC2200系列CPU時(shí)此項(xiàng)才有效。(2)仿真器的應(yīng)用問題 IDE環(huán)境中按F5鍵或Debug圖標(biāo)按鈕即可直接進(jìn)入AXD,但有時(shí)會(huì)出現(xiàn)如圖28所示的提示,處理方法是點(diǎn)擊“確定”,然后在彈出的Load Session窗口中點(diǎn)擊“取消”。圖28 錯(cuò)誤信息窗口在進(jìn)入AXD調(diào)試環(huán)境后,有時(shí)會(huì)彈出Fatal AXD Error窗口,如圖29所示,此時(shí)可以點(diǎn)擊“Connect mode...”,然后選擇“ATTACH ...”項(xiàng)確定,再點(diǎn)擊“Restart”。圖29 Fatal AXD Error窗口使用JTAG下載程序到FLASH。這樣,每次裝載FLASH地址的調(diào)試文件時(shí),將會(huì)擦除FLASH 并下載代碼到FLASH中。不管使用哪一種方式,均要先設(shè)置編譯鏈接的地址,即代碼地址從0x00000000地址開始,比如使用LPC2100專用工程模板時(shí),在生成目標(biāo)選用RelInChip,如程序7所示。從起始地址開始放置向量表((vectors, +First), 的目標(biāo)文件,vectors代表vectors段定義的代碼),接著放置其它代碼(即* (+RO));變量區(qū)IRAM的起始地址為0x40000000,(MyStacks),接著放置其它文件的變量(即*(+RW,+ZI));緊靠變量區(qū)之后的是系統(tǒng)堆空間(HEAP),(Heap);由于ARM 的堆棧一般采用滿遞減堆棧,所以堆棧區(qū)(STACKS)起始地址設(shè)置為0x40004000,(Stacks)。EasyJTAG仿真器可支持LPC2000系列ARM7微控制器的片內(nèi)FLASH下載,這樣就可以使用這一功能將程序下載到FLASH中,以便脫機(jī)運(yùn)行。圖30 EasyARM設(shè)置窗口然后將工程的生成目標(biāo)選用DebugInFLASH或RelInChip,編譯鏈接,再按F5鍵進(jìn)入AXD調(diào)試環(huán)境,在加載調(diào)試映像文件時(shí)即會(huì)下載程序到FLASH中。 使用ISP下載LPC2100系列ARM7微控制器芯片具有ISP功能,可以通過串口進(jìn)行程序下載。然后,打開工程的DebugInFLASH Settings窗口,在Target Settings項(xiàng)中設(shè)置Postlinker選取ARM fromELF ,如圖32所示:圖31 Target Settings接著,在ARM formELF項(xiàng)中設(shè)置輸出文件類型,如設(shè)置為Intel 32 bit Hex,然后設(shè)置輸出文件名,也可指定目錄,若不指定目錄,則生成文件存放在當(dāng)前工程的目錄中,如圖51所示。生成HEX文件后,接下來使用串口延長線連接PC串口(如COM1)和目標(biāo)板UART0(需要轉(zhuǎn)換為RS232電平),并將目標(biāo)板上的ISP跳線短接。設(shè)置好參數(shù)后,點(diǎn)擊Read Device ID按鈕,讀取芯片ID號,若讀取成功(狀態(tài)欄顯示“ReadPart IDSuccessfully! ”),則表明ISP連接成功。連接成功后,先使用“Erase”按鈕擦除選定扇區(qū)的FLASH,然后在Filename項(xiàng)中輸入要下載的HEX文件全名,點(diǎn)擊“Upload to Flash”按鈕即開始下載程序。圖32 設(shè)置Postlinker總結(jié)由于以前沒有接觸過嵌入式系統(tǒng),更不知道ARM處理器,對嵌入式軟件編程也是一無所知。另處還翻譯了大量的外文資料,在了解國際技術(shù)和動(dòng)態(tài)的同時(shí)加強(qiáng)了外文的閱讀能力。在了解嵌入式操作系統(tǒng)μC/OSⅡ上花了不少工夫。剛開始的時(shí)候真是寸步難行,但經(jīng)過幾周的耐心研究,對嵌入式軟件開發(fā)漸漸熟悉起來。所以學(xué)會(huì)使用調(diào)試工具也花去了不少時(shí)間。在不斷學(xué)習(xí)的過程中,的確困難重重。通過本次畢業(yè)設(shè)計(jì),我學(xué)到了很多在課堂上沒有學(xué)到的東西。例如查閱文獻(xiàn)資料,正確使用技術(shù)資料和手冊等等工具。我堅(jiān)信,這次畢業(yè)設(shè)計(jì)將為我以后的學(xué)習(xí)和工作打下堅(jiān)實(shí)的基礎(chǔ)。快速中斷異常處理程序 IMPORT Reset/*給外部使用的標(biāo)號在這聲明*/ EXPORT InitStack EXPORT Vectors CODE32 AREA Startup,CODE,READONLY/*中斷向量表*/Vectors LDR PC, ResetAddr LDR PC, UndefinedAddr LDR PC, SWI_Addr LDR PC, PrefetchAddr LDR PC, DataAbortAddr DCD 0xb9205f80 LDR PC, [PC, 0xff0] LDR PC, FIQ_AddrResetAddr DCD ResetUndefinedAddr DCD UndefinedSWI_Addr DCD SoftwareInterruptPrefetchAddr DCD PrefetchAbortDataAbortAddr DCD DataAbortNouse DCD 0IRQ_Addr DCD 0FIQ_Addr DCD FIQ_Handler/*未定義指令*/Undefined B Undefined/*軟中斷*/SoftwareInterrupt B SoftwareInterruptPrefetchAbort B PrefetchAbort/*取數(shù)據(jù)中止*/DataAbort B DataAbort/*快速中斷*/FIQ_Handler STMFD SP!, {R0R3, LR} BL FIQ_Exception LDMFD SP!, {R0R3, LR} SUBS PC, LR, 4/******************************************************************** *函數(shù)名稱: InitStack*功能描述: 初始化堆棧********************************************************************/InitStack MOV R0, LR/*設(shè)置管理模式堆棧*/ MSR CPSR_c, 0xd3 LDR SP, StackSvc/*設(shè)置中斷模式堆棧*/ MSR CPSR_c, 0xd2 LDR SP, StackIrq/*設(shè)置快速中斷模式堆棧*/ MSR CPSR_c, 0xd1 LDR SP, StackFiq/*設(shè)置中止模式堆棧*/ MSR CPSR_c, 0xd7 LDR SP, StackAbt/*設(shè)置未定義模式堆棧*/ MSR CPSR_c, 0xdb LDR SP, StackUnd/*設(shè)置系統(tǒng)模式堆棧*/ MSR CPSR_c, 0xdf LDR SP, StackUsr MOV PC, R0StackUsr DCD UsrStackSpace + (USR_STACK_LEGTH 1) * 4StackSvc DCD SvcStackSpace + (SVC_STACK_LEGTH 1)* 4StackIrq DCD IrqStackSpace + (IRQ_STACK_LEGTH 1)* 4StackFiq DCD FiqStackSpace + (FIQ_STACK_LEGTH 1)* 4StackAbt DCD AbtStackSpace + (ABT_STACK_LEGTH 1)* 4StackUnd DCD UndtStackSpace + (UND_STACK_LEGTH 1)* 4/* 分配堆??臻g */ AREA MyStacks, DATA, NOINIT, ALIGN=2UsrStackSpace SPACE USR_STACK_LEGTH * 4 。管理模式堆??臻gIrqStackSpace SPACE IRQ_STACK_LEGTH * 4 ??焖僦袛嗄J蕉褩?臻gA
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1