Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Третий месяц пользуюсь. Как раз в CVAVR. COM порт программный - это значит можно на любые выводы повесить. Сбоеы не обнаружено+++

Отправлено dshabrov (84.21.231.242) 09 июня 2010, г. 13:17
В ответ на: В продолжении темы бутлоадера. Нужен рабочий bootloader для ATmega88 (ATmega168) на СОМ-порт. Можно ли потом будет заливать прошивку через CodeVisionAVR? Если нет, то каким образом заливать флеш через бутлоадер? отправлено mkru 09 июня 2010, г. 10:34

Если интересно - пишите на почту. Вышлю.

Консольный бутлоадер. Ничего лишнего. Имеется графическая оболочка, но она вызввает консоль.
Бутлоадер прозрачен, т.е. по сбросу запускается основная программа с адреса 0.
Бутлоадер запускается тогда, когда сначала запускается консоль. Консоль начинает
ждать в указаном COM порте ответ от бутлоадера. Запустив консоль, нужно сбросить контроллер.
Тогда консоль свяжется с бутлоадером и начнется программирование.

Если нужна перекомпиляция:
1. Открываем проект а AVRStudio
2. В файле BOOTLOAD.ASM правим строки:

.equ STX_PORT = PORTD |
.equ STX_DDR = DDRD | - для TXD прописываем порт и номер пина
.equ STX = PD1 |



.equ SRX_PIN = PIND |
.equ SRX_PORT = PORTD | - для RXD прописываем порт и номер пина
.equ SRX = PD0 |

3. Компилируем. Шьем полученый HEX, устанавливая фьюзы в 0 bootrst, bootsz0, bootsz1.

Если перекомпиляция не нужна, то берем в директории HostSide нужный hex - файл и шьем его, устанавливая фьюзы в 0 bootrst, bootsz0, bootsz1.

Далее в директории PCSide запускаем батник FBOOT.BAT с текстом:

fboot17.exe -b38400 -c2 -pLCD_INT.hex -vLCD_INT.hex

где

-b38400 - битрейт

-c2 - номер сом - порта

-pLCD_INT.hex - файл для программирования

-vLCD_INT.hex - файл для проверки

Запускается программа fboot17.exe. Далее надо нажать RESET контроллера.

Отчет выглядит так:

D:\8051\AVR\bootloader\PCSide\fboot17.exe -b57600 -c2 -pLCD_INT.hex -vLCD_INT.hex
COM 2 at 38400 Baud: Connected
Bootloader V2.1
Target: 1E9702 ATmega128L
Buffer: 1024 Byte
Size available: 130048 Byte
Program LCD_INT.hex: 00000 - 02271 successful
Verify LCD_INT.hex: 00000 - 02271 successful
CRC: o.k.
Elapsed time: 5.71 seconds

Если контроллер не опознан (Target: 1E9702 ATmega128L, хотя это и не обязательно), то ручками правим файл FBOOT17.DEF:

прописываем сигнатуру в виде:

1e9702 : ATmega128L

Сигнатура выводится программой в любом случае.

http://www.societyofrobots.com/bootloader_50_robot.shtml



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 63:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru