Rev 89 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?
BOOTLOADER ATMEGA128 äëÿ ZX Evolution------------------------------------------------------------------------------Èñïîëüçîâàíèå~~~~~~~~~~~~~Ìèêðîñõåìó ATMEGA128 çàïðîãðàììèðîâàòü ôàéëîìZXEVO_BL.HEX (íàïð. ñ ïîìîùüþ AVREAL)èëèZXEVO_BL.E2P (ñ ïîìîùüþ PonyProg2000).Êîìàíäíàÿ ñòðîêà äëÿ AVREAL (ByteBlaster íà ïîðòó LPT1):avreal32.exe -ab -p1 +ATMEGA128 -e -w zxevo_bl.hex -f_low=3F,_high=88,_ext=FF,_lock=EF -vÊîìàíäíàÿ ñòðîêà äëÿ óòèëèòû JTAGICE èç êîìïëåêòà AVRStudio4 (JTAGICE íà ïîðòó COM1):jtagice.exe -cCOM1 -B115200 -dATMEGA128 -e -ifzxevo_bl.hex -pf -vf -f883F -F883F -EFF -GFF -lEF -LEFÊîìàíäíàÿ ñòðîêà äëÿ óòèëèòû STK500 èç êîìïëåêòà AVRStudio4 (AVRISPmkII íà USB-ïîðòó):stk500.exe -cUSB -I250000 -dATMEGA128 -e -ifzxevo_bl.hex -pf -vf -f883F -F883F -EFF -GFF -lEF -LEF ôàéëå E2P íóæíûå fuse áèòû óæå óñòàíîâëåíû, ïðîñòî îòêðîéòå ôàéë â PonyProg2000,âûïîëíèòå ñòèðàíèå (Ctrl+E), çàïèñü (Ctrl+W) è çàïèñü áèòîâ (Ctrl+S).Ìåòîäèêà çàãðóçêè(îáíîâëåíèÿ) îñíîâíîé ïðîøèâêè(ôàéë avr\current\default\ZXEVO_FW.BIN)îïèñàíà â äîêóìåíòå docs\ZXEvo_firmware_update.odt .------------------------------------------------------------------------------FPGA\fpga.qpf - ïðîåêò (Quartus v6.1)fpga.qwsmain.dpfmain.qsfmain.v - ãëàâíûé èñõîäíèêmain.rbf - âûõîäíîé ôàéëAVR\boot_evo.asm - ãëàâíûé èñõîäíèê_macros.asmevotitle.ans - ANSI-çàñòàâêàm128def.incversion.txt - íàçâàíèå ïðîøèâêè (äî 12 ñèìâ.)clean.batmake.bat - êîìàíäíûé ôàéë äëÿêîìïèëÿöèè AVR ÷àñòè èñáîðêè ïðîåêòà.zxevo_bl.hex - ñîáðàííûé ïðîåêòzxevo_bl.e2p - ñîáðàííûé ïðîåêò (äëÿ PonyProg2000)Ñáîðêà ïðîåêòà~~~~~~~~~~~~~~1. Êîìïèëèðóåì â Quartus-å FPGA ÷àñòü ïðîåêòà (ïîëó÷àåì ôàéë main.rbf).2. Çàïóñêàåì MAKE.BAT (êîìïèëèðóåì AVR ÷àñòü è ñîáèðàåì ïðî¸êò).Ïðè ñáîðêå èñïîëüçóþòñÿ ñëåäóþùèå ïðîãðàììû:tools\mhmt\mhmt.exetools\bin2avr\bin2avr.exetools\avra\avra.exetools\crcbldr\crcbldr.exe------------------------------------------------------------------------------INFO~~~~- CRC -Boot-áëîê è îñíîâíàÿ ïðîøèâêà çàùèùåíû CRC-16 (CCITT).Âû÷èñëåíèå è çàïèñü â ïðîøèâêó àâòîìàòèçèðîâàíî ñ ïîìîùüþ äîï.óòèëèò.Çíà÷åíèÿ êëàäóòñÿ â ïîñëåäíèå äâà áàéòàäëÿ boot-áëîêà $1FFFE/$1FFFF è äëÿ îñíîâíîé ïðîøèâêè $1DFFE/$1DFFF(ñòàðøèé áàéò ïåðâûé).- Âåðñèè -Âåðñèÿ ïðåäñòàâëÿåò ñîáîé èäåíòèôèêàòîð ïðîøèâêè, êîòîðàÿ ðàñïîëàãàåòñÿâ ïîñëåäíèõ àäðåñàõ boot-áëîêà ($1FFF0-$1FFFD)è îñíîâíîé ïðîøèâêè ($1DFF0-$1DFFD).Ñîñòàâ èäåíòèôèêàòîðà ñëåäóþùèé:+00..+11 - ïðîèçâîëüíàÿ ñèìâîëüíàÿ ñòðîêà, äîáèòàÿ äî äëèíû 12 áàéò íóëÿìè+12..+13 - 16-áèòíàÿ âåëè÷èíà (ìëàäøèé áàéò ïåðâûé),îáîçíà÷àþùàÿ äàòó ðåëèçà äàííîé âåðñèè.Ôîðìàò 16-áèòíîé âåëè÷èíû (áèòû ïðîíóìåðîâàíû íà÷èíàÿ ñ ìëàäøåãî íîìåðîì íîëü)áèò 15 - áèò "îôèöèàëüíîñòè"áèòû 14..09 - ãîä äàòû (8...63), 6 áèòáèòû 08..05 - ìåñÿö äàòû (1..12), 4 áèòàáèòû 04..00 - äåíü äàòû (1..31), 5 áèòÇàïèñü â ïðîøèâêó àâòîìàòèçèðîâàíî ñ ïîìîùüþ äîï.óòèëèò. Ðàçðàáîò÷èêó íóæíîëèøü çàïîëíèòü(èçìåíèòü) ñòðî÷êó â ôàéëå VERSION.TXT ïåðåä êîìïèëÿöèåé.- Fuse Bits -CKOPT=0, CKSEL321=111,CKSEL0=1, SUT10=11Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 msBODEN=0, BODLEVEL=0Brown-out Detector level at 4.0 VBOOTRST=0Âåêòîð ñáðîñà íà boot-áëîêBOOTSZ10=00Ðàçìåð boot-áëîêà 8êáEESAVE=1Ïðè ChipErase ñòèðàòü EEPROMSPIEN=0Ïðîãðàììèðîâàíèå ÷åðåç ISP ðàçðåøåíîJTAGEN=0JTAG ðàçðåø¸íOCDEN=1On-chip Debug çàïðåù¸íM103C=1Ðåæèì ñîâìåñòèìîñòè ñ ATMEGA103 îòêëþ÷åíWDTON=1Watchdog Timer ïî-óìîë÷àíèþ çàïðåù¸íBLB1=10Çàïèñü â îáëàñòü boot-áëîêà êîìàíäîé SPM çàïðåùåíà