Close

Nahrání bootloaderu do atmega328

Úvodní stránka Fórum Hardware Arduino Nahrání bootloaderu do atmega328

  • Toto téma obsahuje celkem 59 odpovědí. Do diskuze (6 diskutujících) se naposledy zapojil uživatel marcino a poslední změna proběhla před 6 roky a 4 měsíci.
Aktuálně je na stránce zobrazeno 15 příspěvků - 16. až 30. (celkem z 60)
  • Autor
    Příspěvky
  • #7985
    ArduXPP
    Účastník

    Koukal jsem na ten váš obrázek a je tam chyba zapojení. Blbě zapojený krystal.

    #7986
    Vojtěch Vosáhlo
    Účastník

    Teoreticky by to mělo jít přes ser. linku jak je popsáno na několika návodech na internetu ale nikdy jsem to neskoušel. Musím říct že mi to vše vrtá hlavou, měl jsem ůplně stejný problém a řešení se našlo až po pár měsících kdy jsem si koupil USBasp a začal programovat v C 😀 můžete zkusit nějaký návod z internetu a já budu taky testovat. Mimochodem můj „progress“ -> Teď jsem zkoušel s aruinem najít Megu328p, bez krystalu a čehokoliv jiného, ale již programovanou, s přenastavenými fuse na 8mhz internall. Vše fungovalo v pořádku ale když jsem to zkoušel s megou88pa tak nic…
    Zkusím ještě další věci a uvidíme…

    #7987
    ArduXPP
    Účastník

    A ještě jedna věc, i napájení chipu je špatně zapojena. Když to beru z obrázku.

    #7988
    bot
    Účastník

    Jop, toho napájení jsem si teď také všiml. Mám to špatně jen na obrázku, jinak to zapojení je správné.

    Můžu se zeptat jak je špatně zapojený krystal?
    Děkuji.

    #7989
    ArduXPP
    Účastník

    10 a 9 pin je krystal, no a 8 už je gnd .

    #7991
    Vojtěch Vosáhlo
    Účastník

    🙂 teď se sem hrnu abych napsal přesně to stejné, vidím to 10x ale když to nepřepočítám tak si toho stejně nevšimnu. Teď už by to mělo fungovat, doufejme…

    #7992
    bot
    Účastník

    Zapojení na fotce jsem udělal dnes nové (už se tím morduji 3 dny, tak jsem se upočítal :D).

    Teď jsem zapojení opravil, 5x zkontroloval a mělo by být v pořádku, ale výsledek je stejný :(.

    Link na nové zapojení (snad v pořádku): https://postimg.org/image/s431m55an/

    #7994
    Vojtěch Vosáhlo
    Účastník

    Vypadl internet takže dnes už vám asi moc nepomůžu, vypadl nám internet, ale ješté jsem stihl najít zajímavý tutoriál používající jiný firmware. http://3g1l.com/blog-burn-bootloader-blank-atmega328atmega328p-arduino-uno

    #7995
    ArduXPP
    Účastník

    Kondenzátor vyndat , nedávat.

    #7996
    Vojtěch Vosáhlo
    Účastník

    Když jsem viděl ten kondík v tutoriálech byl na resetu arduina, né megy…

    #7997
    posjirka
    Účastník

    o pár vláken před jsem něco podobného řešil:

    Arduino jako ISP programator

    Tak jak jsem to popsal, tak používám porgramování čipů i bootloaderu tak cca 10x ročně a vždy mi funguje.

    #7998
    bot
    Účastník

    Tak jsem zkusil optiloader – hodilo fail (na čipu, který jsem dnes zkoušel), dal jsem tam jiný (ze stejného balení) a asi se to tam nahrálo 😀 (jupííí).

    V monitoru mi to vypsalo tohle:

    ptiLoader Bootstrap programmer.
    2011 by Bill Westfield (WestfW)

    Target power on! …
    Starting Program Mode [OK]

    Reading signature:950F
    Searching for image…
    Found „optiboot_atmega328.hex“ for atmega328P
    Start address at 7E00
    Total bytes read: 502

    Setting fuses for programming
    Lock: 3F ABE000 Low: FF ABA000 High: DE ABA800 Ext: 5 ABA400

    Programming bootloader: 512 bytes at 0x3F00
    Commit Page: 3F00:4C3F00
    Commit Page: 3F40:4C3F40
    Commit Page: 3F80:4C3F80
    Commit Page: 3FC0:4C3FC0

    Restoring normal fuses
    Lock: 2F ABE000

    Target power OFF!

    Type ‚G‘ or hit RESET for next chip

    #7999
    Vojtěch Vosáhlo
    Účastník

    To je super. Kdybych měl tipovat tak ten čip na kterém jste to zkoušel je možná odpálený, kvůli připokení vcc na pin ktystalu, respektive elektronika na zajištění clocku je odpálená. Asi prošel proud přes první pin Xtal1 přes interní resistor na Xtal2 a na zem, to to mohlo zničit. Jinak držím palce při dalších projektech.

    #8001
    bot
    Účastník

    Měl jsem 5 čipů. Když jsem vzal zcela nový čip ani jednou použitý a vypálil bootloader přes arduinoISP, tak to hodilo chybu a když do toho samého čipu zkusím nahrát bootloader pomocí optiloader, tak to vyhodí chybu:

    Target power on! …
    Starting Program Mode – Failed, result = 0x0

    Target power OFF!

    Takže nahrát bootlaoder se mi podařilo pouze na nedotknutý čip a pomocí optiLoaderu.
    Nevím co z toho lze vyvodit, ale možná se to někomu bude hodit.

    Tím mě napadá, že čipy nemusí být poškozené ale například jen špatně nastavené pojistky?
    Lze čip úplně smazat a přehrát?

    Jinak moc všem děkuji za Váš čas a ochotu mi pomoc. Opravdu si toho vážím.

    PS: Odhaduji, že takhle vypálený bootloader přes OptiLoader využívá interní hodiny 8MHz? Lze to nějak upravit, abych mohl použít externí krystal (16MHz)? Ještě jednou díky.

    #8003
    Vojtěch Vosáhlo
    Účastník

    Ano, pojistky (fuses) můžou způsobit to že se do čipu nedostanete ale nejsem si jisý jestli jdou smazat přes arduino ale na to se zítra určitě podívám, je velmi malá pravděpodobnost že by byly čipy poškozené. Někde jsem dokonce četl že ide občas vypálí bootloader i přes vyhození všech chyb, možná můžete zkusit připojit „vadné“ čipy do toho zapojení, a zkusit s němy komunikovat přes sériovou linku a jejich rx a tx. Třeba se poštěstí.
    Podle toho co optiloader vypsal se nastavily pojistky megy na:
    L: FF
    H: DE
    E: 05
    Lock: 3F

    Pokud otevřete avrdudess tak je v pravo možnos na nastavení pojistek, tam kliknete na takový odkaz set fuses a mělo by vyskočit okno prohlížeče. Vyplníte jméno procesoru a dyž sjedete úplně dolů, můžete tam zadat ty hodnoty pojistek co vám vyjely a dát apply values. Když pak vyjedete zpět nahoru měly by všechny možnosti být vyplněné tak jak je nastavený váš procesor a mělo by se dát zjistit na kolik mhz procesor funguje atd. Pokud zjistíte že běží na interních 8mhz, stačí vše poupravit a opět kliknout na apply values, ale pod tím co jste upravoval, ne úplně dole. Když to odkliknete ty hodnoty dole se nastaví podle vašeho nastavení, vy je pak jen přepíšete do avrdudess a dáte write u obou. U lock fuse to nejspíš hodí chybu ale to je normální. U pojistek prakticky není tolik co zkazit, jen to chce dát si pozor na nastavení ISP, kdyby se špatně odkliklo , mohlo by to úplně vypnout isp procesoru a už by jste se do něj nedostal. Zítra kouknu jestli by se daly obnovit ty ostatní procesory a uvidíme.
    Hodně štěstí při dalších projektech.

Aktuálně je na stránce zobrazeno 15 příspěvků - 16. až 30. (celkem z 60)
  • Pro reakci na toto téma se musíte přihlásit.