Blame | Last modification | View Log | Download | RSS feed | ?url?
history:
14.09.09: lvd
initial release
=======================================================================================
×òî äîëæåí è íå äîëæåí äåëàòü áóò-çàãðóç÷èê: ñïèñîê òðåáîâàíèé è ïîæåëàíèé
I. äëÿ ÷åãî ïðåäíàçíà÷àåòñÿ áóò-çàãðóç÷èê â atmeg'e?
Äëÿ âîçìîæíîñòè àïäåéòà îñíîâíîé ïðîøèâêè àòìåãè áåç ïðèìåíåíèÿ ïðîãðàììàòîðà.
II. îñíîâíûå òðåáîâàíèÿ.
1. Áóò-çàãðóç÷èê äîëæåí áûòü ïðîçðà÷åí ïî îòíîøåíèþ ê îñíîâíîé ïðîãðàììå. Äðóãèìè ñëîâàìè, îñíîâíàÿ
ïðîãðàììà ïèøåòñÿ òàê, ÷òîáû îíà ðàáîòàëà áåç çàãðóç÷èêà, à çàãðóç÷èê - òàê, ÷òîáû îñíîâíàÿ ïðîãðàììà
ïðîäîëæàëà êîððåêòíî ðàáîòàòü è ñ íèì (ïðè ýòîì ñóùåñòâóåò î÷åâèäíîå îãðàíè÷åíèå: äëèíà îñíîâíîé
ïðîãðàììû - 120êÁ).
2. Áóò-çàãðóç÷èê äîëæåí àïäåéòèòü ïðîãðàììó àòìåãè ÷åðåç COM-ïîðò (îáÿçàòåëüíî),
à òàêæå ñ÷èòûâàÿ ïðîøèâêó àòìåãè ñ SD-êàðòû (îïöèîíàëüíî) è óìåòü ïåðåøèâàòü ÏÇÓ ñïåêòðóìà, áåðÿ ïðîøèâêè
èç äâóõ âûøåóêàçàííûõ èñòî÷íèêîâ (îïöèîíàëüíî).
 îáîèõ ñëó÷àÿõ ôàéë äëÿ àïäåéòà äîëæåí èìåòü îáùåïðèíÿòóþ ñòðóêòóðó, à äëÿ çàëèâêè íå äîëæíî èñïîëüçîâàòñÿ
ïëàòôîðìî-çàâèñèìîå ÏÎ. Îïòèìàëüíûì ìíå êàæåòñÿ âàðèàíò ihex'à (âûõëîï ëþáîãî äåâñîôòà ïîä àòìåãó), à äëÿ
çàëèâêè ñàìîå ïðîñòîå - èñïîëüçîâàòü ëþáóþ òåðìèíàëêó, èëè äàæå copy file.hex COM1: Ìîæíî ñäåëàòü
âèíäîñîôòèíó ñ êíîïêîé "ÕÀ×Þ!", íî ëèøü êàê äîïîëíåíèå ê èçëîæåííûì òðåáîâàíèÿì. Òàêàÿ ñîôòèíà äîëæíà èç ñåáÿ
ïðåäñòàâëÿòü âíóòðè òó æå òåðìèíàëêó, òîëüêî ñ àâòîìàòè÷åñêîé çàëèâêîé.
3. Äëÿ çàãðóçêè ôàéëîâ ñ SD-êàðòû, à òàêæå äëÿ ïåðåøèâêè ÏÇÓ ñïåêòðóìà, çàãðóç÷èê äîëæåí çàãðóçèòü â ÔÏÃÀ
ñâîþ ñïåöèàëüíóþ ïðîøèâêó, ïðåäíàçíà÷åííóþ òîëüêî äëÿ âûøåóêàçàííîãî. Ýòà ñïåöéèàëüíàÿ ïðîøèâêà çàíèìàåò äîøèøà ìåñòà
(5-6 êèëî), çàïàêîâàííàÿ, òàê ÷òî ïîòîìó è îïöèîíàëüíî.
4. Çàãðóç÷èê äîëæåí â ïðîöåññå ñâîåé ðàáîòû èíèöèàëèçèðîâàòü àáñîëþòíûé ìèíèìóì îáîðóäîâàíèÿ, íàïðèìåð,
èíèöèàëèçèðîâàòü òîëüêî òðåáóåìûå äëÿ åãî ðàáîòû ïèíû, òàéìåðû, êîììóíèêàöèîííûå èíòåðôåéñû. Ïðè ýòîì
äîïóñòèìî ïîëàãàòü, ÷òî çàãðóç÷èê íà÷èíàåò ñâîþ ðàáîòó èñêëþ÷èòåëüíî èç reset'à.
5. Çàãðóç÷èê äîëæåí çàïóñêàòü îñíîâíóþ ïðîøèâêó òîæå ÷åðåç ðåñåò.  äîïîëíåíèå ê òðåáîâàíèþ ïðîçðà÷íîñòè
ýòî âëå÷¸ò çà ñîáîé ñëåäóþùèé ìåõàíèçì: çàãðóç÷èê ïðîâåðÿåò òèï ðåñåòà, åñëè ýòî áûë watchdog-ðåñåò, òî
áåçóñëîâíûé çàïóñê îñíîâíîé ïðîøèâêè. Åñëè ëþáîé äðóãîé - òî ïðîâåðêà íåîáõîäèìîñòè çàïóñêà çàãðóç÷èêà,
â ñëó÷àå îòñóòñòâèÿ - çàïóñê îñíîâíîé ïðîøèâêè. Òàêèì îáðàçîì, ïåðåõîä íà îñíîâíóþ ïðîøèâêó îñóùåñòâëÿåòñÿ ÷åðåç
watchdog-ðåñåò.
6. Ñëåäóåò ó÷èòûâàòü õàðàêòåð ïèòàíèÿ ïëàòû îò ÀÒÕ-áëîêà, à èìåííî, ÷òî ïðè ðåñåòå àòìåãè îòêëþ÷àåòñÿ
îñíîâíîå ïèòàíèå ïëàòû, à çàïèòàííîé îñòà¸òñÿ ëèøü àòìåãà ñ êîì-ïîðòîì è ÷àñèêàìè. Ëèøíèé ðàç ä¸ðãàòü
ïèòàíèå ïëàòû íå ñòîèò, îòêóäà ñëåäóåò âûâîä, ÷òî ïûòàòüñÿ ïåðåøèòüñÿ èç ÑÄ-êàðòû çàãðóç÷èê äîëæåí ëèøü
â ñëó÷àå, åñëè ýòîãî ðåàëüíî õî÷åò þçåð. Èíà÷å ïðè êàæäîì ñáðîñå ïîèìååì äâîéíîé ïåðåä¸ðã ïèòàíèÿ ïëàòû...
7. âûïîëíåíèå ôóíêöèè çàãðóç÷èêà äîëæíî íà÷èíàòüñÿ, ëèøü åñëè ýòîãî ðåàëüíî õî÷åò þçåð, à íå ïî æåëàíèþ
åãî ëåâîé ïÿòêè. Íàïðèìåð, íå ñ÷èòàþ íåîáõîäèìûì èìåòü ïóíêò çàïóñêà çàãðóç÷èêà â OSD-ìåíþ îñíîâíîé ïðîãðàììû.
Ïåðåøèâàþòñÿ íå êàæäûé äåíü, ïîòîìó òðåáîâàíèå çàïóñêà äîëæíî áûòü, íàïðèìåð òàêîå: íàæàòü è óäåðæèâàòü
soft-reset ïðè ïîäà÷å hard-reset'à (èëè ïîâåðîíå).
äîáàâëåíèÿ...
1. âîçìîæíî ïîëó÷øå ïàêîâàòü ôàéë ïðîøèâêè äëÿ ôïãà, åñëè èñïîëüçîâàòü ïîä ýòî íå 2êèëî, à áîëüøå.
Åñëè "áîëüøå"<4096, òî íàñòàíåò æóòêèé ãåìîððîé ïî çàöèêëèâàíèþ óêçààòåëåé, ïîòîìó "áîëüøå"=4096.
Òàê êàê áóòëîàäåð ïèøåòñÿ íà àññåìáëåðå, òî ýòî íå äîëæíî ñîñòàâèòü îñîáîé ïðîáëåìû. Ãëàâíîå,
äåïàêåð íå ñ ñåé ïåðåïèñûâàòü, à âçÿòü z80-êîä ;)