Chiploader ошибка при чтении данных из порта

Первая прошивка, ошибки, FAQ

Итак, разобрались со средой разработки, теперь можно загрузить первую прошивку. Можно загрузить пустую прошивку, чтобы просто убедиться, что все драйвера установились и платы вообще прошиваются. Рекомендуется делать это с новой платой, к которой никогда не подключались датчики и модули, чтобы исключить выход платы из строя по вине пользователя.

1. Плата подключается к компьютеру по USB, на ней должны замигать светодиоды. Если этого не произошло:

  • Неисправен USB кабель
  • Неисправен USB порт компьютера
  • Неисправен USB порт Arduino
  • Попробуйте другой компьютер, чтобы исключить часть проблем из списка
  • Попробуйте другую плату (желательно новую), чтобы исключить часть проблем из списка
  • На плате Arduino сгорел входной диод по линии USB из-за короткого замыкания, устроенного пользователем при сборке схемы
  • Плата Arduino сгорела полностью из-за неправильного подключения пользователем внешнего питания или короткого замыкания

2. Компьютер издаст характерный сигнал подключения нового оборудования, а при первом подключении появится окошко “Установка нового оборудования”. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Кабель должен быть data-кабелем, а не “зарядным”
  • Кабель желательно втыкать напрямую в компьютер, а не через USB-хаб
  • Не установлены драйверы Arduino (во время установки IDE или из папки с программой), вернитесь к установке.

3. В списке портов (Arduino IDE/Инструменты/Порт) появится новый порт, обычно COM3. Если этого не произошло:

  • См. предыдущий список неисправностей
  • Некорректно установлен драйвер CH341 из предыдущего урока
  • Если список портов вообще неактивен – драйвер Arduino установлен некорректно, вернитесь к установке
  • Возникла системная ошибка, обратитесь к знакомому компьютерщику

4. Выбираем свою плату. Если это Arduino Nano, выбираем в ИнструментыПлатаArduino Nano. Если другая – выбираем другую. Нажимаем стрелочку в левом верхнем углу (загрузить прошивку). Да, загружаем пустую прошивку.

  • [Только для Arduino Nano] В микроконтроллер китайских нанок зашит “старый” загрузчик, поэтому выбираем ИнструментыПроцессорATmega328p (Old Bootloader). Некоторые китайцы зашивают в свои платы новый загрузчик, поэтому если прошивка не загрузилась (загрузка идёт минуту и вылетает ошибка avrdude: stk500_getsync()) – попробуйте сменить пункт Процессор на ATmega328p

Если появилась надпись “Загрузка завершена” – значит всё в порядке и можно прошивать другие скетчи. В любом случае на вашем пути встретятся другие два варианта событий, происходящих после нажатия на кнопку “Загрузка” – это ошибка компиляции и ошибка загрузки. Вот их давайте рассмотрим более подробно.

Ошибка связи с адаптером elmconfig

Изначально большинство адаптеров поставляется настроенными на скорость работы порта 38400 бит/с. Этой скорости достаточно для чтения и сброса ошибок, но недостаточно для программирования модулей.

Для корректной работы FoCCCus необходимо настроить диагностический адаптер на работу с максимально возможной скоростью. Для ELM327 она обычно составляет 500 Кбит/с, а для ELS27 2 Мбит/с.

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

При скорости меньше 125 кбит/с возможны проблемы в работе, связанные с несоблюдением таймаутов.

По умолчанию в FoCCCus включено автоматическое определение текущей скорости и автоувеличение скорости до максимальной. В виду большого количества различных модификацией адаптеров ELM327 нет возможности учесть все их особенности. Часть адаптеров успешно проходят процедуру определения и увеличения скорости, другие адаптеры могут не работать с автоматическим режимом. Если ваш адаптер не работает в автоматическом режиме, то следует снять галочки определение и увеличения скорости и указать скорость вручную. С адаптером ELS27 в данный момент не работает автоматическое увеличение скорости. В любом случае следует настроить адаптер на максимальную скорость, о то как это сделать следует почитать в руководстве на конкретный адаптер.

Таймаут для FTDI

Если в вашем диагностическом адаптере используется мост FTDI (чаще всего FT232), то вам необходимо выставить в драйверах минимально возможный таймаут — 1мс. Невыполнение этого действия приведет к ошибкам связи при работе программы.

Данные настройки применимы только для адаптеров с чипом FT232, на других адаптерах с чипами CP2102 и PL2303 таймаут не настраивается.

Необходимо зайти в Диспетчер устройств -> Найти COM-порт вашего адаптера -> В свойствах найти дополнительные параметры порта -> И выставить минимальное значение для "Время ожидания". Также рекомендуется уменьшить значение буферов до минимально возможных.

Ошибка связи с адаптером elmconfig

Настройка адаптера для работы с MS-CAN

Для работы с модулями расположенными на MS-CAN шине ваш ELM327 нужно модифицировать соответствующим образом, а также настроить некоторые параметры.

Об этом читайте следующую инструкцию

Счастливым обладателям ELS27 настраивать и переделывать ничего не нужно, ваш адаптер может сразу работать с MS-CAN.

Чиплоадер – надежный помощник в работе с современными прошивками

На современном рынке можно найти массу утилит для чип-тюнинга автомобиля. Однако не все прошивки подходят для конкретного ЭБУ двигателем. Чтобы в процессе замены “мозгов” машины не возникло каких-либо проблем, каждый водитель должен иметь при себе программу Chiploader или Chiploader 2. Они предназначена для быстрого считывания и загрузки практически любого ПО. Наличие этого загрузчика – залог успеха при выполнении чип-тюнинга авто.

Ошибки компиляции

Возникает на этапе сборки и компиляции прошивки. Ошибки компиляции вызваны проблемами в коде прошивки, то есть проблема сугубо софтварная. Слева от кнопки “загрузить” есть кнопка с галочкой – проверка. Во время проверки производится компиляция прошивки и выявляются ошибки, если таковые имеются. Ардуино в этом случае может быть вообще не подключена к компьютеру.

  • В некоторых случаях ошибка возникает при наличии кириллицы (русских букв) в пути к папке со скетчем. Решение: завести для скетчей отдельную папочку в корне диска с английским названием.
  • В чёрном окошке в самом низу Arduino IDE можно прочитать полный текстошибки и понять, куда копать
  • В скачанных с интернета готовых скетчах часто возникает ошибка с описанием название_файла.h no such file or directory. Это означает, что в скетче используется библиотека <название файла>, и нужно положить её в Program Files/Arduino/libraries/. Ко всем моим проектам всегда идёт папочка с использованными библиотеками, которые нужно установить. Также библиотеки всегда можно поискать в гугле по название файла.
  • При использовании каких-то особых библиотек, методов или функций, ошибкой может стать неправильно выбранная плата в “Инструменты/плата“. Пример: прошивки с библиотекой Mouse.h или Keyboard.h компилируются только для Leonardo и Micro.
  • Если прошивку пишете вы, то любые синтаксические ошибки в коде будут подсвечены, а снизу в чёрном окошке можно прочитать более детальное описание, в чём собственно косяк. Обычно указывается строка, в которой сделана ошибка, также эта строка подсвечивается красным.
  • Иногда причиной ошибки бывает слишком старая, или слишком новая версия Arduino IDE. Читайте комментарии разработчика скетча
  • Ошибка недостаточно свободного места возникает по вполне понятным причинам. Если в проекте используется плата Nano на процессоре 328p, а вы сэкономили три рубля и купили на 168 процессоре – скупой платит дважды. Оптимизация: статическая память – память, занимаемая кодом (циклы, функции). Динамическая память занята переменными.

Частые ошибки в коде, приводящие к ошибке компиляции

  • expected ‘,’ or ‘;’ – пропущена запятая или точка запятой на предыдущей строке
  • stray ‘320’ in program – русские символы в коде
  • expected unqualified-id before numeric constant – имя переменной не может начинаться с цифры
  • … was not declared in this scope – переменная или функция используется, но не объявлена. Компилятор не может её найти
  • redefinition of … – повторное объявление функции или переменной
  • storage size of … isn’t known – массив задан без указания размера

1 С какими ЭБУ совместим загрузчик

Основная функция программы Chiploader заключается в чтении и записи EEPROM и FLASH памяти большого количества моделей ЭБУ. Не секрет, что каждый блок управления двигателем в процессе перепрошивки ведет себя по-разному. Некоторые модели оборудования выполняют загрузку нужной прошивки с первого раза, остальные – делают это с затруднениями. Именно в таких ситуациях и стоит использовать Чиплоадер. Эта программа производит загрузку любой прошивки практически на всех известных блоках управления.

На фото - программа-загрузчик Chiploader, autorepman.com

Похожие статьи

Загрузчик подходит для работы с такими ЭБУ:

  • Январь-5.x; Январь-7.2+.
  • Микас-10.3; Микас-12.3.
  • Kefico M 7.9.7.
  • Bosch M 7.9.7; Bosch M 7.9.8; Bosch MP-7.0.
  • Siemens 5WY; Siemens EMS 3132; Siemens SIMK 31.
  • Tricore TC 1762; Tricore TC 1796.
  • Simtec 76.
  • M74.
  • Opel ECU и т. д.

Фото ЭБУ, drive2.ru

Некоторые проблемы могут возникнуть при считывании ЭБУ моделей Honda Keihin SH7058 и Bosch Kefico M797. В процессе работы с этими блоками программа Чиплоадер может неожиданно прервать загрузку. Однако не стоит уделять этому особого внимания. Достаточно перезагрузить программу и запустить загрузку заново.

Перечисленными моделями ЭБУ оснащаются как отечественные, так иностранные автомобили: KIA, Seat, Citroen, Hyundai, Geely, Chery, Volkswagen, Renault, Dacia, ВАЗ, ЗАЗ, Daewoo, Audi, Honda, BMW и другие.

2 Основные характеристики программы

Помимо своей универсальности, загрузчик Chiploader имеет массу других достоинств. Программа поддерживает работу с CAN шиной через устройства OpenPort2 или CHIPSOFT J2534. Утилита способна успешно конвертировать прошивки в подходящие для работы форматы. Также загрузчик Чиплоадер имеет функцию защиты прошивок от несанкционированного считывания. Имея при себе загрузчик, вы всегда можете проверить автомобиль на неисправности. Это достигается за счет возможности перевода программы в режим диагностики. Также Чиплоадер имеет массу встроенных функций по работе с базой файлов своего пользователя: вы можете копировать, сохранять, менять местами любые файлы.

На фото - работа с CAN шиной, skysim.ru

Благодаря использованию внешних плагинов, загрузчик может интегрироваться в программу ChipExplorer, которая также необходима для эффективной работы с прошивками. Используя Чиплоадер, вы имеете возможность протестировать любой K-Line адаптер. Еще одним большим достоинством загрузчика можно считать возможность его использования на последних моделях нетбуков.

Фото тестирования K-line адаптера, drive2.ru

Помимо всего прочего, стоит также отметить регулярные обновления программы Chiploader. Благодаря этому утилита существенно расширяет свои возможности. Сегодня многие из тех водителей, которые приобрели лицензированную программу в прошлом году, используют утилиту под названием Chiploader 2 – это тот же загрузчик, только обновленный до самой последней версии. Такая программа дает гораздо больше возможностей по конвертации прошивок в нужные форматы. Утилита подходит для работы с последней версией Windows 8, имеет обновленный интерфейс и массу дополнительных функций по работе с прошивками пользователя.

Предупреждения

Помимо ошибок, по причине которых проект вообще не загрузится в плату и не будет работать, есть ещё предупреждения, которые выводятся оранжевым текстом в чёрной области лога ошибок. Предупреждения могут появиться даже тогда, когда выше лога ошибок появилась надпись “Загрузка завершена“. Это означает, что в прошивке нет несовместимых с жизнью ошибок, она скомпилировалась и загрузилась в плату. Что же тогда означают предупреждения? Чаще всего можно увидеть такие:

  • # Pragma message……. – сообщения с директивой Pragma обычно выводят библиотеки, сообщая о своей версии или каких-то настройках
  • Недостаточно памяти, программа может работать нестабильно – Чуть выше этого предупреждения обычно идёт информация о задействованной памяти. Память устройства можно добивать до 99%, ничего страшного не случится. Это флэш память и во время работы она не изменяется. А вот динамическую память желательно забивать не более 85-90%, иначе реально могут быть непонятные глюки в работе, так как память постоянно “бурлит” во время работы. НО. Это зависит от скетча и в первую очередь от количества локальных переменных. Можно написать такой код, который будет стабильно работать при 99% занятой SRAM памяти. Так что ещё раз: это всего лишь предупреждение, а не ошибка.

Завершая раздел Введение в Arduino поговорим о вопросах, которые очень часто возникают у новичков:

  • Ардуину можно прошить только один раз? Нет, несколько десятков тысяч раз, всё упирается в ресурс flash памяти. А он довольно большой.
  • Как стереть/нужно ли стирать старую прошивку при загрузке новой? Память автоматически очищается при прошивке, старая прошивка автоматически удаляется.
  • Можно ли записать две прошивки, чтобы они работали вместе? Нет, при прошивке удаляются абсолютно все старые данные. Из двух прошивок нужно сделать одну, причём так, чтобы не было конфликтов.
  • Можно ли “вытащить” прошивку с уже прошитой Ардуины? Теоретически можно, но только в виде нечитаемого машинного кода, в который преобразуется прошивка на С++ при компиляции, т.е. вам это НИКАК не поможет, если вы не имеете диплом по низкоуровневому программированию.
    • Зачем это нужно? Например есть у нас прошитый девайс, и мы хотим его “клонировать”. В этом случае да, есть вариант сделать дамп прошивки и загрузить его в другую плату на таком же микроконтроллере.
    • Если есть желание почитать код – увы, прошивка считывается в виде бинарного машинного кода, превратить который обратно в читаемый Си-подобный код обычному человеку не под силу
    • Вытащить прошивку, выражаясь более научно – сделать дамп прошивки, можно при помощи ISP программатора, об этом можно почитать здесь
    • Снять дамп прошивки можно только в том случае, если разработчик не ограничил такую возможность, например записав лок-биты, запрещающие считывание Flash памяти, или вообще отключив SPI шину. Если же разработчик – вы, и есть желание максимально защитить своё устройство от копирования – гуглите про лок-биты и отключение SPI

    3 Работа с загрузчиком Чиплоадер

    Для того, чтобы начать работу по перепрошивке ЭБУ, понадобится снять блок с автомобиля. После этого устанавливаем Chiploader на компьютер и подключаем ЭБУ согласно инструкции. Далее устанавливаем драйвера на ромокабель. После этого заходим в меню загрузчика и кликаем по окну “Опции”, далее выбираем “Настройки”, где подбираем скорость работы и номер порта. Если вы не знаете, как подобрать оптимальные настройки, то эти данные можно подсмотреть в “Диспетчере устройств Windows”.

    На фото - подготовка к перепрошивке ЭБУ, websystemblog.at.ua

    Затем кликаем по окну “Установить связь” и ждем окончания загрузки. Очень важно начать работу по считыванию именно с этой кнопки. В противном случае дальнейшие операции с утилитой не принесут никаких результатов.

    Фото загрузки прошивки, rd-lab.ru

    После того, как связь была установлена, кликаем по окну “Считать FLASH”, и ожидаем окончания. Вы можете продолжать работу и дальше, копируя и форматируя прошивки. Главное – действовать согласно указаниям программы. Как в Chiploader, так и в Chiploader 2 имеется понятный интерфейс, благодаря которому работать с загрузчиком может даже подросток.

    4 Покупка лицензированной утилиты

    Согласно статистике, более 60% отечественных покупателей сталкиваются с поддельным ПО для чип-тюнинга. Чтобы защитить себя от покупки некачественных утилит, стоит обращать внимание на содержимое упаковки. В комплекте оригинального загрузчика Chiploader находится:

    1. Диск с загрузчиком и необходимыми для работы драйверами;
    2. Адаптер K-Line;
    3. Ключ для USB-выхода.

    На фото - комплект для прошивки ЭБУ, zaporizhia.all.biz

    Если вы увидели комплект, в котором нет хотя бы одной из составляющих, то ни в коем случае не покупайте его. Иначе вы не только не сможете работать с новыми прошивками, но и испортите старое ПО на ЭБУ вашего автомобиля.

    Фото лицензионной утилиты Chiploader для прошивки ЭБУ, ecupro.ru

    Помимо содержимого комплекта, также обратите внимание на упаковку товара. Там должна присутствовать надпись “Лицензия”, а также специальная защитная голограмма. Многие специалисты в области чип-тюнинга советуют покупать загрузчик исключительно в специализированных магазинах. Не стоит скачивать “пиратские” версии утилит, которыми буквально переполнен интернет.

Оцените статью
Рейтинг автора
4,8
Материал подготовил
Егор Новиков
Наш эксперт
Написано статей
127
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий