Выкладываю Bootloader для ATmega16

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Выкладываю Bootloader для ATmega16

Сообщение md5sum »

radteh писал(а):но там в угоду габаритов удалена часть отвечающая за отладку
Например так? :))
ИзображениеИзображение

Исходники:
usbasp_bootloader.zip
(109.29 КБ) 269 скачиваний
Про доработки: помимо кнопки сброса я у себя добавил резисторную сборку 100 ом на mosi,miso,sck,reset (PB2) и на них-же защитные диоды 6v1
Вложения
bottom.jpg
Низ платы 39х15
(6.69 КБ) 1463 скачивания
top.jpg
Верх платы 39х15
(9 КБ) 1349 скачиваний
— Не говорите мне что делать и я не скажу куда Вам идти...
Реклама
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Выкладываю Bootloader для ATmega16

Сообщение md5sum »

Вот, что получилось в итоге :)
Изображение
точнее это один из вариантов....
Вложения
usbasp_mini.jpg
(6.93 КБ) 1573 скачивания
— Не говорите мне что делать и я не скажу куда Вам идти...
Реклама
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Re: Выкладываю Bootloader для ATmega16

Сообщение radteh »

Благодарю за исходники. Мой вариант не на столько маленький, просто попытался вписаться в габариты корпуса (получилось 32х60 на выводных компонентах) что-бы смотрелось цивильно. Если я правильно понял ваш исходник, то для включения бутлоадера надо посадить на землю PB2, PB3, PB4, PB5 и всё? Если так то коррекция печатки не потребуется, и ещё на фото вашего варианта не видно перемычки "Slow SCK"?
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Выкладываю Bootloader для ATmega16

Сообщение md5sum »

Если есть возможность - добавьте кнопку сброса. Режим запуска бутлоадера при "посадить на землю" делался для плат которые уже не поменять.

Как включится бутлоадер определяется макросом RESET_COND 1 в bootloaderconfig.h
Если RESET_COND определен, то вход в бутлоадер осуществляется по сбросу, если строку закомментировать то по "посадить на землю"

Перемычка была выкинута, т.к плата изначально делалась для работы с прошивкой avr-doper (stk500), а там программно скорость клоков устанавливается и она используется только для выбора режима usb (cdc или hid). Да и в usbasp прошивке, что-то не нашел - где читается состояние бита PC2 и что-то меняется... похоже перемычка - пережиток прошлого...

Добавлено: нашел, где перемычка читается :), это для софта, который не умеет программно передавать настройки клоков. Я использую avrdude - там программно все передается.
— Не говорите мне что делать и я не скажу куда Вам идти...
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Re: Выкладываю Bootloader для ATmega16

Сообщение radteh »

Я когда изучал прошивку usbasp обратил внимание что перемычка при работе с avrdude в последних версиях не нужна. А учитывая что дудка работает в винде, линуксе и маке, то мне эта перемычка не нужна. В интернете народ пишет что при установленной перемычке скорость прошивки падает не значительно, и что можно просто посадить вывод на корпус.
Реклама
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Выкладываю Bootloader для ATmega16

Сообщение md5sum »

Она нужна только если программа прошивки не умеет устанавливать скорость.

Код: Выделить всё

static uchar prog_sck = USBASP_ISP_SCK_AUTO;
		if ((PINC & (1 << PC3)) == 0) {
			ispSetSCKOption(USBASP_ISP_SCK_8);
		} else {
			ispSetSCKOption(prog_sck);
		}

Код: Выделить всё

	if (option == USBASP_ISP_SCK_AUTO)
		option = USBASP_ISP_SCK_375;
Насчет "незначительно" - 375кГц и 8кГц - вроде разница есть....
Если только их программа по умолчанию не выставляла скорость близкую к 8 :))
— Не говорите мне что делать и я не скажу куда Вам идти...
Реклама
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Выкладываю Bootloader для ATmega16

Сообщение md5sum »

radteh писал(а):и что можно просто посадить вывод на корпус.
Наоборот - оставить в воздухе или подтянуть!
Да и вообще из исходников этот кусок кода можно выкинуть.
— Не говорите мне что делать и я не скажу куда Вам идти...
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Re: Выкладываю Bootloader для ATmega16

Сообщение radteh »

Для начала соберу на оригинальной версии, а потом начну чистить код. Эх, зря только микровыключатели покупал.
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Выкладываю Bootloader для ATmega16

Сообщение md5sum »

radteh писал(а):Эх, зря только микровыключатели покупал.
Если уж купил, то поставь..
Потом можно будет прошивку доработать и какую-либо полезную фичу к нему прикрутить.
Например перевод из режима программатора в режим конвертора USB-SPI
— Не говорите мне что делать и я не скажу куда Вам идти...
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Re: Выкладываю Bootloader для ATmega16

Сообщение radteh »

Этот выключатель из-за кнопки некуда притулить, места мало :( . Ну и шут с ним, если понравится что получиться, то возможно в другом варианте реализую.
Вар.1Изображение Вар.2Изображение
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Выкладываю Bootloader для ATmega16

Сообщение md5sum »

radteh писал(а):места мало
Места достаточно.. Можно попробовать его поставить и прицепить к любой ближайшей ноге :)
Была-б плата в diptrace - помог-бы подвигать :))
— Не говорите мне что делать и я не скажу куда Вам идти...
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Re: Выкладываю Bootloader для ATmega16

Сообщение radteh »

Всё, заработало :) . Скомпилировал не внося изменений в код (мега8, 12МГц кварц, вход в лоадер по reset). md5sum ещё раз спасибо. Зря я переключатель не стал ставить, теперь только дудкой можно шить медленные кристаллы.
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Выкладываю Bootloader для ATmega16

Сообщение md5sum »

radteh писал(а):Зря я переключатель не стал ставить, теперь только дудкой можно шить медленные кристаллы.
:) на самом деле, можно попробовать "допилить" исходник на предмет:
если МК не отозвался с первой попытки, то попытаться еще раз войти в режим программирования на низкой скорости и если опять неудача, то возвращать прошивальшику ошибку...
Если есть желание пробовать - могу помочь, т.к. самому нет пока нужды медленные МК прошивать :)
— Не говорите мне что делать и я не скажу куда Вам идти...
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Re: Выкладываю Bootloader для ATmega16

Сообщение radteh »

Это не критично, всё равно avrdude кроссплатформенный, а GUI мне особо не нужен. Что касается проблемы, а разве проблема аппаратная? Из медленных пока оказалась tiny13.
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Выкладываю Bootloader для ATmega16

Сообщение md5sum »

radteh писал(а):Что касается проблемы, а разве проблема аппаратная? Из медленных пока оказалась tiny13.
Проблема скорее аппаратная... Видно tiny13 не может работать на скорости "по умолчанию".
При начале прошивки программатор шлет "Programming Enable" и ждет 0x53... Если не дождался, то возвращает ошибку "Целевое устройство не подключено". Но имея на руках исходники, никто не мешает дописать программу программатора :) так, чтобы при первой ошибке просто выставить флаг, уменьшить скорость (на ту, которая перемычкой выставлялась или ниже) и попробовать второй раз войти в режим программирования. И если вошли, то продолжать работу с МК на пониженной скорости. Это позволит всем повторяющим устройство выкинуть перемычку и делать программатор боле компактным.
— Не говорите мне что делать и я не скажу куда Вам идти...
Аватара пользователя
md5sum
Вымогатель припоя
Сообщения: 672
Зарегистрирован: Вт окт 27, 2009 22:39:19
Откуда: Москва

Re: Выкладываю Bootloader для ATmega16

Сообщение md5sum »

Самому идея понравилась... займусь на досуге.
Правда тинек13 у меня нет, но можно любой МК на такты 128 КГц перевести...
— Не говорите мне что делать и я не скажу куда Вам идти...
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Re: Выкладываю Bootloader для ATmega16

Сообщение radteh »

Проверить прошивку на совместимость с tiny13, mega8 и mega48 я могу. Предлагаю перенести доработку прошивки usbasp в отдельную ветку. Продолжение по модификации usbasp будет здесь: http://radiokot.ru/forum/viewtopic.php? ... &start=240
Аватара пользователя
Avarges
Вымогатель припоя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50
Контактная информация:

Re: Выкладываю Bootloader для ATmega16

Сообщение Avarges »

У меня сейчас сама плата от USBasp используется как макетная. Разводка под асп, но если хочу заливаю туда что-то другое через бутлоадер и подпаиваюсь к соответствующим ногам.
Аватара пользователя
radteh
Друг Кота
Сообщения: 3087
Зарегистрирован: Пт мар 09, 2007 15:01:52
Откуда: Биробиджан

Re: Выкладываю Bootloader для ATmega16

Сообщение radteh »

Бутлоадер хорошая вещь. Сейчас ещё прошивку самого программатора допилю, а то я не ставил перемычку "Slow SCK".
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»