【正文】
。S y s t e m M e m o r y M a p i s c o n f i g u r e dE D O D R A M R / W t e s t f r o mD R A M _ B A S ER / W o k ?S D R A M amp。S y s t e m M e m o r y M a p i s c o n f i g u r e dE x c e p t i o n V e c t o r T a b l eS e t u pI n i t i a l i z e t h e R / W m e m o r y a r e ar e q u i r e b y C c o d eC h a n g e t h e p r o c e s s o r t o U s e rm o d eC A L L C _ E n t r yN oY E SY E SN o r m a l / E D OC _ E n t r y ( )I n i t i a l i z e t h e C r i t i c a l I / O d e v i c e sI n t e r r u p t , U A R T , M A C , I I C , L C D e t cP r i n t m e s s a g e t oC o n s o l eS e l e c t t e s t i t e m s b y k e y i n p u tf r o m c o n s o l e p o r tD o w n l o a d ?E x e c u t e t h e s e l e c t e di t e mD o w n l o a d u s e r i m a g ef r o m H o s t P C t o T a r g e tC R C o k ?R e B o o t LDR r1, =0xc300000 sdram 起始地址 LDR r3, =0xc302021 sdram 結(jié)束地址 loop CMP r1, r3 LDRCC r2, [r0], 4 STRCC r2, [r1], 4 BCC loop LDR PC, =0xc300000 ROM2DRAM_COPY_START LDR r0, =|Image$$RO$$Base| 。 Get pointer to ROM data LDR r1, =|Image$$RW$$Limit| 。 and RAM copy LDR r2, =DRAM_BASE 。 Copy DRAM area base SUB r1, r1, r0 。 [r1] is loop count ADD r1, r1, 4。 [r1] is loop count ROM2DRAM_COPY_LOOP LDR r3, [r0], 4 STR r3, [r2], 4 SUBS r1, r1, 4。 Down Count BNE ROM2DRAM_COPY_LOOP 不復(fù)雜的小系統(tǒng)設(shè)計(jì),可以作為一種前 /后臺(tái)系統(tǒng)。但是這種情況下的任務(wù)級(jí)響應(yīng)時(shí)間取決于整個(gè)循環(huán)的執(zhí)行時(shí)間。因?yàn)檠h(huán)的執(zhí)行時(shí)間不是常數(shù),程序經(jīng)過(guò)某一特定部分的準(zhǔn)確時(shí)間是不能確 定的 。 uCOSII 需要先關(guān)中斷,再處置臨界代碼,并且在處置完畢后重新開(kāi)中斷,這就使得uCOSII 能夠保護(hù)臨界代碼免受多任務(wù)或中斷服務(wù)子程序的破壞。 ARM 體系結(jié)構(gòu)的調(diào)試方法: 在嵌入式應(yīng)用系統(tǒng)中,通常將運(yùn)行目標(biāo)長(zhǎng)須的計(jì)算機(jī)系統(tǒng)稱(chēng)為目標(biāo)機(jī)。由于目標(biāo)機(jī)系統(tǒng)中常常沒(méi)有進(jìn)行輸入輸出處理的必要的人機(jī)接口,就需要在另外一臺(tái)計(jì)算機(jī)上進(jìn)行調(diào)試。 調(diào)試代理( debug agent)通常運(yùn)行在目標(biāo)機(jī)上,它接收主機(jī)上調(diào)試器發(fā)來(lái)的命令,可以在目標(biāo)機(jī)上設(shè)置斷點(diǎn),單步執(zhí)行目標(biāo)程序,顯示程序斷點(diǎn)處的運(yùn)行狀態(tài)。 ? ARMulator 是一種 比較特殊的調(diào)試器 ? 基于 JTAG 的 ICE 類(lèi)型的調(diào)試器 ? Angel 調(diào)試監(jiān)控程序 ? 調(diào)試網(wǎng)關(guān) 使用的是基于 JTAG 的 ICE 類(lèi)型的調(diào)試代理 ? 實(shí)時(shí)的設(shè)置基于指令地址或者基于 指令或者基于數(shù)據(jù)值的斷點(diǎn) ? 控制程序單步執(zhí)行 ? 訪問(wèn)并且可以控制 ARM 處理器的內(nèi)核 ? 訪問(wèn) ASIC 系統(tǒng) ? 訪問(wèn)系統(tǒng)的存儲(chǔ)器 ? 訪問(wèn) IO 口