School of Engineering ESI-Lektion 9- 10. School of Engineering ESI – Lektion 9-10 Memory MAP...
-
Upload
adelinde-karp -
Category
Documents
-
view
108 -
download
2
Transcript of School of Engineering ESI-Lektion 9- 10. School of Engineering ESI – Lektion 9-10 Memory MAP...
School ofEngineering
ESI-Lektion 9- 10
School ofEngineering
ESI – Lektion 9-10
● Memory MAP Controll
● Bootloader, ISP
● JTAG Debugging
● In Circuit Emulators
● Flash Speicher Accelerator
School ofEngineering
Memory MAP Control
School ofEngineering
AHB Peripherals
VPB Peripherals
Reserved for External Memory
Boot Block
Reserved for On-Chip Memory
On-Chip Static RAM
Reserved for Special Registers
Reserved for On-Chip Memory
On-Chip Non-Volatile Memory
4.0 GB
3.75 GB
3.5 GB
3.0 GB
2.0 GB
1.0 GB
0.0 GB
0xFFFF FFFF
0xF000 0000
0xE000 0000
0xC000 0000
0x8000 0000
0x4000 0000
0x3FFF 8000
0x0000 0000
64 byteExceptionVectorTable
Prefetch Abort (instruction fetch memory abort)
Supervisor
0x0000001C
Exception Mode Address
Reset
Undefined instruction
Software interrupt (SWI)
Data Abort (data access memory abort)
IRQ (interrupt)
FIQ (fast interrupt)
Undefined
Supervisor
Abort
Abort
IRQ
FIQ
0x00000018
0x00000010
0x0000000C
0x00000008
0x00000004
0x00000000
Speicherbereichs-Aufteilung LPC2138
School ofEngineering
0x0000 0040
0xFFFF FFFF
0x0000 003F
0x0000 0000 0x4000 0000
0x8000 0000
RAM
ExternFlash
Boot-loader
MEMMAPRegisterEinstellung
1 2 30
UserFlash
RAM
ExternFlash
Boot-loader
RAM
Boot-loader
BootLoader
RAM
ExternFlash
Boot-Loader
ExternFlash
RAM ExternFlash
0x0000 0000 0x8000 0000
0x4000 0000
0x4000 003F 0x8000 003F64 ByteExceptionVectorTable
User FlashMode
(Normaler Modus)
RAMMode
External FlashMode
Boot LoaderMode
(nach Reset)
Memory Map Control Register
School ofEngineering
Übung1: Memory Map
School ofEngineering
Übung1-Lösung: Memory Map
School ofEngineering
Bootloader und In Circuit Flash Programmer
School ofEngineering
Vectors: LDR PC,Reset_Addr
LDR PC,Undef_Addr
LDR PC,SWI_Addr
LDR PC,PAbt_Addr
LDR PC,DAbt_Addr
.long 0xB8A06F58 /* Programm Signature */
LDR PC, IRQ_Addr
LDR PC,FIQ_Addr
\end{lstlisting}
Ermitteln ob das Flash programmiert ist
Signatur ist2er-komplement der
Checksumme
School ofEngineering
Reset
BootProgrammis entered
Is „ForceSoftware Reload“
Pin set
Signaturegood
Enter ISPUtility
SwitchMemory Mapto Flash Mode
Set PC to 0x0000
End
y
n
y
nISP = In Circuit FlashProgramming
Ablauf nach Reset beim LPC
School ofEngineering
Berechnet auch die Signatur, ersetzt NOP im Startup code
ISP (In Circuit Flash Programming) Utility
School ofEngineering
JTAG (Joint Action Test Group)
School ofEngineering
(TDI) (TDO)
Boundary Scan mit JTAG(Joint Test Action Group)
School ofEngineering
ULINKPCUSB JTAG-
controller
ARM Core
Scan Chain
Scan Flip-Flops
JTAGPort
LPC2138
JTAG Debug Schnittstelle
School ofEngineering
IEEE 1149.1 Erforderliche Befehle
● BYPASSDurchschleifen von seriellen Daten wenn ein anderes IC in der Scan Chain getestet werden soll(z.B. Instruction Code = „11111“)
● SAMPLE/PRELOADIC in Normalem BetriebszustandCapture möglichSerielles Schieben von Daten In/Aus Capture Register
● EXTESTTest Muster werden an die Ausgangspins angelegtoder von den Eingangspins eingelatched (z.B. Instruction Code = „00000“)
School ofEngineering
IEEE 1149.1 Optionale Befehle
● INTESTZum Testen des Verhaltens der Core Logik. Die Ausgänge der Core Logik werden in die Boundary Scan Register eingelesen. Die Boundary Scan Flip-Flops bestimmen die Signalpegel die an den Eingänge der Core Logik anliegen
● RUNBIST IC Selbsttest wir ausgelöst● CLAMP Ausgänge werden auf einen bestimmten Pegel
gebracht, dann wir die Scan Chain in den Bypass Modus gebracht um ein anders IC zu testen
● High-Z Alle Ausgänge werden Hochohmig geschaltet● ID-CODE Auslesen des IC Typs und der Version● USER CODE Instruction um Benutzer definierte Daten
auszulesen
School ofEngineering
JTAG Architektur auf dem IC
Befehls Register(Betriebsarten)
TAP Controller
Daten Register
Scan Zellen
School ofEngineering
JTAG Anschlüsse am Keil Board
VCC 3-3 VCC 3-3
TRST
TDO
TMS
TCK
RTK
TDI
RST
10 kΩ
1 2
20
46
8
10
121416
18
19
35
7
9
111315
17
JTAGspezifische
PINS
School ofEngineering
JTAG Pin Beschreibungen
School ofEngineeringTAP Controller Zustandsautomat
Paralleles Abspeichern derAuszulesenden Daten insData Register
Serielles Ein- oder Auslesenin das Schieberegister überTDI/TDO
Neu ins Schieberegistereingelesene Daten insSchattenregisterübertragen
Paralleles Abspeichern desAuszulesenden Status insInstruction Register
Serielles Ein- oder Auslesenin das Schieberegister überTDI/TDO
Neu ins Schieberegistereingelesene Befehle insSchattenregisterübertragen
Test Logik ist ausser Betrieb.Das Bauteil ist in normalemBetriebszustand
TMS
TMSTMS
TMS
School ofEngineeringBeispiel für das Einstellen des
Instruction Codes
School ofEngineeringAuszug aus BSDL Datei (Boundary
Scan Language)
-- *********************************************************************-- * INSTRUCTIONS AND REGISTER ACCESS * -- ********************************************************************* attribute INSTRUCTION_LENGTH of EP2C35F484 : entity is 10; attribute INSTRUCTION_OPCODE of EP2C35F484 : entity is "BYPASS (1111111111), "& "EXTEST (0000001111), "& "SAMPLE (0000000101), "& "IDCODE (0000000110), "& "USERCODE (0000000111),"& "CLAMP (0000001010), "& "HIGHZ (0000001011), "& "CONFIG_IO (0000001101)"; attribute INSTRUCTION_CAPTURE of EP2C35F484 : entity is "0101010101"; attribute IDCODE_REGISTER of EP2C35F484 : entity is "0000"& --4-bit Version "0010000010110100"&--16-bit Part Number (hex 20B4) "00001101110"& --11-bit Manufacturer's Identity "1"; --Mandatory LSB attribute USERCODE_REGISTER of EP2C35F484 : entity is "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; --All 32 bits are programmable attribute REGISTER_ACCESS of EP2C35F484 : entity is "DEVICE_ID (IDCODE),"& "IOCSR[8616] (CONFIG_IO)";
School ofEngineering
Übung2: JTAG TAP controller
1. Welche JTAG Register werden mit diesem JTAG Befehl angesprochen?
2. Was ist der Wert in diesem Register nach der 13ten Taktflanke?
3. Nennen sie 3 Anwendungsfälle für die JTGA Schnittstelle im FPGA [2]
School ofEngineering
Übung2 – Lösung: JTAG TAP controller
1. Welche JTAG Register werden mit diesem JTAG Befehl angesprochen?Data Register
2. Was war der Wert in diesem Register nach der 13ten Taktflanke?13te: 1001
3. Nennen sie 3 Anwendungsfälle für die JTGA Schnittstelle in Microcontrollern1. Testen der Leiterplattenverbindungen2. Debuggen der Anwendung3. Testen des IC
School ofEngineering
In Circuit Emulators
School ofEngineering
Keil (www.keil.com)
School ofEngineering
Hitex HiTop und Tantino
School ofEngineering
IAR
School ofEngineering
Beispiel Evaluation Board
● Stellaris LM3S6965 microcontroller with● fully-integrated 10/100 embedded Ethernet controller● Simple setup: USB cable provides serial communication,
debugging, and power● OLED graphics display● User LED, navigation switches, and select pushbuttons● Standard ARM® 20-pin JTAG debug connector with
input and output modes
School ofEngineeringLow Cost JTAG Debug Adapter von
Olimex
School ofEngineeringHersteller von ARM Emulatoren und
Tools
● Abatron○ JTAG Debugger○ Software GDB oder andere Hersteller
● Keil○ JTAG Debugger○ Development Boards für Philips LPC Prozessoren
● Lauterbach○ ICE○ ETM Tools
● Hitex○ ETM Tools
School ofEngineering
BDI2000 JTAG Debug Interface(www.abatron.ch)
• Unterstützt auch andere gängie Prozessoren und DSPs• Benötigt Debugger Tool von Dritthersteller z.B.
• IAR• CodeWarrior• GNU Debugger (GDB)
School ofEngineering
Embedded Tracers
School ofEngineering
Embedded Trace Macro
EmbeddedTraceMacro
School ofEngineering
ARM Embedded Trace Macro (ETM)
● Zusätzliche IP Hardware die implementiert werden muss
● Jede Information über ausgeführte Befehle und Datenzugriff wird nach aussen geführt
● Erlaubt Tracing bei maximaler Taktfrequenz und damit Fehlersuche in Real Time
● Gibt es für all ARM und Cortex Prozessoren
● Benötigt extra Ports am Microcontroller, meist gemultiplexed mit anderen Funktionen
School ofEngineering
PC
Embedded ICE
Part Trace Analyser
JTAG Interface
ETM Trace Trigger
ARM 7
PIPESTATE 0PIPESTATE 1PIPESTATE 2
TRACESYNC
TRACEPKT 0
TRACEPKT 2
VCC2
VCC1
TRACEPKT 1
TRACEPKT 3
EXTTRIG
DBGACKTRACECLK
TRSTTDO
TMS
TCK
RTCK
TDIRST
Microcontroller
Traceanschluss
Embedded Trace Macro
School ofEngineering
Hitex ETM Trace Tool
School ofEngineering
Cortex-M3 Serial Wire Debug
School ofEngineering
On Chip Flash Memory of the LPC2138
School ofEngineering
Memory Accelerator Module (MAM)
School ofEngineering
Memory Accelerator Module (MAM)
Bank 064k x 128
Bank 164k x 128
128
128
3232 3232
32
Address16 ..5
Address16 ..5
Address4
Address3..2
School ofEngineering
MAMAusgeschaltet
Branches werdenaus dem Flash geholt
Alle Flash Zugriffevom MAM
Memory Accelerator Module (MAM)