NXP LCP2103 (ARM7)

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
rand_althor
Inlägg: 49
Blev medlem: 10 november 2008, 13:43:25
Ort: Göteborg
Kontakt:

NXP LCP2103 (ARM7)

Inlägg av rand_althor »

Hej alla,

håller på med ett litet projekt på en ARM7. En LPC2103 närmare bestämt.

Jag har lite problem dock.

Jag kör följande miljö:
* Yagarto enligt instruktioner på Yagartos sida.
* Eclipse Ganymede
* OpenOCD
* ARM-USB-OCD

Ett par saker jag skulle vilja ha hjälp med dock:

1. Länkning och därtill hörande Makefile... Jag har ett projekt som kompilerar fint men länkar inte riktigt som det skall med den länkningen som var i den medföljande Makefilen i demoprojektet. Och jag har ett försök med att använda länkarscript och startup-kod från FreeRTOS utan framgång.

2. JTAG-debuggern funkar inte klockrent. Är inte helt säker på att commands:en jag har är helt rätt samt att den cfg-fil jag har för openocd är helt rätt för LPC2103.

Så frågan är egentligen:
A. Har någon pysslat med LPC2103:an och har en fungerande Makefil med länkarscript att dela med sig av?
B. Har någon fungerande filer och kommandon för openocd för ARM-USB-OCD från Olimex till LPC2103?
Användarvisningsbild
exile
EF Sponsor
Inlägg: 496
Blev medlem: 21 oktober 2005, 23:32:07

Inlägg av exile »

Hej, jag "lekt" lite med LPC2106 och använt WINARM, där medföljer det några exempel med Makefiler samnt .ld.
Dock inte till LPC2103 men till LPC2106 (bör inte stor skillnad på, har inte kollat så noga) exempel.

Annars har olimex (zip-fil) några exempel men jag har inte testat de då jag kör med WINARM och serie-snöre ^^
Användarvisningsbild
Earendil
EF Sponsor
Inlägg: 448
Blev medlem: 2 juni 2004, 09:06:43
Ort: Lund

Re: NXP LCP2103 (ARM7)

Inlägg av Earendil »

Jag har ingen konkret hjälp för 2103, men kan du visa lite mer konkret (utskrifter) vilka fel du får? Har pillat en liten aning med OpenOCD och ARM-USB-OCD. Senast i går faktiskt! ;-)

rand_althor skrev:Hej alla,

håller på med ett litet projekt på en ARM7. En LPC2103 närmare bestämt.

Jag har lite problem dock.

Jag kör följande miljö:
* Yagarto enligt instruktioner på Yagartos sida.
* Eclipse Ganymede
* OpenOCD
* ARM-USB-OCD

Ett par saker jag skulle vilja ha hjälp med dock:

1. Länkning och därtill hörande Makefile... Jag har ett projekt som kompilerar fint men länkar inte riktigt som det skall med den länkningen som var i den medföljande Makefilen i demoprojektet. Och jag har ett försök med att använda länkarscript och startup-kod från FreeRTOS utan framgång.

2. JTAG-debuggern funkar inte klockrent. Är inte helt säker på att commands:en jag har är helt rätt samt att den cfg-fil jag har för openocd är helt rätt för LPC2103.

Så frågan är egentligen:
A. Har någon pysslat med LPC2103:an och har en fungerande Makefil med länkarscript att dela med sig av?
B. Har någon fungerande filer och kommandon för openocd för ARM-USB-OCD från Olimex till LPC2103?
rand_althor
Inlägg: 49
Blev medlem: 10 november 2008, 13:43:25
Ort: Göteborg
Kontakt:

Inlägg av rand_althor »

Jag får inga specifika fel, det är lite allt möjligt, debuggingen krachar, ibland hänger den sig under uppstart av debuggingen, osv, osv.
De gångerna det fungerar (vilket är kanske ca 50-60% av gångerna) så funkar det klockrent (så länge man inte sätter mer än 1-2 breakpoints vilket jag har förstått är en begränsning i hårdvaran).
Men allt för ofta som man behöver döda openocd-ftd2xx.exe och starta om den, rycka USB-sladdar, osv för att det skall hoppa igång över huvudtaget.

Här är min cfg-fil:

Kod: Markera allt

#daemon configuration
telnet_port 4444
gdb_port 3333

#interface
interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG A"
ft2232_layout "olimex-jtag"
ft2232_vid_pid 0x15BA 0x0003
jtag_speed 2

#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst srst_pulls_trst

#jtag scan chain
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
jtag_device 4 0x1 0xf 0xe

#target configuration
daemon_startup reset

#target <type> <startup mode>
#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>
target arm7tdmi little run_and_halt 0 arm7tdmi-s_r4
run_and_halt_time 0 30

working_area 0 0x40000000 0x2000 nobackup

#flash configuration
#flash bank lpc2000 0x0 0x40000 0 0 lpc2000_v1 0 14747 calc_checksum
#flash bank cfi 0x80000000 0x400000 2 2 0
flash bank lpc2000 0x0 0x8000 0 0 0 lpc2000_v2 14746 calc_checksum
Och under Debug configurations i Eclipse har jag följande inställningar:
  • Zylin Debug (native)
    • Name: Demo_Debug
      Main
      • Project: DemoApp
        C/C++ Application: build/code.elf
      Debugger
      • GDB Debugger: [sökväg till arm-elf-gdb.exe]
        GDB command file: [empty]
        GDB command set: Standard
        Protocol: mi
        Verbose console mode: [ej ikryssad]
        Use full file path to set breakpoints: [ikryssad]
      Commands
      • 'Initialize' commands: [empty]
        'Run' commands: [se code-taggen nedan]
      Source
      • Default
      Common
      • Save as: Local file
        Display in favorites menu: Debug
        Console Encoding: Default - inherited (Cp1252)
        Standard Input and Output: Allocate Console
        Launch in background: [ikryssad]
Och här är Run-commandsen:

Kod: Markera allt

target remote localhost:3333
monitor reset
monitor sleep 500
monitor poll
monitor soft_reset_halt
monitor arm7_9 force_hw_bkpts enable
monitor mww 0xE01FC040 0x0001
monitor mdw 0xE01FC040

# needed for gdb 6.8 and higher
set mem inaccessible-by-default off

load
break main
continue
Vet som sagt var inte om dessa inställningar (primärt cfg-filen och run-commandsen) är vettiga.
Användarvisningsbild
Earendil
EF Sponsor
Inlägg: 448
Blev medlem: 2 juni 2004, 09:06:43
Ort: Lund

Inlägg av Earendil »

Svårt att säga, men ett uppslag är att öka värdet på "jtag_speed" till 10 eller 40. Detta sänker jtag-hastigheten och det skulle kunna förbättra saker och ting.
rand_althor
Inlägg: 49
Blev medlem: 10 november 2008, 13:43:25
Ort: Göteborg
Kontakt:

Inlägg av rand_althor »

Tack för förslaget, dessvärre har jag redan testat det... ;)

Kan bara tillägga också att kortet det kör på är ett LPC-P2103 från Olimex med en kristall på 14.7456 MHz.
Användarvisningsbild
Earendil
EF Sponsor
Inlägg: 448
Blev medlem: 2 juni 2004, 09:06:43
Ort: Lund

Inlägg av Earendil »

Jag har kört på ett sådant kort också, men jag har tyvärr inga config-filer kvar. Sen körde jag ju Linux också, där USB-problematik och liknande är helt annorlunda. Hur som helst, det borde finnas mycket info om detta på nätet. LPC2103 (eller 2106 för den delen) är rätt vanliga...
Skriv svar