Поиск по сайту

Результаты поиска по тегам 'bootloader'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Световые эффекты и LED
    • Роботы и модели на ДУ-управлении
    • Автоматика
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Автомобильная электроника
    • Системы охраны и наблюдения. Личная безопасность
    • Питание
    • Электрика
    • Промышленная электроника
    • Ремонт
    • Металлоискатели
    • Измерительная техника
    • Мастерская радиолюбителя
    • Сотовая связь
    • Спутниковое ТВ
    • КВ и УКВ радиосвязь
    • Жучки
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
    • МК для начинающих
    • AVR
    • PIC
    • STM32
    • Arduino и Raspberry Pi
    • ПЛИС
    • Другие микроконтроллеры и семейства
    • Алгоритмы
    • Программаторы и отладочные модули
    • Периферия и внешние устройства
    • Разное
  • Товары и услуги
    • Коммерческие предложения
    • Продам-Отдам, Услуги
    • Куплю
    • Уголок потребителя
    • Вакансии и разовая работа
    • Наши обзоры и тесты
  • Разное
    • Конкурсы сайта с призами
    • Сайт Паяльник и форум
    • Курилка
    • Технический английский (English)
    • Наши проекты для Android и Web
    • FAQ (Архив)
    • Личные блоги
    • Корзина
    • Вопросы с VK
  • ATX->ЛБП Переделки
  • Юмор в youtube Киловольты юмора
  • Надежность и группы продавцов Радиолюбительская доска объявлений exDIY
  • разные темы Переделки

Блоги

Нет результатов для отображения.

Нет результатов для отображения.

Местоположения

  • Пользователи форума

Группа


ICQ


Skype


Интересы


Город


Сфера радиоэлектроники


Оборудование

Найдено 9 результатов

  1. Доброго времени суток. Есть такая задача - дистанционно перешивать девайс. Девайс сделан на атмеге и из внешних интерфейсов имеет только езернет через мост на визнете. Идея состоит в том ,что в основной программе мы получаем прошивку и шьем ее в определенную часть флеша. Потом даем сброс контроллеру, он перегружается в boot, видит какой нибудь флаг перепрошивки (например определенную последовательность байт по определенному адресу) и переливает полученную дистанционно новую прошивку по нулевому уже адресу. Естественно для таких целей запас флеша на контроллере берется в 2 раза больший максимально возможной прошивки (с учетом бутлоадера). Вопросы - 1. Были ли уже где нибудь решения похожих задач чтоб не изобретать велосипед? 2. Если нет и рыть самому -подскажите следующее - прописано что шить сам себя проц может только функциями, расположенными в секции загрузчика. Но в моему случае необходимо шить и из загрузчика и из основной программы. Так как это две разные собственно прошивки - как я могу обратиться из основной программы к функции записи флеша, скомпилированной для загрузчика? Или как решить такого плана задачу по другому?
  2. Всем привет. На руках имеется отладочная плата HC6800EM3 и её необходимо подружить со средой Arduino. На плате установлен микроконтроллер ATmega162 и на него прошит загрузчик, о чем свидетельствует дрыганье контроллером ножкой при сбросе. Только при заливке скетча в контроллер происходит ошибка. Опытным путем установил, что при загрузке данных по UART не происходит сброс микросхемы в загрузчик. На плате установлен преобразователь USB<->UART CH340. Вокруг у него не понятная мне обвязка. Зачем-то вывод DTR(обычно сбрасывающий контроллер перед передачей данных по UART) связан с цепью питания. Объясните пожалуйста, зачем так может быть сделано? И для чего, как вы считаете, может быть нужен джампер ON(в центре схемы) позволяющий переключать вывод Power между VCC и 51(вывод расположен в правой верхней части схемы)?
  3. Всем привет тут пришлось вернуться к давно забытым МК с ядром AVR а точнее ATmega8 оч давно имел с ними дела но не когда не делал ни чего с бутлоадером ... и вот приклинило,для начала : 1-научился работать с командой SPM, чуть позже вообще нашёл удачную процедуру с готовой записью 2- написал тестовое приложение (как программуу) 3-написал бутлоадер ,естественно что у AtmelStudio у ликера опция -Wl,--section-start=.text=0x1800 выставлена и фьюзы в ту область так же для бута Естественно что базовая прога проверена 120 байт работают просто мигают светодиодом (где он понятно из проги) И бут лоадер тоже Скраиваю их в месте по простетскому сначала шью бутлоадер а потом поверх без стирания чипа основную далее если фьюз BOOTRST показывает что всё окей, если его прожеч то стартует бут лоадер ,если нет то основное приложение Кажется все пашет но вот увы ХРЕН ТАМ бут лоадер по окончанию своей отработке не может вызвать основную аппку пробовал : asm("LDI R30,0x00\r\nLDI R31,0x00\r\nIJMP\r\n"); и так пробовал: static void (*StartProg)( void ) = 0x0000; StartProg(); по сути заново запускается бут лоадер ... прикладываю исходник бутлоадера , самого EXE так сказать и HEX документ полной сборки... Логика , экзешника состоит просто в моргании поочередно двумя свето диодами ,а бутлоадера в проверки B3 у PORTD и проверке на удержание его в течении 5 или более сеукунд... Самая главная проблема это втом что из бутлоадера в аппку не как не осуществляется переход, а просто перезапускается бутлоадер... Но вот что интересно если расположит команду перехода в аппку одной из первых, то переход работает .... BootLoader.7z Exe.7z Document.7z
  4. Здравствуйте. У меня имеется arduino nano 3.0. В прошивки я конфигурирую часть портов как выходы и подключаю к ним моторчики через усилители(1-мотор крутится, 0 - стоит). У меня возникла проблема из-за bootloader'а arduino. Во время его работы некоторые моторчики самопроизвольно крутятся. Я так понимаю в это время все пины являются входами без подтяжки и напряжение на них плавает. Как наиболее просто решить данную проблему? Я думаю подключить доп резисторы от выходов к моторам на землю. Может можно как-нибудь быстро скипать bootloader при включении без его перепрошивки?
  5. При разработке одного устройства оказалось необходимо отлаживать его прямо в корпусе. А внешний ISP-разъем предусмотрен не был. Отнимать кучу памяти под загрузчик, который будет использоваться только для отладки - глупо. Причем почти все выводы в устройстве оказались заняты, да и ставить отдельную кнопку специально для входа в загрузчик не всегда удобно, ну и из соображений универсальности, было решено обойтись без внешних элементов, кроме, разумеется, интерфейса. После нескольких неудачных попыток портировать первую версию загрузчика с ATmega8 на ATmega168 выяснилось, что это не так-то просто. Оказалось, что Atmel'ы зачем-то переименовали USART в USART0, переместили его настройки из регистров в память (теперь доступ через in/out невозможен, только st/ld/sts/lds) и сделали кучу других не менее удобных и логичных вещей. Прошивка ведется по USART'у, переход в рабочий режим происходит через заданное время после приема последнего байта. Из соображений минимизации размера и выхода из режима программирования по времени, использовать стандартные прошивальщики не удалось, пришлось писать собственный. В результате запись идет постранично (прошивальщик должен сам делить hex-файл на страницы). Каждая страница записывается независимо. Контроллер реагирует только на два значения принятого байта - 'I' для вывода информации о контроллере (возвращается строка вида PS,',',"m8 ",0x00, где PS - размер страницы, байт) и 'P' для записи страницы. При записи страницы используется LRC-контрольная сумма, в которую входит, помимо посылаемых байтов, размер страницы. Для записи передаются байты 'P' (вход в режим записи), addrH, addrL (адрес страницы), массив данных для записи и контрольный LRC-код (1 байт). При прошивке надо не забыть выставить фузы на минимальный загрузчик, bootreset и частоту. Сколько же я глюков наловил, забыв какой-нибудь из-них. Проверялся загрузчик на контроллерах ATmega8, ATmega8515, ATmega168PA. Прошивальщик написан на CBuilder. Консольный, разумеется. Постарался оптимизировать доступ к нему, то есть прошивку просто запуском программы. Если не может подключиться к COM-порту или прочитать исходный файл - будет выведен диалог выбора. Эти настройки хранятся в файле *.ini, можно в нем поковыряться, а можно просто удалить если что не так. Тема создавалась не только с целью похвастаться выложить загрузчик на случай если кому пригодится, но и попросить, если кому не сложно, проверить правильность работы и возможность портировать на другие контроллеры. Там надо будет в файл redefines.inc добавить описание новых контроллеров. bootloader_firmware.rar bootloader_software.rar
  6. Вопрос банальный: как из бутлоадера перейти в приложение? Написал бутлоадер на AVR Studio (C++) Контроллер Atmega8a Не пойму как мне из бутлоадера попасть в главное приложение. В протусе - все работает... В реале - нет Вариант 1: asm("JMP 0x0000") Не работает, при компиляции пишет - illegal op code for mcu atmega8a Вариант 2: asm("RJMP 0x0000") не ругается но и не работает... Вариант 3: void (* appStart) = 0x0000; void main() { while(ok) { ... }; appStart(); } Работает только в протусе.... Прошил лоадер в контроллер. Запустил, залил приложение, после заливки - прошивку прочитал, сравнил с оригиналом, потом в EEPROM (по адресу 6) сталю байт = 0 (по дефолту та FF), потом ок = 0, и тут должно начатся приложение, но попадпю снова в бутлоадер.... Приложение даже не запускается, потому, что первая строка приложения : eeprom_write_byte(0,0x55); Когда читаю eeprom - то по адресу 0 - стоит 0xFF (пусто).... Кто делал бутлоадер, помогите пожалуйста...
  7. МК авр (допустим 48). Вопрос следующий: может ли этот мк (и вообще аврки) самопрограмироваться?. (под этим словом я понимаю следующее - есть две программы (разные) допустим на сьемных носителях и МК должен своими силами перезаписать свою поограмму.) Я пока для справки интересуюсь)))) но в перспективе хочу немного по эксперементировать. Я слышал, что в мк программу можно зашивать побитово и в нужные нам адреса памяти. А что если программу контролирующую самопрограммирование расположить в неиспользуемой области памяти?
  8. Приветствую Уважаемые форумчане! Возникла проблема при прошивке через IDE, с помощью LPT... Активно моргает светодиод LED13, будто реально обмен, запись происходят, но секунд через 5, выскакивает следующее: avrdude: verification error, first mismatch at byte 0x1c00 0x12 != 0xff avrdude: verification error; content mismatch (Юзаю сигнатуру 0x1e 0x93 0x07, Atmega8A-PU) Если юзать сигнатуру 0x3e 0x93 0x07 (как советовали в теме http://arduino.ru/fo...andmade-arduino) то пишет слкедующее: avrdude: Expected signature for ATMEGA8 is 3E 93 07 При этом акивность светодиода LED13 корректная (при первой сигнатуре of course), если верить мануалу http://robocraft.ru/...rinoManual2.pdf Уважаемые! Чувствую, что проект сдвинулся с мертвой точки и уже приблизился к решению, буквально вот-вот и все, буду иметь на руках живую ардуину, помогите Очень прошу! P.S. Такое ощущение, что кто-то попортил память и записал уже 0x12 вместо положенных по дефолту 0xff, соответственно поверх данного значенрия записать ничего не мождет. Соответственно есть предположение что нужно стереть память МК, чтобьы все заработало. Все естественно ИМХО. А при этом не в хексе 0x1c00 - это 7168, т.е. последняя ячейка логической памяти.. Что-то подозрительно... можно конечно заюзать запасной кристалл, но останавливает то, что есть некоторое подозрение что я мог убить мб кристалл, потому гарантии нет что не убю и второй, ибо в печатке и программаторе, а в IDE и подавно, ничего не менял.
  9. Pickit Не Чует Мк

    Делаю устройство на PIC18F2580. Наконец решил отказаться от внутрисхемного программирования в угоду бутлодеру. Сделал печатку, к которой прикладываю SOIC и PICKITом быстро шью бутлодер. Вот какая нарисовалась проблема: зашил бутлодер, впаял в плату (пока только питание + rx/tx). Бутлодер не работал. Выпаял, попробовал подключить PICKIT - не видит, ругается на Device ID 00000. Вроде и питание 5в (usb) не превышал и не замыкал ничего. "Испортил" два кристалла. Третий не хочу - спросил совета. Как можно воскресить их?