Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

School of Engineering ESI-Lektion 9- 10. School of Engineering ESI – Lektion 9-10 Memory MAP Controll Bootloader, ISP JTAG Debugging In Circuit Emulators.

Ähnliche Präsentationen


Präsentation zum Thema: "School of Engineering ESI-Lektion 9- 10. School of Engineering ESI – Lektion 9-10 Memory MAP Controll Bootloader, ISP JTAG Debugging In Circuit Emulators."—  Präsentation transkript:

1 School of Engineering ESI-Lektion 9- 10

2 School of Engineering ESI – Lektion 9-10 Memory MAP Controll Bootloader, ISP JTAG Debugging In Circuit Emulators Flash Speicher Accelerator

3 School of Engineering Memory MAP Control

4 School of Engineering 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 byte Exception Vector Table Prefetch Abort (instruction fetch memory abort) Supervisor 0x0000001C Exception ModeAddress Reset Undefined instruction Software interrupt (SWI) Data Abort (data access memory abort) IRQ (interrupt) FIQ (fast interrupt) Undefined Supervisor Abort IRQ FIQ 0x00000018 0x00000010 0x0000000C 0x00000008 0x00000004 0x00000000 Speicherbereichs-Aufteilung LPC2138

5 School of Engineering 0x0000 0040 0xFFFF FFFF 0x0000 003F 0x0000 00000x4000 0000 0x8000 0000 RAM Extern Flash Boot- loader MEMMAP Register Einstellung 1230 User Flash RAM Extern Flash Boot- loader RAM Boot- loader Boot Loader RAM Extern Flash Boot- Loader Extern Flash RAM Extern Flash 0x0000 00000x8000 0000 0x4000 0000 0x4000 003F 0x8000 003F 64 Byte Exception Vector Table User Flash Mode (Normaler Modus) RAM Mode External Flash Mode Boot Loader Mode (nach Reset) Memory Map Control Register

6 School of Engineering Übung1: Memory Map

7 School of Engineering Übung1-Lösung: Memory Map

8 School of Engineering Bootloader und In Circuit Flash Programmer

9 School of Engineering 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 ist 2er-komplement der Checksumme

10 School of Engineering Reset Boot Programm is entered Is Force Software Reload Pin set Signature good Enter ISP Utility Switch Memory Map to Flash Mode Set PC to 0x0000 End y n y n ISP = In Circuit Flash Programming Ablauf nach Reset beim LPC

11 School of Engineering Berechnet auch die Signatur, ersetzt NOP im Startup code ISP (In Circuit Flash Programming) Utility

12 School of Engineering JTAG (Joint Action Test Group)

13 School of Engineering (TDI) (TDO) Boundary Scan mit JTAG (Joint Test Action Group)

14 School of Engineering ULINK PC USB JTAG- controller ARM Core Scan Chain Scan Flip-Flops JTAG Port LPC2138 JTAG Debug Schnittstelle

15 School of Engineering IEEE 1149.1 Erforderliche Befehle BYPASS Durchschleifen von seriellen Daten wenn ein anderes IC in der Scan Chain getestet werden soll (z.B. Instruction Code = 11111) SAMPLE/PRELOAD IC in Normalem Betriebszustand Capture möglich Serielles Schieben von Daten In/Aus Capture Register EXTEST Test Muster werden an die Ausgangspins angelegt oder von den Eingangspins eingelatched (z.B. Instruction Code = 00000)

16 School of Engineering IEEE 1149.1 Optionale Befehle INTEST Zum 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

17 School of Engineering JTAG Architektur auf dem IC Befehls Register (Betriebsarten) TAP Controller Daten Register Scan Zellen

18 School of Engineering JTAG Anschlüsse am Keil Board VCC 3-3 TRST TDO TMS TCK RTK TDI RST 10 kΩ 12 20 4 6 8 10 12 14 16 18 19 3 5 7 9 11 13 15 17 JTAG spezifische PINS

19 School of Engineering JTAG Pin Beschreibungen

20 School of Engineering TAP Controller Zustandsautomat Paralleles Abspeichern der Auszulesenden Daten ins Data Register Serielles Ein- oder Auslesen in das Schieberegister über TDI/TDO Neu ins Schieberegister eingelesene Daten ins Schattenregister übertragen Paralleles Abspeichern des Auszulesenden Status ins Instruction Register Serielles Ein- oder Auslesen in das Schieberegister über TDI/TDO Neu ins Schieberegister eingelesene Befehle ins Schattenregister übertragen Test Logik ist ausser Betrieb. Das Bauteil ist in normalem Betriebszustand TMS

21 School of Engineering Beispiel für das Einstellen des Instruction Codes

22 School of Engineering Clock Steuerung Der TAP Controller Statemacine Test Daten Eingang Test Daten Ausgang Daten Register Instruction Register Select JTAG TAP Controller

23 School of Engineering Der TAP Controller Steuersignale

24 School of Engineering Auszug 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)";

25 School of Engineering Ü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]

26 School of Engineering Ü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 Microcontrollern 1.Testen der Leiterplattenverbindungen 2.Debuggen der Anwendung 3.Testen des IC

27 School of Engineering In Circuit Emulators

28 School of Engineering Keil (www.keil.com)

29 School of Engineering Hitex HiTop und Tantino

30 School of Engineering IAR

31 School of Engineering 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

32 School of Engineering Low Cost JTAG Debug Adapter von Olimex

33 School of Engineering Hersteller 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

34 School of Engineering 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)

35 School of Engineering Embedded Tracers

36 School of Engineering Embedded Trace Macro Embedded Trace Macro

37 School of Engineering 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

38 School of Engineering PC Embedded ICE Part Trace Analyser JTAG Interface ETM Trace Trigger ARM 7 PIPESTATE 0 PIPESTATE 1 PIPESTATE 2 TRACESYNC TRACEPKT 0 TRACEPKT 2 VCC2 VCC1 TRACEPKT 1 TRACEPKT 3 EXTTRIG DBGACK TRACECLK TRST TDO TMS TCK RTCK TDI RST Microcontroller Traceanschluss Embedded Trace Macro

39 School of Engineering Hitex ETM Trace Tool

40 School of Engineering Cortex-M3 Serial Wire Debug

41 School of Engineering On Chip Flash Memory of the LPC2138

42 School of Engineering Memory Accelerator Module (MAM)

43 School of Engineering Memory Accelerator Module (MAM)

44 School of Engineering MAM Ausgeschaltet Branches werden aus dem Flash geholt Alle Flash Zugriffe vom MAM Memory Accelerator Module (MAM)


Herunterladen ppt "School of Engineering ESI-Lektion 9- 10. School of Engineering ESI – Lektion 9-10 Memory MAP Controll Bootloader, ISP JTAG Debugging In Circuit Emulators."

Ähnliche Präsentationen


Google-Anzeigen