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   138 / 176
(#) kapu48 válasza csatti2 hozzászólására (») Jún 28, 2019 /
 
Látom, hogy mit használsz. Csak nem ismerem ki magam a rendszerben.
Azt sem tudom, mit hól keressek? Még arra sem sikerült rájönnöm milyen IDEt használsz?
Pedig a grafikus részletek tényleg érdekelnek.
(#) csatti2 válasza kapu48 hozzászólására (») Jún 28, 2019 / 1
 
Atollic TrueStudio-t.

A könyvtárszerkezet nem olyan bonyolult.

A libraries-ben van az összes használt külső könyvtár.

A platformban van minden, ami platform specifikus (ARM vagy windows). Ebből neked az ARM érdekes:
root - konfigurációs fájlok
board - HW incializációs kódok és driverek
ugfx - az ugfx library-hez szükséges driverek
control - a tényleges vezérlő logika

Az UI tartalmazza a teljes felhasználói felületet (menü rendszer, egyedi grafikus vezérlők, hang, kezelőszervek, lokalizációk, erőforrások [karakterkészletek, képek, stb.])

A FreeRTOS-ban a heap kezelést megvalósító funkciók találhatóak.

root - közös konfigurációk, segédeszközök, stb.
A hozzászólás módosítva: Jún 28, 2019
(#) kapu48 válasza csatti2 hozzászólására (») Jún 28, 2019 /
 
Akkor ez milyen Atolic?
Mert nekem fent van az STM32-es, de nem ismeri fel.
(#) csatti2 válasza kapu48 hozzászólására (») Jún 28, 2019 /
 
9.3-as

A firmware könyvtárban található a projekt.
(#) tlorincz72 válasza csatti2 hozzászólására (») Jún 28, 2019 /
 
Köszönöm a választ! Most talán még bonyolultabbnak látszik az egész.. Hol találom a toolchain.mak fájlt?
(#) kapu48 válasza csatti2 hozzászólására (») Jún 28, 2019 /
 
Nem boldogulok!
Ez a hiba jelzés:
22:21:05 **** Incremental Build of configuration Debug for project SolderingStation ****
make DEBUG=1 -j2 all
makefile:150: Libraries/ugfx/gfx.mk: No such file or directory
make: *** No rule to make target 'Libraries/ugfx/gfx.mk'. Stop.

22:21:06 Build Finished (took 865ms)

Nekem az ugfx tök üres!

Bocsi, most olvasom mivan bele irva!
A hozzászólás módosítva: Jún 28, 2019
(#) csatti2 válasza tlorincz72 hozzászólására (») Jún 29, 2019 /
 
A projektben láttam (ott a github linken, amit megadtál), hogy ebben a fájlban tárolja a szerző a könyvtár elérhetőségeket.
(#) csatti2 válasza kapu48 hozzászólására (») Jún 29, 2019 /
 
Idézet:
„Bocsi, most olvasom mivan bele irva!”




Sikerült?
(#) kapu48 válasza csatti2 hozzászólására (») Jún 29, 2019 /
 
Igen sikerült, lefordítani!

Most már csak összekellene hoznom az én rendszeremmel.
Hogy lássam is mit produkál.
Ami F407ZET6, sajnos külső RAM még nincsen rajta. Plusz egy TFT LCD SSD1963 vezérlővel.

Köszi, a segítséget!
(#) kapu48 válasza kapu48 hozzászólására (») Jún 29, 2019 /
 
A másik jelölt egy F746IGT Ezen már van + RAM, az LCDt kel még hozzáilleszteni.
(#) csatti2 válasza kapu48 hozzászólására (») Jún 29, 2019 /
 
A projekt nem használ külső RAM-ot.

Egyébként windowsra is le tudod fordítani. Csak válaszd ki a build configurations-nál a Simulator-t célnak.
(#) kapu48 válasza csatti2 hozzászólására (») Jún 29, 2019 /
 
Ez tökéletes! Bár csak az első lapot látom, és nem élnek a gombok.
Tudok valahogyan tovább lépni?

Még nem is tudtam, hogy szimulálni is tud az Atollic.
(#) gtk válasza kapu48 hozzászólására (») Jún 29, 2019 /
 
Szia ! Koszi az infot. Ezzel probalkozom, A4 color format, ezt szeretnem elinditani, de besultem. Nincs egy peldatok erre veletlenul ? Hala s koszonet jar erte Egy rakas idot eltoltottem de valahogy nem fogtam fel. Valamit megjelenit, de nem az amit akarok. Pl fillRect mukodik...

  1. void DMA2D_DrawImage(uint32_t data, uint32_t x, uint32_t y, uint32_t width, uint32_t height)
  2. {
  3.   uint32_t destination = (uint32_t)&tft_ly_1[0][0] + (x + y * TFT_WIDTH) *4; // ?!
  4.  
  5.   DMA2D_HandleTypeDef hdma2d;
  6.   hdma2d.Instance = DMA2D;
  7.  
  8.   hdma2d.Init.Mode = DMA2D_M2M_BLEND;
  9.   hdma2d.Init.ColorMode = DMA2D_OUTPUT_ARGB8888;
  10.   hdma2d.Init.OutputOffset = TFT_WIDTH - width;
  11.  
  12.   // Foreground
  13.   hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA;
  14.   hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_A4;
  15.   hdma2d.LayerCfg[1].InputOffset = 0;
  16.   hdma2d.LayerCfg[1].AlphaInverted = DMA2D_REGULAR_ALPHA;
  17.   hdma2d.LayerCfg[1].InputAlpha = 0xFFFFFFFF;
  18.  
  19.   // Background
  20.   hdma2d.LayerCfg[0].AlphaMode = DMA2D_NO_MODIF_ALPHA;
  21.   hdma2d.LayerCfg[0].InputColorMode = DMA2D_OUTPUT_ARGB8888;
  22.   hdma2d.LayerCfg[0].InputOffset = 0; //TFT_WIDTH - width; // ???
  23.  
  24.  _DMA2D_ExecOperation();
  25.          
  26.   HAL_DMA2D_Init(&hdma2d);
  27.   HAL_DMA2D_ConfigLayer(&hdma2d, 1);
  28.   HAL_DMA2D_ConfigLayer(&hdma2d, 0);
  29.   HAL_DMA2D_BlendingStart(&hdma2d, data, destination, destination, width, height);
  30.   //HAL_DMA2D_PollForTransfer(&hdma2d, 10);
  31.        
  32.          _DMA2D_ExecOperation();
  33. }


Es itt egy '!' karakter, allitolag.

  1. unsigned char excl[] = {
  2.               0x00, 0x00, 0x00,
  3.       0x00, 0x00, 0x00,
  4.       0x00, 0x00, 0x00,
  5.       0x05, 0xF7, 0x00,
  6.       0x05, 0xF7, 0x00,
  7.       0x05, 0xF7, 0x00,
  8.       0x05, 0xF7, 0x00,
  9.       0x05, 0xF7, 0x00,
  10.       0x03, 0xE5, 0x00,
  11.       0x03, 0xE5, 0x00,
  12.       0x02, 0xC3, 0x00,
  13.       0x02, 0xC3, 0x00,
  14.       0x02, 0xC3, 0x00,
  15.       0x00, 0x00, 0x00,
  16.       0x05, 0xF7, 0x00,
  17.       0x00, 0x00, 0x00,
  18.       0x00, 0x00, 0x00,
  19.       0x00, 0x00, 0x00,
  20.       0x00, 0x00, 0x00
  21. };
A hozzászólás módosítva: Jún 29, 2019
(#) gtk válasza csatti2 hozzászólására (») Jún 29, 2019 /
 
Parhuzamos portos TFT-t hasznalok, nincs utasitas, csak kinyomod ra az adatot es kesz. RAM pedig eppen eleg egy 272*480 pix layerra, ennek egy resze waterfall, a tobbi meg menu es egyeb szoveg. FLASHbol kellene szedni a karakterekhez a matrixokat ( pl a kurzor a waterfallhoz igy van megcsinalva, LTDC, layer 1 ) es DMA2D blending-et hasznalni. Egy egyetlen karaketert kitevo epkezlab peldat nem talaltam. Lap aljan a projektrol video. Bővebben: Link

ui: Nalam csak a D1 tartomanyban levo AXI buszos rambol hajlando mukodni az LTDC / DMA2D. Amugy is keves mar a RAM, kellett a DSP-nek, es a tobbi is erre kell majd, ezert valasztanam a fent leirt modszert.
A hozzászólás módosítva: Jún 29, 2019
(#) csatti2 válasza kapu48 hozzászólására (») Jún 29, 2019 /
 
Gombok: 1-5 (piros, fehér, zöld, tool2, tool1), enter, fel-le (ezek fordítva működnek a menüben, olyanra csináltam, ami a forgókapcsolóval természetes volt)

Egyébként ez nem igazi szimuláció. Natív windows kódot fordít a programból. Úgy lett megírva a program, hogy a hardver specifikus kódok helyett teszt kódok fussanak ilyenkor.
A hozzászólás módosítva: Jún 29, 2019
(#) csatti2 válasza gtk hozzászólására (») Jún 29, 2019 /
 
Jó kérdés. Nem programoztam még LTDC-t. Az ábra szerint működnie kellene mindenhonnan.
(#) gtk válasza csatti2 hozzászólására (») Jún 30, 2019 /
 
Nekem nem ment, FLASHbol es AXI buszos RAMbol mukodik az LTDC layer 1,2 es a DMA2D-re egyarant vonatkozik, ahogy tapasztaltam. Van baj ezzel az A4 color moddal is, neten felkutattam. De van az ST foruman is szo rola. Bővebben: Link Nehogy veletlenul valami rendesen mukodjon...
(#) kapu48 válasza gtk hozzászólására (») Jún 30, 2019 /
 
Akkor a linken ajánlott módszerrel sikerült?
(#) gtk válasza kapu48 hozzászólására (») Jún 30, 2019 /
 
Nem, mert a bitforgatashoz mar RAM kell, es ami maradt D2, D3 tartomanyos RAM onnan mar nem hajlando mukodni, vagyis a framebufferbe (D1) a DMA2D nem hoz at semmit. Most olyan megoldast keresek hogy a karaktermatrixot vegye direkt flashbol, barmilyen tomoritessel, akar tomorites nelkul. Nem szeretnek emiatt az A4 formatumbol doktoralni. Unom ezeket... ui: kiprobaltam hogy a framebuffer egy adott cimetol volt a tmp memoria ahova dolgozhatott, na de igy sem ment...
A hozzászólás módosítva: Jún 30, 2019
(#) kapu48 válasza gtk hozzászólására (») Jún 30, 2019 /
 
Bővíteni kel az SRAMot.
(#) gtk hozzászólása Júl 2, 2019 / 1
 
Sziasztok.

A4 color format. Mivel felvetettem a kerdest es egy rakast kinlodtam vele, leirom hogy mire jutottam.
Van a demokodokban mindenfele generalt karaktermatrix. Kibogoztam hogy ez A4 color format ( vagy mi ) A font24.c karaktermatrixnal pl irja hogy : (17 pixels wide). En be is irtam ezt az erteket a DMA2D-hez mint width, kozben rajottem hogy ez bizony a height. Na de akkor mennyi a width ? Mivel van a cuccon optikai enkoder, a width erteket elkezdtem tekerni le/fel, amig meg nem jelent a karakter, debugerrel megneztem hogy mennyi ez a width ertek es leirtam. Eljatszodtam ezt generalt A4 (4bpp)tipusu karaktermatrixxal. A korabban emlitett DMA2D hiba, es a korrekcio amit szoftbol csinaltak alkalmazva. Megjelenik a karakter. Kiderult az is hogy a magassagnak beirt ertek nem szamit, a szellesseg ha rendben van a karakter lathato. Nem tudom az STnek hogy megy vagy hogy nem megy, de minden frissitesnel vagy mas szinu, vagy full filled matrix jelenik meg. Ha az RGB FFFFFF akkor altalaban feher full filld matrix vagy feher karakter jelenik meg. Ha szin van neki beallitva akkor ugyanez csak vagy valamilyen szinu a karakter vagy full filled matrix. Egyelore nem latom hogy hol van a hiba. ( Korabban irtam hogy a DMA2D nem masol a D2 tartomanybol. De masol, csak nem volt jol beallitva a karakter szelessege, es emiatt nem jelent meg semmi a kijelzon.)
A hozzászólás módosítva: Júl 2, 2019
(#) gtk válasza gtk hozzászólására (») Júl 2, 2019 /
 
Megirva HAL nelkul, mukodik.
(#) kapu48 válasza gtk hozzászólására (») Júl 2, 2019 /
 
Láthatnánk kód ide vonatkozó részleteit?

Köszi, az infókat!
(#) gtk válasza kapu48 hozzászólására (») Júl 2, 2019 /
 
Ha kell irj privatban.
(#) kapu48 válasza gtk hozzászólására (») Júl 2, 2019 /
 
Köszönöm!

Ez érdekes megoldásnak tűnik. Még annyira új lehet, biztos még fejleszteni fogják.

Esetleg ha elforgattad az LCDt, vízszintesen? Azért nem stimmeltek a karakter méret adatok.
Ez elégé érdekes, hogy ezt találgatni kel.
(#) gtk válasza kapu48 hozzászólására (») Júl 2, 2019 /
 
Nem forgattam el! Vagyis az X = 480 px, az Y=272 px. Az X lenne a width, nem ? Vegulis relativ... Lehet hogy van aki tudja, es nem kell talalgatni, vagy ki lehet bogozni a demo kodbol, de amiket en neztem azok annyira meg voltak csavarva hogy nem volt turelmem vegigbongeszni. Ugysem kell a sok hulyeseg, csak egy minimalis amire ugy epitem fel a szoveges kijelzest ahogy en akarom. Van a DMA2Dnel jobb, ez sem sikerult nekuk rendesen. Mint az sem hogy adatlapba beirtak a 32k osc labak mukodnek i/o kent. Hat nekem nem mukodnek, emiatt majd panel redesign kell. Szerencsere nem erint fontos funkciokat. A karaktermatrix tomorites nem uj dolog, de nem sikerult nekuk rendesen ezt se implementalni.
A hozzászólás módosítva: Júl 2, 2019
(#) gtk válasza kapu48 hozzászólására (») Júl 2, 2019 /
 
Azt hiszem ez az egesz STemWinLIbrary alapu dolog, de nem 100%. Azt latom hogy vannak valami binarisok is hozza. Ugy hogy ez a grafikus lib nem publikus mint forraskod.
(#) don_peter hozzászólása Júl 10, 2019 /
 
Srácok, tudna esetleg valaki segíteni?
OTM8009A típusú csippel szerelt, 800x480-as TFT LCD kijelzőhöz keresek egy működő és letölthető STM32F407GZT6-os típusú kontrollerre írt dirvert.
Nincs esetleg valakinek elfekvőben?
Vagy esetleg foglalkozott már valaki ezzel a kijelzővel?
Nem akarnám az elejétől megírni, ha már létezik, gyorsítanék rajta.
Előre is köszi.

ui: Majd el felejtettem, hogy Atollic TrueStudio for STM32-t használok és C-ben kódolgatok.
A hozzászólás módosítva: Júl 10, 2019
(#) don_peter válasza Peppe hozzászólására (») Júl 11, 2019 /
 
Ezek megvannak, csak jobb szerettem volna nem én megírni.
Az első kód arduinóra van és C++-ban, azt hanyagolnám.
C-ben próbálkozok és TrueStudio-ban.

Illetve lenne még egy kérdésem.
Az Új STM32CubeMX vajon mikor FSMC-t hozok létre legenerálja valahol a hozzá tartozó IO portokat? Mert a Main() függvényben nem látható, hogy az FSMC miképpen állítja az IO portokat. Fura, régebben berakta.
A hozzászólás módosítva: Júl 11, 2019
Következő: »»   138 / 176
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