17
Lab I Lab I Real-Time Embedded Real-Time Embedded Operating System for a So Operating System for a So C C System System

Lab I Real-Time Embedded Operating System for a SoC System

Embed Size (px)

Citation preview

Page 1: Lab I Real-Time Embedded Operating System for a SoC System

Lab ILab I

Real-Time EmbeddedReal-Time EmbeddedOperating System for a SoCOperating System for a SoC

SystemSystem

Page 2: Lab I Real-Time Embedded Operating System for a SoC System

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

Page 3: Lab I Real-Time Embedded Operating System for a SoC System

Needless

How to use ADS & Multi-How to use ADS & Multi-ICEICE

Page 4: Lab I Real-Time Embedded Operating System for a SoC System

How to use ADS & Multi-How to use ADS & Multi-ICEICE

Page 5: Lab I Real-Time Embedded Operating System for a SoC System

How to use CodeWarrior How to use CodeWarrior IDEIDE

MakeDebug Run

Page 6: Lab I Real-Time Embedded Operating System for a SoC System

How to use CodeWarrior How to use CodeWarrior IDEIDE

Creating a new project ARM Executable Image

Page 7: Lab I Real-Time Embedded Operating System for a SoC System

How to use CodeWarrior IDHow to use CodeWarrior IDEE

Files view

Page 8: Lab I Real-Time Embedded Operating System for a SoC System

How to use CodeWarrior IDHow to use CodeWarrior IDEE

Targets view

Page 9: Lab I Real-Time Embedded Operating System for a SoC System

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

Page 10: Lab I Real-Time Embedded Operating System for a SoC System

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.

Page 11: Lab I Real-Time Embedded Operating System for a SoC System

AXD & AXD & Multi-ICE server Configure processoConfigure processo

rr Clear AllClear All

Page 12: Lab I Real-Time Embedded Operating System for a SoC System

AXD & AXD & Multi-ICE server

Load your program to target by ICELoad your program to target by ICE

Page 13: Lab I Real-Time Embedded Operating System for a SoC System

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 .

Page 14: Lab I Real-Time Embedded Operating System for a SoC System

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

Page 15: Lab I Real-Time Embedded Operating System for a SoC System

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

Page 16: Lab I Real-Time Embedded Operating System for a SoC System

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.

Page 17: Lab I Real-Time Embedded Operating System for a SoC System

Reference Reference

ADS_CodeWarriorIDEGuideADS_CodeWarriorIDEGuide ADS_AssemblerGuideADS_AssemblerGuide ADS_DeveloperGuideADS_DeveloperGuide User Manual for Sansung 4510User Manual for Sansung 4510