 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
v.j. Član

Pridružen-a: Pet 13 Feb 2015 9:47 Prispevkov: 1661 Aktiv.: 13.20 Kraj: Veldes
|
Objavljeno: Sob Jan 18, 2025 9:07 am Naslov sporočila: LGT8F328p kot napredni nadomestek ATmega328 |
|
|
Kitajci so naredili svojo verzijo AVR uC, ki naj bi bili kompatibilni z arduino IDE in so lahko nadomestek arduino platkam in klonom teh platk. Še več, na platkah nameščen uC je celo boljši in cenejši od ATmega328 (32MHz, 12bit ADC, 80mA izhodi, ...)
Gre za LGT8F328p ki se pojavlja v več različicah, uC so tako v 32pinski verziji kot v 48 pinski verziji. Platke so lahko z ali brez USB, oziroma vgrajenega USB/UART oziroma USB <-> TTL vmesnika.
Najbolj osnovna platka (brez USB) je nadomestek arduino pro mini, enaka velikost, enak razpored pinov. Programiranje preko UART deluje, vendar s prvim USB <-> TTL ni šlo brez težav.
Na omenjeni platki, ki sem jo kupil tukaj: https://www.aliexpress.com/item/1005007654761676.html
je na uC že naložen blink, očitno tudi bootloader, ker je programiranje preko UART možno.
Pri poskusu programiranja je bil ciljni uC neodziven, zato sem poskusil z ročno metodo... držal sem reset tipko na platki, dokler se na arduino IDE ni pojavilo "Uploading", na ta način je programiranje, oziroma vpis programa uspelo.
Videti je, da je nekaj narobe z avtomatičnim resetom, nisem še gledal kaj je vzrok, ali manjka kondenzator iz DTR na reset ali je ta premajhne kapacitete... zaenkrat me to ne moti in bom to raziskoval kasneje.
LGT8F328p platke, ki imajo USB že vgrajen, npr tale: https://www.aliexpress.com/item/1005004234919226.html
je normalno odzivna na USB, gor je CH340 zato ni potrebe za USB gonilnike, ker jih imamo na PC že nameščene zaradi kitajskih klonov arduino platk.
Seveda je potrebno namestiti ustrezne "boards" v arduino IDE, da se pojavijo v meniju, tako kot je potrebno naložiti boards za npr ESP32
Jaz sem v Aditional Boards Manager URL dodal tole:
https://raw.githubusercontent.com/dbuezas/lgt8fx/master/package_lgt8fx_index.json
Vprašanje ki me muči je, kako za vraga naložit program v uC LGT8F328p preko ISP, za primer, če bootloader ni naložen ali če se ta nekako pokvari, izbriše, ...
Programiranje preko USBasp programatorja ne gre, prav tako v arduino IDE tega programatorja za ta uC ne ponudi. Ponuja mi samo "AVR ISP" in "LGTSWD mkII as ISP" kar pa žal nimam pri roki, za slednje sploh še nisem raziskal kaj točno to je.
Torej, nekaj dni že iščem rešitev, kako programirati LGT8F328p preko ISP konektorja.
Ima kdo že kaj izkušenj s tem uC in/ali s platkami na katerih je ta uC
. _________________ Kontakt na e-mail, za več informacij klikni gumb 'www', na ZS ne odgovarjam!
Ne mi pisat zasebnih sporočil na forumu! NIKOLI ne boste dobili odgovora na ZS !
Če vam moji odgovori niso všeč, nihče vas ne sili, da jih berete! uporabite gumb 'ignore' |
|
Nazaj na vrh |
|
 |
DusanK Član


Pridružen-a: Pon 19 Nov 2012 23:46 Prispevkov: 1971 Aktiv.: 12.88 Kraj: Medvode - med vodami
|
Objavljeno: Sob Jan 18, 2025 10:16 am Naslov sporočila: |
|
|
Čeprav vem, da ravno ne maraš pametovanja CGPT-ja, vseeno objavljam njegov odgovor:
1. Namesti podporo za LGT8F328P:
V Arduino IDE odpri File > Preferences.
V polje za dodatne URL-je za ploščo (Board Manager URLs) dodaj:
https://github.com/LGTMCU/LGT8fx/releases/download/1.0/package_LGT8fx_index.json
Klikni OK in odpri Tools > Board > Boards Manager.
Poišči in namesti LGT8fx Boards.
2. Izberi pravo ploščo in programator:
Pojdi na Tools > Board in izberi ustrezno ploščo (npr. LGT8F328P-LQFP32 ali LGT8F328P DIP).
Pod Tools > Programmer izberi ustreznega (npr. USBasp ali Arduino as ISP).
3. Povezava ISP
ISP konektor na LGT8F328P običajno uporablja standardni AVR ISP pinout:
MISO (Master In Slave Out): Podatki od LGT8F328P do programatorja.
MOSI (Master Out Slave In): Podatki od programatorja do LGT8F328P.
SCK (Serial Clock): Ura za sinhronizacijo.
RESET: Ponastavi mikrokontroler za vstop v način programiranja.
VCC in GND: Napajanje in ozemljitev.
Priključitev:
ISP Pin LGT8F328P Pin Opomba
VCC VCC Napajanje
GND GND Ozemljitev
RESET RESET Reset pin
MOSI MOSI Podatki
MISO MISO Podatki
SCK SCK Ura
4. Programiranje
Poveži programator z računalnikom in LGT8F328P preko ISP konektorja.
V Arduino IDE napiši kodo ali odpri že pripravljeno skico.
Klikni na Tools > Burn Bootloader, če je potrebno naložiti LGT bootloader (opcijsko).
Za nalaganje programa:
Klikni na Sketch > Upload Using Programmer ali uporabi bližnjico Ctrl+Shift+U. _________________ Največji čar - električar |
|
Nazaj na vrh |
|
 |
mateik Član

Pridružen-a: Sob 06 Avg 2022 18:31 Prispevkov: 261 Aktiv.: 7.51 Kraj: Ljubljana
|
|
Nazaj na vrh |
|
 |
v.j. Član

Pridružen-a: Pet 13 Feb 2015 9:47 Prispevkov: 1661 Aktiv.: 13.20 Kraj: Veldes
|
Objavljeno: Sob Jan 18, 2025 11:07 am Naslov sporočila: |
|
|
Ja, DušanK, imaš prav, chat GPT je še slabši od naših politikov, veliko govori in nič uporabnega ne pove. Kot sem že napisal, točke 1, 2 in 3 sem že vse izpolnil, točka 4 mi je popolnoma jasna, le en pomemben podatek manjka, ki ga očitno tudi GPT ne pozna: kateri programator.
To, da moram programator priključit na PC in ISP konektor ciljnega uC je samoumevno
GPT uči krivo vero, saj pod 2. točko predlaga programatorja USB asp ali Arduino as ISP. To sploh ni mogoče, kot sem napisal, arduino IDE na podlagi pravilno izbranega boarda predlaga dva druga programatorja.
GPT je le redko uporaben konstruktivno, večinoma samo bluzi, saj kot vir ne uporablja samo verodostojnih informacij ampak vse kar najde na internetu. OK, za kakšen namig je uporaben, ampak vse prevečkrat je samo izguba časa. Za probat je, če ni uporabnega odgovora, pa iščemo po starem.
Malo sem že iskal v tem smislu kot je Arduino as ISP, lahko tudi LGT8F328 as ISP, nisem še našel, zato sem se obrnil na forum, mogoče ima kdo že izkušnje, ker se je mogoče že s tem in ima že rešitev
Kot vidim, se sploh ne uporablja MISO, MOSI in SCK, ampak SWD in SWC, poleg RST seveda. OK; to bo treba malo naštudirat...
Ne vem zakaj LGT8F328p sploh ima MISO, MOSI, SCK, mogoče iz istega razloga kot AVR, je pa kot kaže možno bootloader naložiti preko Serial Wire Debug, ki je zame zaenkrat še popolna neznanka, samo eno majčkeno malenkost poznam zakaj se to uporablja, to je pa tudi vse, menda se preko tega vidi kje točno je program, kje se je zataknil, ... za debugiranje ...
Programiranje, oziroma vpis programa preko ISP se želim naučiti iz naštetih razlogov (manjka bootloader, pokvarjen bootloader, ...) in seveda za primere, kadar bootloaderja ne potrebujem ali ga ne želim imeti.
Zakaj ne bi želel imeti bootloaderja? ker program štarta takoj, zakasnitev po resetu je manjša, če se ne motim.
. _________________ Kontakt na e-mail, za več informacij klikni gumb 'www', na ZS ne odgovarjam!
Ne mi pisat zasebnih sporočil na forumu! NIKOLI ne boste dobili odgovora na ZS !
Če vam moji odgovori niso všeč, nihče vas ne sili, da jih berete! uporabite gumb 'ignore' |
|
Nazaj na vrh |
|
 |
a.vidmar Član


Pridružen-a: Ned 08 Jul 2007 11:03 Prispevkov: 1159 Aktiv.: 5.31 Kraj: Postojna
|
Objavljeno: Sob Jan 18, 2025 3:22 pm Naslov sporočila: |
|
|
Mogoče ti TOLE pomaga. |
|
Nazaj na vrh |
|
 |
mateik Član

Pridružen-a: Sob 06 Avg 2022 18:31 Prispevkov: 261 Aktiv.: 7.51 Kraj: Ljubljana
|
Objavljeno: Sob Jan 18, 2025 5:36 pm Naslov sporočila: |
|
|
a.vidmar je napisal/a: |
Mogoče ti TOLE pomaga. |
 |
|
Nazaj na vrh |
|
 |
v.j. Član

Pridružen-a: Pet 13 Feb 2015 9:47 Prispevkov: 1661 Aktiv.: 13.20 Kraj: Veldes
|
Objavljeno: Sob Jan 18, 2025 10:41 pm Naslov sporočila: |
|
|
mateik, hvala za predloge ... sem pogledal, najprej sem bil zmeden, ker se omenja arduino uno, larduino uno in LGT, ... prebiral vse mogoče, še najbolj logično mi je bilo potem tole:
https://ceptimus.co.uk/index.php/2022/06/29/lgt8f328p-isp-programming/
sketch od dbuezas ni deloval, so bile napake že pri compilling, ni šlo skozi, ne glede na izbran board: arduino uno ali LGT8F328
Šele pri zelo natančnem branju članka od ceptimus (gornji link) sem dojel, da za izdelavo programatorja rabim LGT8F328 board in ne arduino uno, nano, ...
Uporabim program, ki ga je popravil ceptimus in v ZIP priložil v članku.
OK, probam compilling, gre skozi, to je dobro, nič ne joka, čeprav priznam, da sem delal bolj na slepo in nisem bil prepričan točno kaj delam.
Vzamem platko LGT8F328p Mini EVB https://www.aliexpress.com/item/1005004234919226.html
in probam, zajoka nekaj okoli bufferja, popravim na 250 in potem gre, nanjo vpišem program, gre skozi brez napak, ok, videti je dobro. Buffer popravim nazaj na 64 ...
Hmm, kaj pa sedaj? hja, naredim kabelček, 5 žičk prispajkam direktno na pade platke: 5V, GND, 10, 12, 13 po tabeli in po drugih shemah najdenih na internetu, pinov 7, 8 in 9 za LED nisem uporabil sploh. Na drugi konec žičk stisnem DuPont female connector in jih vtaknem po vrstnem redu v 5 pinsko plastiko.
Na obeh verzijah LGT8F328p platkah je ob strani 5 pinski vrstni red padov za konektor za SWD programiranje: GND, 5V, SWD, RST, SWC
OK, sedaj pa zares, vzamem Mini EVB brez USB in nanjo priklopim pravkar narejen programator, pošljem gor blink... nič, hja, kaj pa sedaj, kot programmer imam na voljo samo LGTSWD mgII as ISP in AVR ISP, nikjer ni Arduino as ISP. Probam prvega, ne dela, probam drugega, dela.
Blink je sedaj naložen na platki, po resetu takoj začne z blinkom, videti je, da bootloaderja ni več. Če je na LGT8F328p naložen bootloader, takoj po resetu LED hitro utripne 2x ali 3x, se ne vidi dobro ker je res hitro. Originalno naložen blink je po 2 utripa zaporedno.
Naložim malo drugačen blink ponovno, dela. OK, zdaj pa probam če res ni bootloaderja gor. Odklopim programator in platko priklopim nazaj na USB<->TTL in pošljem gor blink, ... ni odziva, nič, ok, res nima bootloaderja.
Priklopim nazaj na programator, pošljem gor bootloader, v arduinotu spodaj neka rdeča opozorila, ampak na platki je začel delat dvojni blink, očitno je bootloader sedaj gor. Ponovno priklopim na USB<->TTL in pošljem gor blink, vpis gre normalno ampak kot je že na začetku te teme omenjeno, moram ročno stisnit reset in počakat na "uploading" ... sedaj vpis preko UART deluje normalno, bootloader je bil prej uspešno naložen.
Zaključek:
- programator sem uspešno naredil iz LGT8F328p Mini EVB platke z vgrajenim USB (link zgoraj), dodal sem mu žičke in konektor
- s programatorjem sem poslal program preko SWD na ciljno platko in povozil bootloader
- s programatorjem sem uspešno naložil bootloader ponovno, tako da je ciljna platka spet odzivna na UART programiranje
Ni bilo tako zelo težko, čeprav so informacije na internetu precej konfuzne, zato sem na začetku imel kar nekaj težav, ker je moje znanje na tem področju bolj slabo. V tem trenutku mi še ni popolnoma jasno kaj točno sem naredil, zato bom moje početje sedaj počasi analiziral in si zabeležil, shranil, opisal, ... da bo to (upam) potem še komu prav prišlo.
. _________________ Kontakt na e-mail, za več informacij klikni gumb 'www', na ZS ne odgovarjam!
Ne mi pisat zasebnih sporočil na forumu! NIKOLI ne boste dobili odgovora na ZS !
Če vam moji odgovori niso všeč, nihče vas ne sili, da jih berete! uporabite gumb 'ignore' |
|
Nazaj na vrh |
|
 |
DusanK Član


Pridružen-a: Pon 19 Nov 2012 23:46 Prispevkov: 1971 Aktiv.: 12.88 Kraj: Medvode - med vodami
|
Objavljeno: Sob Jan 18, 2025 10:55 pm Naslov sporočila: |
|
|
Bravo in čestitke za vztrajnost! _________________ Največji čar - električar |
|
Nazaj na vrh |
|
 |
Jaka57 Moderator



Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5819 Aktiv.: 24.57 Kraj: Grosuplje
|
Objavljeno: Pon Jan 20, 2025 5:40 pm Naslov sporočila: |
|
|
Imam jih kakšnih 5 že kakšno leto. Ker so hitrejši od klasike sem enega za probo uporabil za futranje RGB WS2812B. Utripale in svetile so BP.
Vse potrebno sem našel na Github/dbuezas.
V Arduino IDE sem potegnil json iz Dušanove povezave (Github/dbuezas) in programiranje je preko micro USBja steklo brez težav iz prve!
Ni mi čisto jasno kaj je Reber kvačkal, ker se mi enostavno ne ljubi brat njegovih prostih spisov in jih običajno ignoriram. _________________ Lp, Jaka |
|
Nazaj na vrh |
|
 |
v.j. Član

Pridružen-a: Pet 13 Feb 2015 9:47 Prispevkov: 1661 Aktiv.: 13.20 Kraj: Veldes
|
Objavljeno: Pon Jan 20, 2025 5:57 pm Naslov sporočila: |
|
|
Tudi meni je uspelo preko USB (UART) v nekaj minutah.
Bistvo te teme je programiranje brez bootloaderja, ampak ker se ti ne ljubi brat, ne veš za kaj se gre, nič hudega.
Komur bo uspelo uničit ali zbrisat bootloader ali bo želel naložiti program brez bootloaderja za manjšo zakasnitev po resetu, bo rešitev našel v tej temi
Jaka ne obremenjuj se, ti se kar še naprej drži navodil v mojem podpisu.
. _________________ Kontakt na e-mail, za več informacij klikni gumb 'www', na ZS ne odgovarjam!
Ne mi pisat zasebnih sporočil na forumu! NIKOLI ne boste dobili odgovora na ZS !
Če vam moji odgovori niso všeč, nihče vas ne sili, da jih berete! uporabite gumb 'ignore' |
|
Nazaj na vrh |
|
 |
Jaka57 Moderator



Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5819 Aktiv.: 24.57 Kraj: Grosuplje
|
Objavljeno: Pon Jan 20, 2025 10:54 pm Naslov sporočila: |
|
|
Ah Reber, saj se držim in se ogibam tvojega klobasanja, če se le da.
Optiboot bootloader ima samo 256k, če pa zmanjka prostora greš pa na STM serijo in ni nobenega jajcanja okoli bootloaderja.
Drugače pa, ko že toliko trolaš o slovenščini, gre se za to da se kam pride, zakaj gre v tvojih prispevkih, ne bi vedel, ker jih dejanslo berem, kot pravijo, samo počez.
In še to, programiranje preko USBasp gre, saj sem na njega naložil Optiboot bootloader. _________________ Lp, Jaka |
|
Nazaj na vrh |
|
 |
v.j. Član

Pridružen-a: Pet 13 Feb 2015 9:47 Prispevkov: 1661 Aktiv.: 13.20 Kraj: Veldes
|
Objavljeno: Tor Jan 21, 2025 8:45 am Naslov sporočila: |
|
|
Ne glede na to kateri json dodaš v preferences, lahko tudi oba:
https://raw.githubusercontent.com/dbuezas/lgt8fx/master/package_lgt8fx_index.json
https://github.com/LGTMCU/LGT8fx/releases/download/1.0/package_LGT8fx_index.json
najde samo dbuezas verzijo LGT8fx Boards
Jaka57 je napisal/a: |
In še to, programiranje preko USBasp gre, saj sem na njega naložil Optiboot bootloader. |
Če si se že oglasil v to temo, bi bil lahko konstruktiven in ta postopek podrobno opisal. Meni z USBasp ni uspelo naložiti nič, sem zgoraj opisal zakaj ne.
Iz tvojega pisanja je razumeti, da si optiboot bootloader naložil na USBasp
Verjetno si z besedami "na njega" mislil ciljni uC, priključen na USBasp.
Jaka57 je napisal/a: |
Optiboot bootloader ima samo 256k |
Si prepričan da si napisal pravo velikost?
Programiranje brez bootloaderja ni bilo mišljeno zaradi pomanjkanja prostora...
. _________________ Kontakt na e-mail, za več informacij klikni gumb 'www', na ZS ne odgovarjam!
Ne mi pisat zasebnih sporočil na forumu! NIKOLI ne boste dobili odgovora na ZS !
Če vam moji odgovori niso všeč, nihče vas ne sili, da jih berete! uporabite gumb 'ignore' |
|
Nazaj na vrh |
|
 |
Jaka57 Moderator



Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5819 Aktiv.: 24.57 Kraj: Grosuplje
|
Objavljeno: Tor Jan 21, 2025 9:45 am Naslov sporočila: |
|
|
Moja napaka, Optiboot bootloader ima 512 Bytov.
In seveda je bil mišljen controler, v katerega se ta bootloader naloži s pomočjo USBasp, toda ne z Artuino IDE.
Nekatere arduino platke imajo že naložen Opti bootloader, moje imajo vse, saj dobiš pol K več prostora za program.
Zakaj se nisem takoj oglasil v temo, sem napisal zgoraj.
Ko pridem domov in če bom imel voljo, bom napisal kako in s čim (ne Arduino IDE).
Na platki imaš vse potrebne pine za tako programiranje. _________________ Lp, Jaka |
|
Nazaj na vrh |
|
 |
v.j. Član

Pridružen-a: Pet 13 Feb 2015 9:47 Prispevkov: 1661 Aktiv.: 13.20 Kraj: Veldes
|
Objavljeno: Tor Jan 21, 2025 11:05 am Naslov sporočila: |
|
|
Nič hudega za napako, kdor dela, tudi greši.
Za USBasp sem na eni ruski strani našel nekaj informacij, menda je treba USBasp programator na novo flashat, da zna delat z LGT8fx
Najprej sem (kot kaže zmotno) mislil, da bo šlo na enak način kot atmelove AVR preko standardnega ISP (MISO, MOSI, SCK, RST, ...) pa sem se očitno motil. Tako sem mislil, ker so na pinout shemah ti pini vpisani. No, ko sem praktično ugotovil, da ne gre, sem raziskoval naprej in spoznal, da gre za drugačen ISP, ki uporablja SWD in SWC, poleg RST in GND. Seveda je lahko tudi Vcc, če ciljna platka ni na napajanju.
Poleg zgoraj priloženega linka sem našel še tole:
https://wolles-elektronikkiste.de/en/lgt8f328p-lqfp32-boards
No, tako sem USBasp in/ali Arduino as ISP nadomestil z namenskim DIY programatorjem za LGT8fx, ki ima 5 pinov namesto 6. Ja, na platkah so že namenski pini lepo v vrsti, zato sem na novo narejen programator opremil s kablom in priključkom, ki paše direktno tja.
Sedaj imam opcijsko namen narediti še adapter priključek s pogo kontakti P75-E3 v istem vrstnem redu, da samo pritisnem na ustrezne pade na platki. www.google.com/search?q=P75-E2
Mogoče bi bili P75-E3 še nekoliko boljša izbira, vedar teh še nimam na zalogi. Oblika konice je ustrezna za SMT in THT pade, saj je premer konice dovolj velik, da ne gre v luknjo.
Ne potrebujem univerzalnega programatorja za vse, sem z rešitvijo popolnoma zadovoljen. Samo še to moram narediti, da bo platka, ki je v bistvu programator, flashana brez bootloaderja, kot priporoča ceptimus. To bom rešil tako, da bom preprosto naredil še en programator, ki ga bom flashal s tem prvim, ki še ima bootloader. Oba bom potem označil kateri je z in kateri brez bootloaderja.
Če programator nima bootloaderja, ga ne moreš po nesreči flashat s programom, ki je namenjen ciljnemu uC, tako da to vsekakor ima smisel.
. _________________ Kontakt na e-mail, za več informacij klikni gumb 'www', na ZS ne odgovarjam!
Ne mi pisat zasebnih sporočil na forumu! NIKOLI ne boste dobili odgovora na ZS !
Če vam moji odgovori niso všeč, nihče vas ne sili, da jih berete! uporabite gumb 'ignore' |
|
Nazaj na vrh |
|
 |
|
|
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: 491 dni
Powered by phpBB © 2001, 2005 phpBB Group
|