NutOS TCP/IP bootloader MMnet01

2010-11-07 19:44 | Categories: Užrašai

Prisireikė MMnet01 moduliui (atmega128, RTL8019 ir 64k RAM) turėti bootloaderi kuris veiktų per tinklą. Kaip dažnai būna tinkamų sprendimų internete neradau. Teko rašyti savo. Jei atvirai – pradžia kažkieno buvo, tačiau originalas neveikė.

Deja neberandu iš kur parsisiunčiau, o pačiame kode nepaminėta. Kolkas source nerodysiu (paremtas pagaliais), tačiau hex  failą galima atsisųsti.

Trumpai, kaip paleisti:

  • Paleisti TFTP serverį adresu 192.168.0.103. Tam labai gerai tinka šis FTFP/DHCP serveris.
  • Sukonfigūruoti šį serverį, kad šakniniame kataloge būtų firmware.bin failas.
  • Programuojant reikia pakeisti fuses, tai galima padaryti:
    avrdude -c stk500v2 -p m128 -P com5 -u -y -U hfuse:w:0x80:m -U flash:w:boot.hex
  • Šiokią tokią informaciją kas vyksta galima pamatyti UART1 porte 19200bps greičiu.
  • Jei bootloaderis randa nustatytą failą TFTP serveryje, jį ir įrašo į savo flash atmintį. Įrašęs arba neradęs peršoka į programos pradžią.

Įrankiai, kurių prireiks rašant savo programas

Papildomi įrankiai

  • AvrLIB bin, src (lokalios kopijos bin, src) – retai kada galima parsisiųsti, deja šiuo metu neturiu atsisiuntęs.
  • AvrLibC (lokali kopija)

Naudingos Avrdude komandos

  • burnflash
    avrdude -c stk500v2 -p m128 -P com5 -e -U flash:w:firmware.hex
  • burn flash and increment erase counter
    avrdude -c stk500v2 -p m128 -P com5 -e -y -U flash:w:firmware.hex
  • erase eeprom
    avrdude -c stk500v2 -p m128 -P com5 -u -U eeprom:w:blank_eeprom.hex
  • get fuses
    avrdude -c stk500v2 -p m128 -P com5 -U efuse:r:_efuse.txt:b
    -U lfuse:r:_lfuse.txt:b
    -U hfuse:r:_hfuse.txt:b
    -U signature:r:_signature.txt:b
    -U lock:r:_lock.txt:b
  • lock chip
    avrdude -c stk500v2 -p m128 -P com5 -u -U lock:w:0x00:m
  • readflash and eeprom
    avrdude -c stk500v2 -p m128 -P com5 -U flash:r:flash.hex:i -U eeprom:r:eeprom.hex:i
  • set erase cycles = 0
    avrdude -c stk500v2 -p m128 -P com5 -u -Y 0
  1. Julius
    2010-11-09 08:22

    Viskas skamba kaip kinieciu kalba :D

You must be logged in to post a comment.
TOP