SergeyA100 0 7 октября, 2009 Опубликовано 7 октября, 2009 (изменено) · Жалоба Зашил бутлоадер в атмегу. По RS-232 передал прогу, она нормально прошилась (читал програматором AVReal), после чего несмотря на установленный фьюз BOOTRST=0 контроллер запускается с 0-го адреса :( Изменено 7 октября, 2009 пользователем SergeyA100 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
legotron 0 7 октября, 2009 Опубликовано 7 октября, 2009 · Жалоба Зашил бутлоадер в атмегу. По RS-232 передал прогу, она нормально прошилась (читал програматором AVReal), после чего несмотря на установленный фьюз BOOTRST=0 контроллер запускается с 0-го адреса :( Что значит запускается с 0-го адреса? Вы под отладчиком смотрели с какого адреса он запускается? Вполне возможно что в бутлоадере стоит джамп на 0-й адрес. Посмотрите логику работы бутлоадера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyA100 0 7 октября, 2009 Опубликовано 7 октября, 2009 · Жалоба Компилирую бутлоадер. Прошиваю его АВРиалом. Прошло. Работает. Читаю из меги в файл. Сохраняю. При старте лоадера конфигурирую порты F и К как выходы, зажигаю все диоды подключенные к меге. При ресете стартует с бутлоадера. Вроде все ОК. После чего по RS-232 заливаю тестовую прогу. Суть ее в том что бы зажечь тоько диоды на порту К. После чего по ресету переход идет на тестовую прогу, по сбросу питания то же. Читаю из меги в файл. Сравниваю - отличий в секции бутлоадера нет. По адресу 1F800 ( размер загрузчика 1 кСлово) команда перехода на начало бутлоадера. BOOTSZ = 2; BOOTRST = 0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
legotron 0 7 октября, 2009 Опубликовано 7 октября, 2009 · Жалоба В чем заключается проблема? Без кода бутлоадера мне тяжело понять логику его работы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyA100 0 7 октября, 2009 Опубликовано 7 октября, 2009 · Жалоба Проект в IARе, после того как лоадер успешно прошил атмегу, после сброса запускуается не лоадер а прошитая программа bootloader.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
legotron 0 7 октября, 2009 Опубликовано 7 октября, 2009 · Жалоба Проект в IARе, после того как лоадер успешно прошил атмегу, после сброса запускуается не лоадер а прошитая программа Посмотрел код лоадера. Действительно лоадер должен висеть на строке: Numb_Byte = read_mesage(); // ждем приема посылки если только вы в это время не отсылаете ему команду: }else if (Buffer[1] == 0xFF ){ // если пришла команда конец файла break; // вылетаем из цикла Я бы посмотрел на то, не пересылаете ли вы что-либо лоадеру уже после загрузки приложения и на то что переменная Buffer не инициализирована, в ней может содержаться мусор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyA100 0 7 октября, 2009 Опубликовано 7 октября, 2009 · Жалоба Погонял в AVRStudio - если шъеш первую страницу - то адрес в команде перехода по вектору прерывания bootrst меняется на 0000 - почему - не понимаю я ту область памяти вообще не трогаю Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
legotron 0 8 октября, 2009 Опубликовано 8 октября, 2009 · Жалоба Погонял в AVRStudio - если шъеш первую страницу - то адрес в команде перехода по вектору прерывания bootrst меняется на 0000 - почему - не понимаю я ту область памяти вообще не трогаю Посмотрите чтобы в AVRStudio была правильно указана область памяти .text (начальный адрес должен быть началом области загрузчика) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться