1

Тема: 13й порт

Заметил, что при запуске программы, на 13 порту проскакивает кратковременный импульс, как с этим бороться?

2

Re: 13й порт

Andrei пишет:

Заметил, что при запуске программы, на 13 порту проскакивает кратковременный импульс, как с этим бороться?

Стандартный загрузчик (bootloader) специально "моргает" 1 раз светодиодом на плате (он как раз на 13м выводе) - это сделано в отладочных целях.
Если такое поведение мешает внешнему устройству, подключенному к 13 выводу, и переключить его на другой вывод невозможно, то есть вариант изменить исходные тексты загрузчика, перекомпилировать и прошить новый загрузчик.
Исходные тексты загрузчиков идут в комплекте с ПО Arduino в папке hardware\bootloaders.

3 (2009-05-31 21:05:44 отредактировано Andrei)

Re: 13й порт

Насколько серьезно можно изменять загрузчик?
Возможна ли ситуация, когда при измененний загрузчика процессор перестанет работать - загружать программы и их выполнять?

И кстати, сколько циклов записи выдержит память процессора?

4

Re: 13й порт

Andrei пишет:

Насколько серьезно можно изменять загрузчик?
Возможна ли ситуация, когда при измененний загрузчика процессор перестанет работать - загружать программы и их выполнять?

Конечно, если мы как-то неправильно изменим загрузчик, допустим ошибки и т.д., а потом зашьем этот неправильный загрузчик, то работать он не будет. Это однако не помешает нам затем зашить правильный загрузчик, и вернуть все в исходное состояние.
Сложность заключается в том, что без дополнительных средств прошивка загрузчика невозможна. Варианты такие:
1. Использовать специализированный программатор вроде такого
2. Сделать программатор на LPT порт: ссылка 1, ссылка 2
3. Т.к. на USB вариантах Freeduino и Arduino есть чип FT232, то можно сделать BitBang программатор
4. Есть еще 2 проекта по созданию программатора из Arduino (не BitBang): ссылка 1, ссылка 2

Варианты 2 и 3 достаточно хорошо документированы, и мне тут добавить нечего. Попробую на днях оба варианта из 4-го пункта, и сообщу что получилось. Заодно выложу загрузчик, который не дергает 13-м выводом при старте.
...у Вас какой вариант Freeduino? (2009, Through-Hole и т.д.)

И кстати, сколько циклов записи выдержит память процессора?

Согласно документации Atmel - 10 тысяч циклов перезаписи

5

Re: 13й порт

У меня Freeduino Through-Hole
Очень приятно, что из-за моего несколько теоритического вопроса вы проделали такую работу.
Но прошивка без дерганья порта действительно пригодится.

6

Re: 13й порт

Итак, во первых, прошу прощения за длительную паузу с ответом.
По сути вопроса: наиболее интересным вариантом ISP программатора на основе Freeduino / Arduino мне видится вот этот: Mega-ISP.
BitBang тоже интересный, но он только для USB вариантов Freeduino, а на Serial варианте не заведется, да и фактически он к Freeduino / Arduino никакого отношения не имеет - фактически это программатор на FT232.
К сожалению, Mega-ISP никакой толковой документации не имеет, поэтому я планирую в ближайшее время выложить кратенькое, но достаточное описание с примерами на головном сайте.
Там же приведу пример модификации и компиляции bootloadr'а.
Если у кого-то уже сейчас есть вопросы, пишите, будем отвечать.