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   91 / 175
(#) csatti2 válasza csabeszq hozzászólására (») Ápr 14, 2017 /
 
DCP-nél javasolt a D+ felhúzása 2MOhmal a VUSB-re, a D- lehúzása a GND-re és a D+, D- összekötése max. 200 Ohm-al. Ebből kiindulva (bár mint írtam ez a másik oldal) megpróbálhatod egy nagy értékű (2MOhm) ellenállással lehúzni, illetve felhúzni a vonalakat. Majd ezután ellenőrizni, hogy még mindig megbízható a kommunikáció.
A másik lehetőség, hogy az USB szabványban foglaltak szerint először végigjátszod az enumerating-ot (addig max. 100mA-t használhatsz a tápból). Ha az sikeres, akkor jobban "megszívhatod" az USB-ot. Ha nem sikeres, akkor valszeg töltőről vagy powerbankból jön a nafta és lekapcsolhatod az USB kommunikációt.
(#) csabeszq válasza csatti2 hozzászólására (») Ápr 14, 2017 /
 
Köszi, kicsit kisebbet, 66k-t tettem be, azzal egyelőre stabil. Ha gond lenne lecserélem 2 mohmra.

Lebegni nem lebeghet, mert iszonyú zajt és fogyasztást csinálhat.

A D- hoszt oldali 15k-ja így 12k-ra csökken. Megy és stabilnak tűnik, viszont a speckót nem tartom.
(#) david10 hozzászólása Ápr 29, 2017 /
 
Sziasztok,
Szeretnék írni egy AT91SAM7S256-os ARM mikrokontrolerre egy olyan programot, ami a PA4-es portot kb. 1 másodpercenként bekapcsolja, majd kikapcsolja, hogy tudjam meg az IC-ről, hogy üzemképes-e vagy sem.
Letöltöttem a Windows 10-et, majd az Atmel Studio-t, rákattintottam a File-->New-->Atmel Project-->GCC C Executable Project-->OK-ra előjött egy lista, de AT91SAM7S256 nincsen köztük.
Valamit lekellene töltsek?
A választ előre is köszönöm!

atmel.png
    
(#) vargham válasza david10 hozzászólására (») Ápr 29, 2017 /
 
Valószínűleg telepíteni kell. Például innen, de ez beépítve is megvan az Atmel Sudioban: Tools / Device pack manager
A hozzászólás módosítva: Ápr 29, 2017
(#) david10 válasza vargham hozzászólására (») Ápr 29, 2017 /
 
Köszönöm a válaszodat!
Megprobáltam beírni AT91SAM7A256-ot, SAM7-et, de se az általad küldött oldalon, se a Device Pack Manager-ben nem találtam meg.
(#) david10 válasza david10 hozzászólására (») Ápr 29, 2017 /
 
Közben találtam ezt.
Letöltöttem az AT91SAM7S-EK, ami egy zip file, de nem tudom, hogy hogyan kell telepíteni.
Probáltam a Device Pack Managerben az Install alatt a Browse Pack File-t, de a Pack Installation failed hibát írja ki.
(#) vargham válasza david10 hozzászólására (») Ápr 29, 2017 /
 
Mi alapján választottad a mikrokontrollert? ARM7 magot használ, ami 1993 és 2001 között volt aktív, azóta nem ajánlott új termékbe. Az Atmelnél 2005-ös a legújabb pdf. Szerintem ez már nincs a támogatott processzorok között.
(#) vargham válasza david10 hozzászólására (») Ápr 29, 2017 /
 
Mert amit találtál, az IAR-hoz vagy Keil-hez van, nem Atmel Sudiohoz.
(#) vargham válasza vargham hozzászólására (») Ápr 29, 2017 /
 
Mondjuk ITT azt írják, hogy in production.
(#) david10 válasza vargham hozzászólására (») Ápr 29, 2017 /
 
Én találtam hozza 2012-es PDF-et is.
Ez egy CarProg klón, ami egy EEPROM/Motorola IC programozó, amiben kezdett lejárni a számláló, kb. még 10 volt hátra, ekkor mivel még sok tapasztalatom nem volt (nem mintha most volna), elküldtem Bukarestbe, ott állítólag újraprogramozták benne az AT91SAM7S256-ot, azután kb. 3-szor használtam, a negyedik bekapcsolásnál a sorozatszámnál ÿÿÿÿÿÿÿÿÿ jelent meg.
Vásároltam egy újjat, kb. 35 dolcsi volt, és a régit megszeretném javítani.
Letörültem az ERASE lábbal róla az adatot, építettem hozza egy LPT portos programozót, a H-JTAG felismeri mint ARM7TDMI, a H-Flasher, meg bővebben felismeri, mint AT91SAM7S256, ráírtam kb. 4 féle programot, mindegyiknél Writing and Verifying 1X OK, de amikor az USB-be bedugom, Unknown device hibaüzenetet kapok. A tápok rendben vannak, a kvarc jó (külső teszterrel megmértem,12MhZ), órajel van, USB dugasz érintkezik, de mégis unknown device.
A hozzászólás módosítva: Ápr 29, 2017
(#) rolandgw válasza david10 hozzászólására (») Ápr 29, 2017 /
 
Nem támogatja a Studio.
Bővebben: Link
(#) david10 válasza david10 hozzászólására (») Ápr 29, 2017 /
 
Azért szeretném egy mintaprogrammal megprobálni, hogy tudjam meg, hogy ez az IC jó-e vagy az AT88SC25616 tartalma sérült meg. (A tünetek sérülésre utalnak, még senki se kapott rá megoldást.)
(#) david10 válasza rolandgw hozzászólására (») Ápr 29, 2017 /
 
Az kár.
Mivel mással lehetne bele mintaprogramot írni? Megprobálom a Keil-t.
(#) kapu48 válasza david10 hozzászólására (») Ápr 29, 2017 /
 
Van a SAM-ba2 nevű IDE!
Én ezt használom:
(#) kapu48 válasza kapu48 hozzászólására (») Ápr 29, 2017 /
 
Rosszul emlékeztem, ez csak soros portos botloader.

Keil-4-el programoztam, valamikor régen.
(#) david10 válasza david10 hozzászólására (») Ápr 30, 2017 /
 
Köszönöm szépen mindenki válaszát!
Letöltöttem a Keil-t, hozzá meg 2 kiegészítőt és sikerült .hex filet fordítani.
Ma felfogom tölteni és megválik, hogy mivel van a baj.
(#) kiborg válasza kiborg hozzászólására (») Máj 13, 2017 /
 
Sziasztok!

A fenti panelt használom.
Rádugva a programozót, fut a program.
Ha adok külső 5V-os tápfeszt a panelnak, akkor nem megy. Ha a programozó +3,3V os vagy a GND lába csatlakoztatva van, akkor elindul.(Elég az egyiket csatlakoztatva hagyni)
Találkoztatok már ilyen hibával? A rajta levő 3,3V-t nem terhelem túl szerintem,mert elég csak a GND-t csatlakoztatni(PC-ről USB GND)
Ha megszakítom az összeköttetést a programozó és a panel között akkor megáll a program. 1 szál vezetéken mi múlik ????


IDE: EmBitz, kicsi és egyszerű.
A hozzászólás módosítva: Máj 13, 2017
(#) csabeszq válasza kiborg hozzászólására (») Máj 15, 2017 /
 
Próbáltad resettel újraindítani, miután leszedted a programozót? Nálam nem szereti a mezei lehúzást, viszont magától programozó nélkül simán megy.
(#) kiborg válasza csabeszq hozzászólására (») Máj 16, 2017 /
 
Persze próbáltam.
Semmi reakció. Ugyanaz, mintha lekapcsolom és visszakapcsolom.
(#) gtk válasza kiborg hozzászólására (») Máj 22, 2017 /
 
BOOT pin-ek allapota ?
(#) SBahadurD válasza kiborg hozzászólására (») Máj 24, 2017 /
 
Jó a külső tápegység? Nem lehet, hogy az egyik vezetéke hibás, és feszültség csak akkor lesz ténylegesen a panelon, amikor a gép is rá van kötve?
(Mondjuk ennek ellentmond az, hogy mindegy, hogy a 3.3V-os, vagy a GND lábat kötör rá...)
(#) cimopata hozzászólása Máj 25, 2017 /
 
Üdv.

Hogyan tudok változókat adott memória címekre rögzíteni? Le szeretnék menteni STM32F030 procin 1-2 áram fesz értéket a flash-be de nem tudom mi a módja az efajta deklarációnak. És utána hogyan olvassam ki onnan.
(#) kapu48 válasza cimopata hozzászólására (») Máj 25, 2017 /
 
Bonyolult a téma!

Ezért talán itt válogass, több módszer közül:
Daten ins Flash speichern mit dem STM32
(#) killbill válasza cimopata hozzászólására (») Máj 25, 2017 /
 
A mentesbe nem mennek bele, mert nem ismerem az STM chip-eket. A visszaolvasasra a legegyszerubb megoldas:

#definne aram (*(unsigned int *)(FLASH_CIM))

FLASH_CIM mondjuk 0x1000 vagy ahova menteni tudod.

Ezek utan ha hivatkozol 'aram'-ra, akkor a FLASH_CIM-en levo 32 bites szamot kapod meg.

Van mas modja is annak, hogy fix cimekre tegyel valtozokat, de ahhoz a linker scriptet kell modositnai (legalabbis gnu toolchain eseten).
(#) csatti2 válasza cimopata hozzászólására (») Máj 26, 2017 /
 
STM32F0-t nem használtam még, de STM32F1-re tudok mintát adni. Az alábbi kód egy pici hack, amivel ki tudom használni a hivatalosan nem elérhető felső 64k flash területét egy amúgy csak 64k-s uC-nek (gondolom olcsóbb volt egy fajtát gyártani és letiltani a felső 64k-t).

Ez a rész a main-ben van. Két tömböt ír ki a flashbe (betűtípusok), ami csak akkor létezik ha a BURNFONT definiált. Ilyenkor a program csak ezt a WriteFlash-t futtatja.
  1. #ifdef BURNFONT
  2. uint32_t BurnData(uint32_t address, uint32_t data, uint16_t datasize)
  3. {
  4.   if (datasize % 2) datasize++;
  5.  
  6.   if ((address % 0x400) == 0) FLASH_ErasePage(address);
  7.   FLASH_ProgramHalfWord(address, datasize);
  8.   address += 2;
  9.   for (uint16_t i = 0; i < datasize / 2; i++)
  10.   {
  11.     if ((address % 0x400) == 0) FLASH_ErasePage(address);
  12.     FLASH_ProgramHalfWord(address, (*(__IO uint16_t*)data));
  13.     address += 2;
  14.     data += 2;
  15.   }
  16.   return address;
  17. }
  18.  
  19. void WriteFlash(void)
  20. {
  21.   uint32_t address = FONT_HIGHADDR;
  22.   uint32_t fontaddress;
  23.  
  24.   FLASH_Unlock();
  25.   FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);
  26.   address = BurnData(address, (uint32_t)defaultfont, sizeof(defaultfont));
  27.   address = BurnData(address, (uint32_t)largefont, sizeof(largefont));
  28.   FLASH_Lock();
  29. }
  30. #else
  31. #define WriteFlash() ((void) 0)
  32. #endif


Itt egy darab a tömbökből:
  1. #define FONT_HIGHADDR  0x08010000
  2. #ifndef BURNFONT
  3. #define defaultfont (FONT_HIGHADDR + 2)
  4. #define largefont ((FONT_HIGHADDR + 4) + (*(__IO uint16_t*)FONT_HIGHADDR))
  5. #else
  6. static const unsigned char defaultfont[] FONT = {
  7.   0x00, 0x20, 0xFF, 0x0D, 0x10, // Data mode, min char, max char, width, height
  8.   0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char
  9.   0x02, 0x00, 0x00, 0xF8, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char !
  10.   0x04, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char "
  11.   0x08, 0x40, 0x02, 0x40, 0x1E, 0xE0, 0x03, 0x58, 0x02, 0x40, 0x1E, 0xC0, 0x03, 0x78, 0x02, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char #
  12. .
  13. .
  14. .
(#) csabeszq hozzászólása Máj 26, 2017 /
 
Neharagudjatok a kérdésért, de milyen IDE-t érdemes használni ARM-ra?

- Eclipse + openocd + gnuarmeclipse pugin -> jó nagy állat, macerás, de többé-kevésbé működik
- Keil 32k-s méret limitáció, a printf trace nem megy, mert nincs semihosting támogatása (vagy nem sikerült belőni)
- Coocox: el sem indult rendesen, már a program feltöltésnél egy bug miatt gondja van
- Mbed: még nem próbáltam, de úgy olvastam, hogy nem minden MCU-t támogat (STM32F103 kellene)

Kihagytam valamit, ami használható lenne?
(#) csatti2 válasza csabeszq hozzászólására (») Máj 26, 2017 /
 
Én EmBitz-t használok. Ingyenes, eléggé pici, de ennek ellenére sokat tud (persze nem egy VisualStudio). Saját gcc-t használ (de támogat egy csomó egyéb fordítót is), ami optimalizáltabb mint a hivatalos.
(#) vargham válasza csabeszq hozzászólására (») Máj 26, 2017 /
 
Az mbed az nem IDE, hanem egy ökoszisztéma. CMSIS RTOS alapú, de barátságos C++ API-val érhetőek el a funkciók. Kicsit olyan, mint az Arduino az AVR-hez, csak egy nagyságrenddel használhatóbbra van megírva.
Pontosítok: Van hozzá IDE is, de az csak böngészőben fut, szerveren fordít, és a Keil compiler-t használja kódméret limit nélkül. Az STM32F103 támogatott. Az online összerakott projectet lehet exportálni különféle offline IDE-kbe. Én EmBitz-el használom F103 és F429 mikrokontrollerekkel.

A CooCox is Eclipse. Mondjak róla többet is? Döglődik a weboldala...

A legjobb Eclipse alapú cucc az az Atollic TrueStudio. Ingyenes kódméret limit nélkül, és lehet debuggolni is. Egyedül az extra debug funkciók fizetősek. Az ST projekt generátora a Cube MX direktben támogatja. Ha nem ismered, akkor nézd meg!

Az EmBitz szuper. Teljesen ingyenes, és nem Eclipse. Egy csomó extra debug szolgáltatás van benne a semihostingtól kezdve a megállítás nélküli variable watch-on át mindenféle. Az mbed projektek támogatják. Tud saját maga is projektet generálni. Használhatod a Cube MX által generált projekteket is, de kézzel kell importálni a forrás fájlokat. Állítólag készül hozzá egy plugin, amivel majd egy az egyben be tudja húzni a TrueStudiohoz generált Cube MX projekteket. A következő verzióban várható.
(#) icserny válasza csabeszq hozzászólására (») Máj 26, 2017 /
 
Létezik egySW3STM32 nevű IDE is (System Workbench for STM32): free IDE on Windows, Linux and OS X.

Nekem még nem volt alkalmam kipróbálni.
(#) vargham válasza icserny hozzászólására (») Máj 26, 2017 /
 
Volt alkalmam kipróbálni. Többször is. De nem volt hajlandó működni. Ez nem jelenti azt, hogy másnak sem, csak azt, hogy nem ajánlom.
Következő: »»   91 / 175
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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