www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 
Sponsored by SiOL

ŠARM, linux

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Linux, unix razprave
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
_Mitto_
Član
Član



Pridružen-a: Pet 29 Feb 2008 11:47
Prispevkov: 91
Aktiv.: 0.65
Kraj: Vipava

PrispevekObjavljeno: Sre Mar 12, 2008 4:20 pm    Naslov sporočila: icon_idea ŠARM, linux Odgovori s citatom

Prosim če prestavite temo, če ni na primernem mestu.

Ideja je v tem, da bi ŠARM programiral v linuxu. Na voljo je odprtokodna resitev za JTAG debagiranje npr.
openocd.

Tezava je v tem, da ima SARM JTAG razhroscevalnik na sami plati. Kolikor sem z asistenti govoril, je na plosci za dodat JTAG konektor in onemogocit JTAG debuger na plosci.

Se je kdo ze kaj ukvarjal stem?


Nazadnje urejal/a _Mitto_ Ned Apr 27, 2008 9:28 pm; skupaj popravljeno 2 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
chaos
Član
Član



Pridružen-a: Sob 16 Sep 2006 22:12
Prispevkov: 1063
Aktiv.: 6.71
Kraj: Zagorje ob Savi

PrispevekObjavljeno: Sre Mar 12, 2008 4:36 pm    Naslov sporočila: icon_idea Re: S-ARM, linux Odgovori s citatom

Ja, zadeva je (dokaj) preprosta:

- na šarma nalotaš 2x10 letvico, z jumperjem (J9?) onemogočiš on-board debugger.
- nabaviš / narediš si JTAG vmesnik. Za samogradnjo bi bil primeren paralelni wiggler - kompatibilni (načrtov je na netu veliko - išči wiggler jtag). Kupiš pa lahko recimo Olimexov USB-OCD.
- zbuildaš si okolje na linuxu - gcc, newlib, binutils ... (poglej na gnuarm.com)
- za debuggiranje / flashanje priporočam program openocd -- podpira veliko arm procesorjev + podpira wiggler JTAG vmesnike. Da se ga uporabljati skupaj z Eclipse okoljem.

LP!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
_Mitto_
Član
Član



Pridružen-a: Pet 29 Feb 2008 11:47
Prispevkov: 91
Aktiv.: 0.65
Kraj: Vipava

PrispevekObjavljeno: Sre Mar 12, 2008 11:36 pm    Naslov sporočila:  Eclipse plug-in Odgovori s citatom

Odlično, najlepša hvala za odgovor. Primer za wiggler klik oz. klik2
Eclipse mi dobro služi za c, javo, php, ... zato se že veselim dela z ARMom.

Kako pa je z gnuarm plug-inom?


Nazadnje urejal/a _Mitto_ Sre Mar 26, 2008 8:44 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
_Mitto_
Član
Član



Pridružen-a: Pet 29 Feb 2008 11:47
Prispevkov: 91
Aktiv.: 0.65
Kraj: Vipava

PrispevekObjavljeno: Pet Mar 28, 2008 11:00 pm    Naslov sporočila:   Odgovori s citatom

Wiggler (link) dela,

Zadevo zaenkrat poženem:
Koda:
openocd -f ~/Documents/ARM/sarm.cfg --log_output ~/Documents/ARM/sarm_error.log


Rešitve za napako (v sarm_error.log) :
Koda:
Error:   arm_jtag.c:38 arm_jtag_set_instr_error_handler(): setting the new JTAG instruction failed, debugging is likely to be broken

pa na netu ne najdem. Sad

sarm.cfg za pa zgleda takole:
Koda:
#daemon configuration
telnet_port 4444
gdb_port 3333

#interface
interface parport
parport_port /dev/parport0
parport_cable wiggler
jtag_speed 2
#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst

#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
target_script 0 reset h2294_init.script
run_and_halt_time 0 30
working_area 0 0x40000000 0x40000 nobackup

#flash configuration: *** LPC2138 (32KB RAM, 512KB flash) ***
flash bank lpc2000 0x0 0x7D000 0 0 lpc2000_v2 0 24000 calc_checksum
#flash bank lpc2000 0x0 0x40000 0 0 lpc2000_v1 0 14765 calc_checksum
flash bank cfi 0x80000000 0x400000 2 2 0


Kje naj iščem rešitev, oz. mi zna kdo pomagat?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
chaos
Član
Član



Pridružen-a: Sob 16 Sep 2006 22:12
Prispevkov: 1063
Aktiv.: 6.71
Kraj: Zagorje ob Savi

PrispevekObjavljeno: Tor Apr 01, 2008 9:58 pm    Naslov sporočila:   Odgovori s citatom

A si wiggler-ja naredil sam? Si dobro preveril vezje?

Drugače ti mogoče pride prav moja config skripta (je preizkušena):

arm7_usb-ocd.cfg:
Koda:

#daemon configuration
telnet_port 4444
gdb_port 3333

#commands specific to the Amontec JTAGKey
interface ft2232
ft2232_device_desc "Olimex OpenOCD JTAG A"
ft2232_layout "olimex-jtag"
ft2232_vid_pid 0x15BA 0x0003
jtag_speed 9
jtag_nsrst_delay 333
jtag_ntrst_delay 333

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

#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_init 0 arm7tdmi-s_r4
run_and_halt_time 0 30

# flash-options LPC2138
#target_script 0 reset openocd_lpc2138_flash.script
working_area 0 0x40000000 0x4000 nobackup
# LPC2378 @ 12MHz / 0x80000 from 512*1024
## up to version SVN188:
#flash bank lpc2000 0x0 0x7D000 0 0 lpc2000_v2 0 12000 calc_checksum
## from Version SVN189:
flash bank lpc2000 0x0 0x7D000 0 0 0 lpc2000_v2 12000 calc_checksum


# For more information about the configuration files, take a look at:
# http://openfacts.berlios.de/index-en.phtml?title=Open+On-Chip+Debugger


pa še cmd skripta za zagon openocd-ja:
Koda:

@echo off
echo ---
echo This script will setup path variable
echo and start OpenOCD
echo ---
@echo on

REM Variables:
SET YAGARTO_ROOT=D:\Programs\yagarto

REM SET WORKING_DIR=D:\

SET OPENOCD_BIN=openocd-ftd2xx.exe
SET OPENOCD_PARAMS=-d -f
SET OPENOCD_CONFIG=D:\Programs\yagarto\openocd\bin\arm7_usb-ocd.cfg

REM Set PATH variable:
SET PATH_BAK=%PATH%
SET PATH=%YAGARTO_ROOT%\bin;%YAGARTO_ROOT%\arm-elf\bin;%YAGARTO_ROOT%\openocd\utils;%YAGARTO_ROOT%\openocd\bin;%PATH%

REM Start OpenOCD
%OPENOCD_BIN% %OPENOCD_PARAMS% %OPENOCD_CONFIG%

pause


Potem se pa samo še telnet-aš na port 4444 (oziroma uporabiš gdb) ... moraš pa seveda imeti priključen (delujoč) jtag vmesnik na ploščo ...

LP!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
_Mitto_
Član
Član



Pridružen-a: Pet 29 Feb 2008 11:47
Prispevkov: 91
Aktiv.: 0.65
Kraj: Vipava

PrispevekObjavljeno: Pet Apr 04, 2008 6:28 pm    Naslov sporočila:  Nov wiggler Odgovori s citatom

Wiggler sem sestavu sam.
Učeraj sem naredil nov wiggler (po isti shemi), če bi imel pri prvem kak hladen spoj in bi zaradi tega dobival ta error.

Sedaj sem uporabil ta del:
Koda:

jtag_speed 9
jtag_nsrst_delay 333
jtag_ntrst_delay 333


In to je rešitev. Errorja ni več in ponavljajoče Debug vrstice (do konca log datoteke) ni več.

Sedaj moram še eclipse zrihtat in juhu bruhu. Very Happy

_________________
"You don’t fight for 'a new system'. You create something that makes the old system obsolete"
- Jacque Fresco, inspired by Buckminster Fuller
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
hazzard
Neznanec
Neznanec



Pridružen-a: Sre 04 Mar 2009 19:14
Prispevkov: 1
Aktiv.: 0.01
Kraj: Miren

PrispevekObjavljeno: Čet Maj 14, 2009 7:40 pm    Naslov sporočila:   Odgovori s citatom

Pozdravljeni!



Sem se odločil da napišem kar sem, ker se je govora točno o tem kar potrebujem!


šarma pa bom nabavil naslednji teden, zdaj bi rad najprej malo si pripravil teren!

Torej hočem programirati šarma v ubuntu, inštaliral sem eclipse in zylin CDT plugin. imam tudi gnuarm toolchain, vendar samo pač v eni mapi, nič ni blo potrebno inštaliranje le PATH lahko definiraš če hočeš.

nameščen imam tudi Insight debugger, ki je GUI, zraven pa še openOCD.


upam da je vse pravilno...?



opisovali ste uporabo JTAG debuggerja preko paralelnega porta, jaz pa tega na prenosniku seveda nimam.

Torej prva težava, kakšen debugger naj uporabim?? kaj s tistim na plošči ni mogoče nič delat?

če se da bi rad naredil kaj doma...


Če je pa že kdo si nastavil eclipse za tak primer, naj mi prosim pomaga, v eclipse pa še nisem nikoli delal.

Torej kako spravim zadevo da bi delala?


Hvala
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
_Mitto_
Član
Član



Pridružen-a: Pet 29 Feb 2008 11:47
Prispevkov: 91
Aktiv.: 0.65
Kraj: Vipava

PrispevekObjavljeno: Pet Dec 11, 2009 1:24 pm    Naslov sporočila:  WinIDEA preko wine Odgovori s citatom

Ni ravno o temi, kateri se pogovarjamo, vendar ni offtopic.

WinIDEA lepo deluje preko zadnje verzije windows emulatorja WINE (v ubuntuju je označen z 1.2, dejansko je pa 1.1.34)

Seveda ostane problem USB driverjev za š-arm. Ima kdo kakšne izkušnje s tem?

_________________
"You don’t fight for 'a new system'. You create something that makes the old system obsolete"
- Jacque Fresco, inspired by Buckminster Fuller
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
_Mitto_
Član
Član



Pridružen-a: Pet 29 Feb 2008 11:47
Prispevkov: 91
Aktiv.: 0.65
Kraj: Vipava

PrispevekObjavljeno: Pet Dec 11, 2009 2:10 pm    Naslov sporočila:   Odgovori s citatom

hazzard je napisal/a:

opisovali ste uporabo JTAG debuggerja preko paralelnega porta, jaz pa tega na prenosniku seveda nimam.


Lahko kupiš tole:
chaos je napisal/a:
Kupiš pa lahko recimo Olimexov USB-OCD.

http://www.olimex.com/dev/arm-usb-ocd.html

hazzard je napisal/a:
Torej prva težava, kakšen debugger naj uporabim?? kaj s tistim na plošči ni mogoče nič delat?

Kot že zgoraj piše .. uporabiš OpenOCD (OCD .. on čip debagr)

hazzard je napisal/a:
če se da bi rad naredil kaj doma...

wiggler z FTDI čipom

hazzard je napisal/a:
Če je pa že kdo si nastavil eclipse za tak primer, naj mi prosim pomaga, v eclipse pa še nisem nikoli delal.

Torej kako spravim zadevo da bi delala?


Zdej ko imam Kubuntu 9.10 bom poskusu kej napisat - drugič.

_________________
"You don’t fight for 'a new system'. You create something that makes the old system obsolete"
- Jacque Fresco, inspired by Buckminster Fuller
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
_Mitto_
Član
Član



Pridružen-a: Pet 29 Feb 2008 11:47
Prispevkov: 91
Aktiv.: 0.65
Kraj: Vipava

PrispevekObjavljeno: Ned Nov 03, 2013 12:58 am    Naslov sporočila:  OpenOCD Odgovori s citatom

Linux uporabniki začetniki, preden začnete na polno razvijat v Eclipse, naj zadeva najprej uspešno dela direktno.

OpenOCD (trenutne verzije 0.7.0) nima posebej lpc2138.cfg (mogoče bi bila že lpc2148.cfg povsem primerna)

Zato imam pripravljeno enostavno openocd.cfg v root mapi eclipse:
Koda:
source [find interface/olimex-arm-usb-ocd-h.cfg]

#####################################################
# Based on Philips LPC2138
# NXP LPC2138 ARM7TDMI-S with
# 512kB flash (12kB used by bootloader)
# 40kB SRAM (8kB for USB DMA)
# clocked with 12MHz crystal
source [find target/lpc2xxx.cfg]

# parameters:
# - chip_name - name of the chip, e.g. lpc2103
# - cputapids - TAP IDs of the core, should be quoted if more than one, e.g. 0x4f1f0f0f or "0x3f0f0f0f 0x4f1f0f0f"
# - flash_size - size of on-chip flash (available for code, not including the bootloader) in bytes, e.g. 0x8000
# - flash_variant - "type" of LPC2xxx device, lpc2000_v1 (LPC22xx and older LPC21xx) or lpc2000_v2 (LPC213x, LPC214x, LPC210[123], LPC23xx and LPC24xx)
# - workarea_size - size of work-area in RAM for flashing procedures, must not exceed the size of RAM available at 0x40000000, e.g. 0x2000
# - core_freq_khz - frequency of core in kHz during flashing, usually equal to connected crystal or internal oscillator, e.g. 12000
# - adapter_freq_khz - frequency of debug adapter in kHz, should be 8x slower than core_freq_khz, e.g. 1000
proc init_targets {} {
        # 500kB flash and 32kB SRAM
        # setup_lpc2xxx <chip_name> <cputapid> <flash_size> <flash_variant> <workarea_size> <core_freq_khz> <adapter_freq_khz>
        setup_lpc2xxx lpc2138 0x4f1f0f0f 0x7d000 lpc2000_v2 0x8000 12000 1500
}

#daemon configuration
telnet_port 4444
gdb_port 3333


V terminalu se postavim v mapo, kjer se nahaja zgornji openocd.
Na ŠARMa se z OpenOCD povežem z:
Koda:
openocd -f openocd.cfg

_________________
"You don’t fight for 'a new system'. You create something that makes the old system obsolete"
- Jacque Fresco, inspired by Buckminster Fuller
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
_Mitto_
Član
Član



Pridružen-a: Pet 29 Feb 2008 11:47
Prispevkov: 91
Aktiv.: 0.65
Kraj: Vipava

PrispevekObjavljeno: Ned Nov 03, 2013 1:07 am    Naslov sporočila:  gdb Odgovori s citatom

Ko je gdb povezava preko OpenOCD odprta,
se lahko z
Koda:
arm-none-eabi-gdb mojProgram.elf

povežem za začetek debugiranja

na primer:
Koda:
(gdb) l

vrne:

Koda:
1   // Date:   17.10.2011
2   // Author: Janez Puhan
3   
4   #include "inc/pwm.h"
5   #include "inc/gpio.h"
6   
7   int main()
8   {
9      return 0;
10   }


(za nek program pwm utripajoče lučke)

_________________
"You don’t fight for 'a new system'. You create something that makes the old system obsolete"
- Jacque Fresco, inspired by Buckminster Fuller
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
_Mitto_
Član
Član



Pridružen-a: Pet 29 Feb 2008 11:47
Prispevkov: 91
Aktiv.: 0.65
Kraj: Vipava

PrispevekObjavljeno: Sob Dec 07, 2013 10:01 pm    Naslov sporočila:   Odgovori s citatom

GDB ima tudi terminalni grafični vmesnik.

Zaženeš ga z dodanim atributom: gdb -tui
Koda:
arm-none-eabi-gdb -tui mojProgram.elf

določeni toolchaini imajo kar pripravljen program:
Koda:
arm-none-eabi-gdbtui mojProgram.elf

tu je še nekaj komand za preklop med "okni":
- razdeli okno v več "notranjih oken":
Koda:
layout split

- fokusira "okno" za "brskanje" (skrolanje z miško, ...):
Koda:
fs {src | asm | regs | cmd}

kar tipkaš se vedno vnaša v komandno okno cmd


Pa ne pozabi, vedno dela
Koda:
help karMeZanima

_________________
"You don’t fight for 'a new system'. You create something that makes the old system obsolete"
- Jacque Fresco, inspired by Buckminster Fuller
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Linux, unix razprave Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 147 dni


Powered by phpBB © 2001, 2005 phpBB Group