west329 0 5 сентября, 2008 Опубликовано 5 сентября, 2008 · Жалоба Столкнулся с одной неприятной проблемой при разработке проекта, собственно и проблемой как то называть не хочется. Время прошивки mega128 по SPI через PONIPROG приближается к 5 минутам :) Как один из вариантов решеня вижу установу в контроллер Boot Loader-а. Остановил выбор на MegaLoad, как наиболее распространнёном и отлаженном. Немного погуглил, почитал форумы, всётаки решил переспросить, и описать свои действия дабы не ставать на грабли. Проект собирал и изходнико под ICC7, указал в файлах mega128, в настройках проект выбрал BootLoader и размер 2kb. Готовый хекс открыл в PONIPROG, программа собственно загрузчик находится с самом конце. Пока ещё не прошивал волнует один вопрос, если я его зашью в контроллер, потом активирую фьюз BOOTRST, и BOOTSZ0-1 -выберу тоже размер 2kb, то этого будет достаточно ? Или нужно ещё правит исполняемы код, написанный на IARе чтоб он знал что ему уже доступно не 128 а на 2кб меньше ? С ув. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergik_vrn 0 5 сентября, 2008 Опубликовано 5 сентября, 2008 · Жалоба Или нужно ещё правит исполняемы код, написанный на IARе чтоб он знал что ему уже доступно не 128 а на 2кб меньше ? Коду программы это все равно, если он помещается в 126К, поскольку бут-сектор находится в конце адресного пространства. Так что если Вы не планируете больше менять программу, можно обойтись. В противном случае, да и просто наиболее правильно было бы, разумеется, исправить линк-файл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
west329 0 5 сентября, 2008 Опубликовано 5 сентября, 2008 · Жалоба Коду программы это все равно, если он помещается в 126К, поскольку бут-сектор находится в конце адресного пространства. Так что если Вы не планируете больше менять программу, можно обойтись. В противном случае, да и просто наиболее правильно было бы, разумеется, исправить линк-файл. Не подскажите где и как это сделать, про линнк файл слышал но ни разу не приходилось его редактировать. По ходу возник ещё один вопрос, если потом ктото после меня захочет прошить контроллер через SPI он сможет затереть бут лодер в конце флеш памяти или несможет ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 140 5 сентября, 2008 Опубликовано 5 сентября, 2008 · Жалоба если потом ктото после меня захочет прошить контроллер через SPI он сможет затереть бут лодер в конце флеш памяти или несможет ?Конечно сможет. Иначе как бы мы загрузчики отлаживали ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
west329 0 5 сентября, 2008 Опубликовано 5 сентября, 2008 · Жалоба Не подскажите может есть ещё какието нюансы, шить бут лодер отказывается как я понял на первом блоке ? :05: . Пробовал уже разные зборки на 1,2,4кб, с автобитрейдом и на фиксированной частоте работы ЮАРТА? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
west329 0 6 сентября, 2008 Опубликовано 6 сентября, 2008 · Жалоба Немного поколдовал , девайсы начал узнавать друг друга но всёравно прошивка не льётся, даже и незнаю где больше искать грабли. Отлогини протокол снифером, может ктото встречал подобное ? конфиги //***************************************************************************** //* BootLoader 4.2 for MegaLoad 4.0 //* //* Devices supported at this time //* ATMega8 //* ATMega16 //* ATMega32 //* ATMega64 //* ATMega128 //* ATMega162 //* ATMega169 //* ATMega8515 //* ATMega8535 //* ATMega48 not tested, please give me feedback! //* ATMega88 //* ATMega168 not tested, please give me feedback! //* ATMega165 not tested, please give me feedback! //* ATMega3250 not tested, please give me feedback! //* ATMega6450 not tested, please give me feedback! //* ATMega168 not tested, please give me feedback! //* ATMega3290 not tested, please give me feedback! //* ATMega6490 not tested, please give me feedback! //* ATMega406 not tested, please give me feedback! //* ATMega640 not tested, please give me feedback! //* ATMega1280 not tested, please give me feedback! //* ATMega2560 not tested, please give me feedback! //* ATMCAN128 not tested, please give me feedback! //* //* Version 4.0 June 2005 //* 1.0 : First Release //* 1.1 : Add auto baud rate, code smaller //* 1.2 : Correct a bug with file larger than 65280 bytes. //* 2.0 : All in one source file that fit in 512 Words //* 3.0 : Add EEprom programming //* Add RS485 half duplex support //* Add LockBit programming //* 3.1 : Correct a problem with interupt vector for M8/16/32/162/8515/8535 //* Change some #define to be more clear //* 3.2 : Add support for M48/M88/M168 //* 4.0 : Change code to work with MegaLoad .NET 4.0 //* Add M165/325x/645x/168/329x/649x/406/640/128x/256x //* 4.1 : Add ATMegaCAN128 //* 4.2 : Some change for M88 tested by [email protected] //* //* [email protected] //***************************************************************************** // // To setup the bootloader for your project you must // remove the comment below to fit with your hardware // recompile it using ICCAVR setup for bootloader // of 512 word for ONLY flash programming // or 1024 word for flash and eeprom programming // //***************************************************************************** // MCU selection // -->Do the same thing in assembly.s<-- //***************************************************************************** //#define MEGATYPE 8 //#define MEGATYPE 16 //#define MEGATYPE 32 //#define MEGATYPE 64 #define MEGATYPE 128 //#define MEGATYPE 162 //#define MEGATYPE 169 //#define MEGATYPE 8515 //#define MEGATYPE 8535 //#define MEGATYPE 2313 //#define MEGATYPE 48 //#define MEGATYPE 88 //#define MEGATYPE 168 //#define MEGATYPE 165 //#define MEGATYPE 3250 //#define MEGATYPE 6450 //#define MEGATYPE 3290 //#define MEGATYPE 6490 //#define MEGATYPE 406 //#define MEGATYPE 640 //#define MEGATYPE 1280 //#define MEGATYPE 2560 //#define MEGATYPE 1128 //(ATMegaCAN128) //***************************************************************************** // Bootload on UART x //***************************************************************************** #define UART 0 //#define UART 1 //***************************************************************************** // BaudRate // If you don't specify the baudrate divisor the bootloader // will automaticaly be in AutoBaudRate mode //***************************************************************************** #define BAUDRATE 7 //***************************************************************************** // Auto OSCCAL // Enable the autocalibration of OSCCAL register (can't be used with autobaud) // //***************************************************************************** //#define AUTOOSCCAL //***************************************************************************** // Crystal speed // frequancy of your MCU speed // LOW -> Xtal < 8Mhz // HIGH -> Xtal >= 8Mhz //***************************************************************************** #define LOW //#define HIGH //***************************************************************************** // EEprom programming // enable EEprom programing via bootloader // YOU MUST SET TO 1024 WORD THE BOOTLOADER SIZE IF EEPROM // PROGRAMMING IS USE //***************************************************************************** //#define EEPROM //***************************************************************************** // LockBit programming // enable LOCKBIT programing via bootloader //***************************************************************************** //#define LOCKBIT //***************************************************************************** // RS485 // if you use RS485 half duplex for bootloader // make the appropriate change for RX/TX transceiver switch //***************************************************************************** //#define RS485DDR DDRB //#define RS485PORT PORTB //#define RS485TXE 0x08 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [code] .text ;********************************************************* ; Place a 1 for the processor you want use ;********************************************************* MEGATYPE8 = 0 MEGATYPE16 = 0 MEGATYPE32 = 0 MEGATYPE64 = 0 MEGATYPE128 = 1 MEGATYPE162 = 0 MEGATYPE169 = 0 MEGATYPE8515 = 0 MEGATYPE8535 = 0 MEGATYPE2313 = 0 MEGATYPE48 = 0 MEGATYPE88 = 0 MEGATYPE168 = 0 MEGATYPE165 = 0 MEGATYPE3250 = 0 MEGATYPE6450 = 0 MEGATYPE3290 = 0 MEGATYPE6490 = 0 MEGATYPE406 = 0 MEGATYPE640 = 0 MEGATYPE1280 = 0 MEGATYPE2560 = 0 MEGATYPE1128 = 0 ;********************************************************* Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NullPointer 0 6 сентября, 2008 Опубликовано 6 сентября, 2008 · Жалоба BOOTSZ выставлен на 2к слов у вас, а bootloader располагаете с 1к от конца flash МК. Ошибка? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
west329 0 6 сентября, 2008 Опубликовано 6 сентября, 2008 · Жалоба Зезультат аналогичный предыдущему, отправляет 0-страницу и вечное ожидание ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NullPointer 0 6 сентября, 2008 Опубликовано 6 сентября, 2008 · Жалоба //* BootLoader 4.2 for MegaLoad 4.0 А у вас MegaLoad версии 7. Где вы такой древний сам bootloader нашли? Обновите до 7.1, и должно все завестись. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
west329 0 6 сентября, 2008 Опубликовано 6 сентября, 2008 · Жалоба //* BootLoader 4.2 for MegaLoad 4.0 А у вас MegaLoad версии 7. Где вы такой древний сам bootloader нашли? Обновите до 7.1, и должно все завестись. 7.1 не нашол а оф. сайте скачал h_ttp://www.microsyl.com скачал BootLoader 7.0, если есть другие источники напишите пожалуйста. пересобрал, результат опять отрицательный, пишет SEND page 0 и всё повторяется опять. Решил проверить прошивку меги и обнаружил что 0 страница прошилась в мегу без ошибок что самое интересное :crying: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mrKirill 1 8 сентября, 2008 Опубликовано 8 сентября, 2008 · Жалоба Вы когда последний раз были на h_ttp://www.microsyl.com ? Там версия bootloader'а 7.1 лежит Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
west329 0 8 сентября, 2008 Опубликовано 8 сентября, 2008 · Жалоба Всем выражаю благодарность за помощью. Всё заработало. Причина как всегда не там где предполагалось :). Какимто образом виндовс рубает ответы с Ком порта, тоесть данные лоадер отправляет, шётся 0 страница а ответ рубает толи виндовс толи файервол пока ещё не выяснил, короче на работе включил всё работает :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться