• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Programowanie atmegi wlutowanej w układ
#1
Hej

Mam takie pytanko jeśli mam atmegę np. 328p wlutowaną w płytce (takie powiedzmy uno customowe) to jak na tej płytce wepnę się w piny miso, mosi, sck, reset, gnd, 5V to zaprogramuję mikrokontroler czy raczej konieczne będzie wylutowanie go z płytki bądż zastosowanie gniazda na uC? Wcześniej korzystałem z Nano i do przeprogramowania wyjmowałem go z gniazda gold pin z customowej płytki. Teraz chciałem pójść krok dalej i zrobić tylko minimum potrzebne do działania mikrokontrolera.
 
Odpowiedź
#2
Po to wymyślono ISP, żebyś nie musiał wyciągać uC z płytki. Co byś zrobił, gdyby układ był SMD?

http://mikrokontrolery.blogspot.com/2011...kiego.html
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#3
Jak w uC masz wgrany bootloader to możesz go programować przez UART lub przez ISP (programatorem). Jak nie ma bootloadera to tylko programator. W obu wypadkach nie trzeba wyjmować uC z płytki (Arduino czy własna konstrukcja) jeśli piny danego interfejsu nie są podłączone w sposób wykluczający programowanie. Jak np. SCK masz na płytce zwarty do GND lub VCC na stałe to nie wygenerujesz tu sygnału zegara i nie zaprogramujesz, albo odłączasz ten PIN albo tniesz ścieżkę, albo wyciągasz uC. Tak samo podłączenie na sztywno pinu RST do VCC (bo niby można, zablokuje to RST sprzętowy) lub z wykorzystaniem dużego kondensatora, brak możliwości wykonania resetu zablokuje możliwość programowania - cięcie, odłączenie lub wyjęcie uC. ITP.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#4
Dzięki Wink
 
Odpowiedź
#5
Dobra mam już obcykany ten temat, tylko że pojawia się taki problem że po każdorazowym wgraniu wsadu do mikrokontrolera kasuje mi się pamięć eeprom, bootloader mam wgrany od nano. Co może być przyczyną?
 
Odpowiedź
#6
A jak jest ustawiony EESAVE?
O ile pamiętam, to możesz to sprawdzić w boards.txt
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#7
Takie coś w boards.txt odnośnie nano. Jak to teraz ugryźć?

Kod:
## Arduino Nano w/ ATmega328P
## --------------------------
nano.menu.cpu.atmega328=ATmega328P

nano.menu.cpu.atmega328.upload.maximum_size=30720
nano.menu.cpu.atmega328.upload.maximum_data_size=2048
nano.menu.cpu.atmega328.upload.speed=115200

nano.menu.cpu.atmega328.bootloader.low_fuses=0xFF
nano.menu.cpu.atmega328.bootloader.high_fuses=0xDA
nano.menu.cpu.atmega328.bootloader.extended_fuses=0xFD
nano.menu.cpu.atmega328.bootloader.file=optiboot/optiboot_atmega328.hex

nano.menu.cpu.atmega328.build.mcu=atmega328p
 
Odpowiedź
#8
high_fuses masz ustawione na 0xDA, fabrycznie jest 0xD9.
W obydwu przypadkach eeprom nie jest chroniony.
Jak chcesz to włączyć, to ustaw high_fuses na 0xD2.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#9
Ok dzięki za konkret odpowiedź. A jak są ustawione low i extended standardowo?
 
Odpowiedź
#10
low = 0x62
extended = 0xFF
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości