Fórum témák

» Több friss téma
Fórum » ARM - Miértek hogyanok
 
Témaindító: gtk, idő: Jún 26, 2007
Lapozás: OK   11 / 177
(#) Ant hozzászólása Jún 21, 2012 /
 
Sziasztok!
Egy jó ideje programozok AVR mikrovezérlőket, és szeretnék ARM-l is foglalkozni. A problémám az, hogy amivel programozzák az a JTAG interfész, ez ugyanaz, mintha építenék egy JTAG ICE-t és ezzel próbálmám programozni? Vagy ha nem, akkor létezik olyan kapcsolás, ami USB-s és nem az FT2232 van benne?
Üdv:
Ant
(#) kRoy válasza Ant hozzászólására (») Jún 21, 2012 /
 
Szia!

Mi a baj az FTDI-s JTAG interfésszel? Ha USB-s és nem FTDI-s, akkor általában saját protokolt használ, saját (leginkább fizetős) szoftverrel. Ez nem feltétlenül baj amúgy, a kezdőknek nagyon jól használható egyik legolcsóbb megoldás is ilyen: LPCXPRESSO - LPC1343
Ez olcsó (kb. 7000 Ft + ÁFA), egy Cortex M3-as kontroller és USB-s debugger is van rajta (amit egyébként saját áramkörhöz is nagyon jól használhatsz), az ingyenesen letölthető (max. 128kByte -ig használható) fejlesztőkörnyezet Windowson és Linuxon is fut.
(#) Ant válasza kRoy hozzászólására (») Jún 21, 2012 /
 
Szia, nem az FTDI-vel van bajom, én FT232-t akarok használni és nem FT2232-t. Ugyanis FT232 van kéznél.
De ugyanaz az AVR-hez való JTAG mint az ARM-hez való?
(#) cpt.zoltan.simon válasza Ant hozzászólására (») Jún 21, 2012 /
 
Én úgy vagyok vele, hogy Keil + ULINK2 (40$) körül az Ebay-en, és minden frankó. Személy szerint én nem építenék debugger-t, mert ha nem sikerül elsőre akkor a második nekifutás már többe kerül mint megvenni elsőre.
(#) Ant válasza cpt.zoltan.simon hozzászólására (») Jún 21, 2012 /
 
Köszi, meggondolandó!
Értem, de ugyanaz, vagy nem?
(#) cpt.zoltan.simon válasza Ant hozzászólására (») Jún 21, 2012 /
 
Mi ugyan az?
(#) Ant válasza cpt.zoltan.simon hozzászólására (») Jún 21, 2012 /
 
Ugyanaz az AVR-hez való JTAG mint az ARM-hez való volt a kérdés. Bár most látom, hogy az egyiken van reset a másikon nincs...
(#) cpt.zoltan.simon hozzászólása Jún 21, 2012 /
 
AVR-hez nem értek. Állítólag a JTAG szabvány, tehát AVR JTAG-nak tudni kellene nyomatni a ARM-et, de hát a PIC32 C-t is 75%-ba újra kellett írnom ARM Cortex-M3-ra (C ->C), szóval kb ennyi az átjárhatóság. Jelen ismereteim szerint a két legszélesebb tudású JTAG a J-link, valamint a ULINK-2 (1, és Pro), ez utóbbiak a Keil gyári támogatásával is rendelkeznek, míg a J-Link-et külön kell telepíteni, a Segger oldaláról. Pl egy ST-Link meg csak STM-eket támogat. Én úgy tudom... Reset gomb meg annyira nem fontos, hiszen resetelni szoftverből is lehet.
(#) icserny válasza cpt.zoltan.simon hozzászólására (») Jún 21, 2012 /
 
Én nem csaz az AVR-hez, hanem az ARM-hoz sem értek, de úgy látom, hogy nagyon meg kell nézni a támogatási listát.

Például az U-link2 által támogatott MCU-k között nem látom az LPC1769-et (az LPC1768-at igen), s sem a Coocox IDE sem a RED Code IDE támogatási listáján nem látom az Ulinket. A Keil meg hobbi célra nem kifizetődő...

Ha ilyesmibe kezdenék, valószínűleg az olcsó gyári megoldások (pl. LPC Xpresso, STM32 Discovery, Nutiny SDK) közül választanék először.
(#) cpt.zoltan.simon válasza icserny hozzászólására (») Jún 21, 2012 /
 
Az hogy mi és mennyire van támogatva érdekes dolog.
Utoljára amikor néztem STM32F207 nem volt a listában. Nekem mégis vígan ketyeg... És akkor a 407-ről szó sem esett. Viszont LPC1769 támogatva van, lásd mellékelt kép.
Én azt vettem észre hogy aki komolyan fejleszt (cég pl) az a KEIL-t használja, tehát a KEIL-nem engedheti meg magának hogy az ő cucca ne támogassa nagyjából az elsők között azt ami kijön akárkinek is.
Hobbi cél: Nos nekem az a véleményem hogy csak hardverért fizetek. Így értettem a megéri-t.

002.jpg
    
(#) capaizee válasza cpt.zoltan.simon hozzászólására (») Jún 21, 2012 /
 
én se értek még az armokhoz...
csak érdekességként megemlítem hogy ARM-ok két féle debug interfészzel jöhetnek:
JTAG és/vagy SWD
(értelem szerűen lehet mindkettő vagy csak egyik rajtuk)
(#) cpt.zoltan.simon válasza capaizee hozzászólására (») Jún 21, 2012 /
 
Az SWD az mi pontosan? Úgy értem van valami összehasonlító SWD vs. JTAG?
(#) capaizee válasza cpt.zoltan.simon hozzászólására (») Jún 21, 2012 /
 
úgy tudom hogy lábakat akartak spórolni ...
Bővebben: Link

bár jobban megnézve ulink2 tudja mindkettőt
(#) icserny válasza cpt.zoltan.simon hozzászólására (») Jún 21, 2012 /
 
Idézet:
„Viszont LPC1769 támogatva van, lásd mellékelt kép.”
Nem tudom, hogy ugyanarról beszélünk-e? Ennek szűkebb a listája. Mondjuk épeszű okot nem látok rá, hogy egy Jtag eszköz miért ne volna jó egy egyébként támogatott gyártmánycsalád fel nem sorolt tagjaihoz. Az is lehet, hogy egy évekkel ezelőtti listát másolgatnak frissités nélkül...
(#) _vl_ válasza icserny hozzászólására (») Jún 21, 2012 /
 
Nem tudom, hogy feltűnt-e, de a belinkelt ebayes "hirdetés" location rovatában Shenzhen szerepel. Ami Kínában lakik. Ugye nem hiszed, hogy ezt a Keil nevű cég árulja (ami amúgy az ARM tulajdonában van), Kínából? Nyilván a ferdeszeműek nem igazán értenek hozzá, csak gyártják (másolják) és árulják az ebay-en, a leírást meg nyilván a lehető legritkább esetben frissítik...
(#) icserny válasza _vl_ hozzászólására (») Jún 22, 2012 /
 
Eleve az E-bay kínálatában kapható olcsó (max. $40) Ulink2-ről volt szó... Nyilvánvaló, hogy nem a Keil árulja.
(#) cpt.zoltan.simon válasza icserny hozzászólására (») Jún 22, 2012 /
 
Igen. Ezt nem a keil árulja. Viszont azzal eddigi tapasztalat szerint 100% kompatibilis, nem kell hozzá driver mint JLINK-hez. Igaz a firmware az enyémbe 1.47 frissitést mint lehetőséget nem találtam.
(#) pici hozzászólása Jún 22, 2012 /
 
AVR JTAG - ARM JTAG
A JTAG nem más mint a uC-k programozói SPI portja.
A JTAG egyszerű SPI kommunikáció, semmi varázslat.
Mivel a PC-nek nincs SPI kimenete, ezért kell átalakítani és használni a lehetséges portokat (LPT UART USB)
Vannak gyártói korlátozások, a nagyobb bevétel érdekében. De hogy ki gyártja le a JTAG programozót, az nem számít, a programozó szoftver (KEIL IAR AVRS) mondja meg milyen protokolt követel meg az átalakítóval. Ha ezt valaki ismeri, vagy dekódolja, akkor tud készíteni JTAG programozót.
Pont a korlátok korlátozzák némely programozót. Pl AVR JTAGICE, nekem is van. programozza a M16 M48 M88, de nem programozza M168P M48P, pedig semmi extra különbség nincs, csak a proci ID más és "nem ismeri fel".
Szóval ha a szoftver tudja az ID alapján a típust, flash méretét kezdetét, fuse bitek helyét tulajdonságait, akkor a JTAG bármely JTAGos procit fel tud programozni. (sebesség állítható)
A DEBUG kicsit bonyolultabb, de tök ugyan ez.

sztm
(#) pajti2 válasza pici hozzászólására (») Jún 22, 2012 /
 
Arm-ban nincs valami olyasmi formátum, mint pld az intel .hex? Pic-ek ezt használják. Abban fix címek vannak. Config biteket ismerni a fordító dolga, és fordításkor már eleve azt másolja bele. Az intel hex egy 30+ éves valami. Arm-ban direkt nem csináltak volna ilyesmit, hogy lehessen zsidulni a programozókkal?

Ha csak spi kommunikáció kell, azt bárki össze tud rakni akár egy ftdi chip + pic összekötéssel, és máris lenne egy usbs programozója (és usb-n ott a táp vonal is). Ehhez képest akkor mi kerül 20-30 ezer hufokba?
(#) idlob válasza pajti2 hozzászólására (») Jún 22, 2012 /
 
Idézet:
„Ehhez képest akkor mi kerül 20-30 ezer hufokba?”

Megpróbálok szemléletes lenni. Egy DVD ára néhány 10 forint. Ehhez képest akkor mi kerül 80 ezer Ft.-ba egy dobozos win 7 pro.-n? (A szoftver)
(#) pajti2 válasza idlob hozzászólására (») Jún 22, 2012 /
 
Oké, a nyers arm-ról nem vagyok ennyire képben. Szóval a "nagyon bonyolult" cortex-a szériás processzorok bebootolnak akár egy hulladék soros portról is, de ha egy "sokkal egyszerűbb" processzort akar valaki használni (pre arm11, cortex-m / r), akkor 100 ezer hufos felszerelés kell az égetéshez, és még akkor sem perfect az eredmény, mert valami működni fog, valami meg nem?
(#) _vl_ válasza pajti2 hozzászólására (») Jún 22, 2012 /
 
Idézet:
„Az intel hex egy 30+ éves valami. Arm-ban direkt nem csináltak volna ilyesmit, hogy lehessen zsidulni a programozókkal?”

Rendes rendszerek (platformok, programok) manapság jellemzően ELF formátumot használnak (korábban hasonlóan menő volt még a COFF, de az nagyjából kezd kihalni).
Ez meglehetősen standardnak minősül. Nézd meg pl., hogy egy XC32 (leánykori nevén: gcc) fordítása után milyen formátumú bináris keletkezik, mielőtt abból a .hex legenerálódna...
(#) kRoy hozzászólása Jún 22, 2012 /
 
Az, hogy egy adott kontrollert hogyan programozhatsz fel, kizárólag a gyártón múlik.
Például az NXP minden ARM kontrollere programozható egyszerűen soros portról, sőt egyes tipusok (pl. LPC1343) indíthatók olyan üzemmódban, hogy flash meghajtóként felismeri minden op.rendszer és a .bin fájlt egyszerűen rámásolod. Nyilván debuggolni nem ezzel a módszerrel kell, de a firmware frissítést baromi egyszerűvé teszi.
( amúgy a problémát eredetileg előhozó TI kontroller is bootolható soros portról )
(#) TJ_peti hozzászólása Jún 23, 2012 /
 
Új fejlemény van az AM1705 körül. Kiváncsi voltam, feléled-e a processzor, és a válasz, igen. UART1 BOOT-ra állítottam, és a TXD lábat egy max IC-n keresztül a soros portra kötve, a "BOOTME" üzenet megjelenik minden RESET-nél. Ezek szerint tehát a bootloader működik, nincs baj a tápokkal sem, Egyedül valami gond a JTAG körül lehet.
Amit még megfigyeltem, hogy teljesen más kódokat küld a proci a TDO lábon más TAP beállításoknal, viszont a H-JTAG mindig ugyan azt a 0x000000f kódot olvassa.

Gyanítom, hogy a H-JTAG körül lehet valami hiba, szerintem a TAP beállítások, de az is lehet, hogy nem tudja kiolvasni ennek a procinak az ID-ét.
Ismer valaki esetleg valami más windowsos alkalmazást a H-JTAG-en kívül, amivel próbálkozhatnék?
(#) pajti2 válasza TJ_peti hozzászólására (») Jún 23, 2012 /
 
Tegyük fel binárist gyártasz a procinak, és bebootolod soros portról. Még talán egy usb bootloader is fel tudsz írni a flashbe "belülről". Teljes siker esetén segítene ez bármit abban, hogy a jtag-ja nem válaszol?
(#) _vl_ válasza TJ_peti hozzászólására (») Jún 23, 2012 /
 
Nem próbáltam, de fogom: OpenOCD Ha mindenáron Windows-ozni akarsz...
(#) kRoy válasza TJ_peti hozzászólására (») Jún 23, 2012 /
 
Na, örülök neki. Most legalább szűkítetted a lehetséges problémák számát.
(#) Gory válasza TJ_peti hozzászólására (») Jún 24, 2012 /
 
Nem olvastam végig a témát, de nem lehet hogy csak simán elkötöttél valamit a JTAG bekötésénél? Minden lábat bekötöttél amit kell?
(#) TJ_peti válasza pajti2 hozzászólására (») Jún 24, 2012 /
 
Köszönök minden segítséget!

"Teljes siker esetén segítene ez bármit abban, hogy a jtag-ja nem válaszol?"

Nem hinném, hogy segítene, de mindenképp előrelépés, hogy tudom, hogy nem hardveres a hiba, hanem mostmár a szoftverek körül keresgélek.

És meg is lett az eredménye, az OpenOCD egyből felismerte a procit, automatikusan beállíította a TAP-okat és végre jó DEVICE ID-t olvasott ki!

Kicsit nehezen boldogulok még ezzel az OpenOCD-s környezettel. Sikerült a Hyperterminálon körösztül kapcsolatot létesíteni vele, de a parancsokat egyenlőre még nem ismerte fel.

Egyenlőre a kérdésem az lenne, hogy mikrokontroller égetéséhez hasonlóan, itt is egy .hex fájt generálok az IAR-al, és azt égetem be a FLASH-be az OpenOCD-vel?
(#) kapu48 válasza TJ_peti hozzászólására (») Jún 24, 2012 /
 
Inkább bináris kódot kapsz! Legalább is ez a default beállítás.
Még én is nagyon kezdő vagyok de, talán ez segit:
Lecture 2 ? Bootloader.pdf : http://www.csie.nctu.edu.tw/~wjtsai/EmbeddedSystemDesign/Ch2-bootloader.pdf
Következő: »»   11 / 177
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem