přechod z Atmelů na PIC + PIC debug ??

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
pirat077
Příspěvky: 324
Registrován: 02 kvě 2014, 00:00

přechod z Atmelů na PIC + PIC debug ??

#1 Příspěvek od pirat077 »

Ahoj,
potřeboval bych vyhodnocovat nějaké signály,
nejlíp mi vychází dsPICy (do ARMů se mi moc jít nechce nemám v nich přehled)

otázka zní:
Má opravdu cenu učit se pracovat s procesory firmy Microchip (myslím si, že mají na trhu pořád svoje místo, ale třeba to není pravda)

Debugger: Jaký je rozdíl mezi základním PICKIT3 a kulatým MPLAB ICD 3 ??

Díky
Uživatelský avatar
frpr666
Příspěvky: 1051
Registrován: 28 pro 2009, 00:00

#2 Příspěvek od frpr666 »

Uživatelský avatar
pirat077
Příspěvky: 324
Registrován: 02 kvě 2014, 00:00

#3 Příspěvek od pirat077 »

frpr666 píše:http://www.microchip.com/forums/m534122.aspx

Pro zajímavost: attiny85
https://www.youtube.com/watch?v=NthezOoIu9U


to je radost... :(

Píšou tam "ICD3 je asi 2x-3x rychlejší než PK3. breakpoint/ pauza/ restart jsou nyní snesitelné" :D

To je jakokdyby rovnou řekli, že je PK3 nepoužitelný pro debug...
(obzvlášť když chci používat MCU s 512kB flash...
Uživatelský avatar
frpr666
Příspěvky: 1051
Registrován: 28 pro 2009, 00:00

#4 Příspěvek od frpr666 »

Nevím nevím, adresovat 512KB s 8bitem.
Koukni na toto: https://www.arduino.cc/en/Main/ArduinoBoardDue
Uživatelský avatar
pirat077
Příspěvky: 324
Registrován: 02 kvě 2014, 00:00

#5 Příspěvek od pirat077 »

frpr666 píše:Nevím nevím, adresovat 512KB s 8bitem.
Koukni na toto: https://www.arduino.cc/en/Main/ArduinoBoardDue


Mám i atmel ICE =>nemusím kupovat blbý aduino, když si můžu udělat svou desku a využít debug...

Ještě jsem to pořádně neprostudoval....ale budu potřebovat vyhodnoovat signály a budu chtít co nejmenší spotřebu (s tou se může jít arduino totálně zahrabat díky jejich stablizátorům)...

PIC má mít údajně nějaký spešl funkce na ty signály, jejich podstatu ale zatím neznám. Spotřeba dobrá. Plno knihoven. Plno vzorků zadarmo. To mě láká.
(doplněk: dsPIC je 16bit)

Do ARMů se i pořád nechce....a když už ARM, tak asi NXP...
Uživatelský avatar
pirat077
Příspěvky: 324
Registrován: 02 kvě 2014, 00:00

#6 Příspěvek od pirat077 »

otázka je, jestli má smysl dělat takový mezikroky a nevrhnout se rovnou do armů...

QFP pouzdra mi nevadí, když si na to nenechávám udělat DPS, tak používám smd adaptéry...a přímo na ten adaptér napájím většinu součástek okolo...
Uživatelský avatar
pirat077
Příspěvky: 324
Registrován: 02 kvě 2014, 00:00

#7 Příspěvek od pirat077 »

frpr666 píše:Nevím nevím, adresovat 512KB s 8bitem.
Koukni na toto: https://www.arduino.cc/en/Main/ArduinoBoardDue


Ještě dotaz trochu mimo:

Jde u Arduina použít debug??
S USB kabelem a Arduino IDE?
S Atmel ICE (debug konektor arduino má), Atmel studiem a knihovnama pro arduino (.cpp/ .ino) ??

Možná bych využil druhou možnost, hezký by bylo naprasit všechno dohromady a využívat knihovny Arduina a zároveň i svoje věci v Céčku...
Uživatelský avatar
frpr666
Příspěvky: 1051
Registrován: 28 pro 2009, 00:00

#8 Příspěvek od frpr666 »

Arduino bývá často osazeno chipem Atmel. Podle typu Atmelu lze v DS nalézt, zda má on-chip debug nebo nemá. Třeba ATMEGA328 má tu možnost. Potom jen zbývá správně propojit debug adaptér k správným pinům.
Jinak lze "ladit" i tak, že v problematických místech si vložíš funkci Serial.print(); a přehraješ program.

Kód: Vybrat vše

  teplota_raw = read_ad(CHANNEL0);
  Serial.print(teplota);
  teplota_celsius= vypocet (teplota_raw );
  Serial.print(teplota_celsius);
Uživatelský avatar
pirat077
Příspěvky: 324
Registrován: 02 kvě 2014, 00:00

#9 Příspěvek od pirat077 »

frpr666 píše:Arduino bývá často osazeno chipem Atmel. Podle typu Atmelu lze v DS nalézt, zda má on-chip debug nebo nemá. Třeba ATMEGA328 má tu možnost. Potom jen zbývá správně propojit debug adaptér k správným pinům.
Jinak lze "ladit" i tak, že v problematických místech si vložíš funkci Serial.print(); a přehraješ program.

Kód: Vybrat vše

  teplota_raw = read_ad(CHANNEL0);
  Serial.print(teplota);
  teplota_celsius= vypocet (teplota_raw );
  Serial.print(teplota_celsius);


Hardwarově to určitě jde...

Mě šlo o to, jestli můžu použít Atmel studio a Debugger od Atmelu (Atmel ICE) ....a pouívat knihovny pro Arduino a Arduino...

To by asi taky mělo jít. Teď se snažím skamarádit Atmelstudio s Arduinama a vůbec se mi to nedaří :((
Uživatelský avatar
Atlan
Příspěvky: 4514
Registrován: 10 kvě 2004, 00:00
Bydliště: Košice

#10 Příspěvek od Atlan »

Nevidim dovod to kombinovat, na blbosti staci arduino a na seriozne veci Atmel studio
Uživatelský avatar
pirat077
Příspěvky: 324
Registrován: 02 kvě 2014, 00:00

#11 Příspěvek od pirat077 »

Atlan píše:Nevidim dovod to kombinovat, na blbosti staci arduino a na seriozne veci Atmel studio


A cokdyž bych chtěl seriózní aplikaci a chci ji zobrazovat neseriózním ethernet shieldem??

...lákají mě všechny knihovny a chci používat debug
Uživatelský avatar
frpr666
Příspěvky: 1051
Registrován: 28 pro 2009, 00:00

#12 Příspěvek od frpr666 »

Můj poslední poznatek je, že v Arduino IDE namísto setup() a loop() lze použít funkci main(). Při použití main() IDE nevkládá žádný kód "navíc". Skuteční "tvrďáci" můžou programovat tak, jak jsou zvyklí, ono to je v podstatě Atmel připájený na DPS. Pokud si nastavíte "output folder" (build.path=/home/ubuntu/arduino_out a buld.verbose=true), IDE tam vygeneruje .elf, který lze otevřít v AVR studiu (verze?) a ladit (simulátor nebo on-chip debug)

Kód: Vybrat vše

//simplest program
int main( void)
{
  for(;;)
  {
  }
  return(0);
}

Kód: Vybrat vše

00000000 <.sec1>:
   0:   0c 94 34 00    jmp   0x68   ;  0x68

  68:   11 24          eor   r1, r1
  6a:   1f be          out   0x3f, r1   ; 63
  6c:   cf ef          ldi   r28, 0xFF   ; 255
  6e:   d8 e0          ldi   r29, 0x08   ; 8
  70:   de bf          out   0x3e, r29   ; 62
  72:   cd bf          out   0x3d, r28   ; 61
  74:   0e 94 40 00    call   0x80   ;  0x80
  78:   0c 94 41 00    jmp   0x82   ;  0x82
  7c:   0c 94 00 00    jmp   0   ;  0x0
  80:   ff cf          rjmp   .-2         ;  0x80
  82:   f8 94          cli
  84:   ff cf          rjmp   .-2         ;  0x84
Uživatelský avatar
pirat077
Příspěvky: 324
Registrován: 02 kvě 2014, 00:00

#13 Příspěvek od pirat077 »

Já bych chtěl debug přímo v tom kódu, učit se c++, wiring a příkazy asembleru je fakt moc.... :D
Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 00:00
Bydliště: Praha

#14 Příspěvek od FHonza »

Vykašli se na wiring, nainstaluj Atmel Studio a investuj pro začátek do
AVR JTAG ICE na eBay
Budeš mít debug přímo v kódu c++
Uživatelský avatar
pirat077
Příspěvky: 324
Registrován: 02 kvě 2014, 00:00

#15 Příspěvek od pirat077 »

FHonza píše:Vykašli se na wiring, nainstaluj Atmel Studio a investuj pro začátek do
AVR JTAG ICE na eBay
Budeš mít debug přímo v kódu c++


Já doma mám přímo orginální Atmel ICE debugger ;)
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“