Lab ILab I
Real-Time EmbeddedReal-Time EmbeddedOperating System for a SoCOperating System for a SoC
SystemSystem
How to use ADS & Multi-How to use ADS & Multi-ICEICE
How to use CodeWarrior IDEHow to use CodeWarrior IDE
AXD and Multi-ICEAXD and Multi-ICE
Needless
How to use ADS & Multi-How to use ADS & Multi-ICEICE
How to use ADS & Multi-How to use ADS & Multi-ICEICE
How to use CodeWarrior How to use CodeWarrior IDEIDE
MakeDebug Run
How to use CodeWarrior How to use CodeWarrior IDEIDE
Creating a new project ARM Executable Image
How to use CodeWarrior IDHow to use CodeWarrior IDEE
Files view
How to use CodeWarrior IDHow to use CodeWarrior IDEE
Targets view
AXD & AXD & Multi-ICE server
Starting the Multi-ICE server Select Start → Programs → ARM Multi-IC
E v2.2 → Multi-ICE Server. Select File → Auto-configureSelect File → Auto-configure
AXD & AXD & Multi-ICE server
AXD connects Multi-ICE configurationAXD connects Multi-ICE configuration Select Configure TargetSelect Configure Target Select the Multi-ICE.dll file. Select the Multi-ICE.dll file.
AXD & AXD & Multi-ICE server Configure processoConfigure processo
rr Clear AllClear All
AXD & AXD & Multi-ICE server
Load your program to target by ICELoad your program to target by ICE
Startup code’s flowStartup code’s flow
Reset
Undefined
FIQ
ResetUndefined
SWIPrefetch
DataAbortIRQFIQ
Reset_Handler
Undefined_Handler
FIQ_Handler
Exception Exception Vector Exception Handler
LabⅠFabonacci sequence
B .
B .
ResetHandlerResetHandlerAREA inits, CODE, READONLY IMPORT _main
ENTRYLDR PC,Addr_Reset ;B ResetHandler LDR PC,Addr_Undefined ;B UndefinedHandler …以下省略
Addr_Reset DCD ResetHandlerAddr_Undefined DCD UndefinedHandler…以下省略
ResetHandler…Coding
B Initial_SP
Initial_SPLDR r1,=0x0 ;Grows up from 0x0
;IRQ_MODEMOV r0,#(0x12|0x80|0x40)MSR cpsr_cxsf,r0MOV sp,r1ADD r1,r1,#0x5000;Stack Size
;FIQ_MODEMOV r0,#(0x11|0x80|0x40)MSR cpsr_cxsf,r0MOV sp,r1ADD r1,r1,#0x5000;Stack Size
;SVC_MODEMOV r0,#(0x13|0x80|0x40)MSR cpsr_cxsf,r0MOV sp,r1ADD r1,r1,#0x10000 ;Stack SizeMOV r4,r1; ########## Enter user's main()'B _main
END
Lab ILab I
Writing Arm code of Fibonacci for FWriting Arm code of Fibonacci for F(n) n=10(n) n=10
Downloading to DRAM of TargetDownloading to DRAM of Target Running your program by ICE.Running your program by ICE. Besides, watching the value of register.Besides, watching the value of register.
Reference Reference
ADS_CodeWarriorIDEGuideADS_CodeWarriorIDEGuide ADS_AssemblerGuideADS_AssemblerGuide ADS_DeveloperGuideADS_DeveloperGuide User Manual for Sansung 4510User Manual for Sansung 4510