|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
||||||||||||||||
Использование FTDI для прошивки AVR через FTD2XX_NET.dll26.05.2014, 17:40. Показов 2535. Ответов 9
Метки нет (Все метки)
Доброго времени суток.
Есть задача написать софт для программирования микроконтроллеров avr (в частности atMega 2561) через программатор на ft232r. Использую .Net библиотеку FTD2XX_NET.dll под C#. Получаю не то, что ожидаю, в частности постоянно FF. Код ниже:
Странный фильтр добавления тем, пришлось пообрезать заголовок и тему, чтобы пропустил. Прошу помощи у знающих людей. Подозреваю глупую ошибку в какой-нибудь мелочи. Ибо контроллер рабочий, через avrdude шьётся нормально, последовательность действий, вроде, соответствует даташиту на мегу, а при чтении данных линия MISO всегда 1. В итоге получаю байты FF.
0
|
||||||||||||||||
| 26.05.2014, 17:40 | |
|
Ответы с готовыми решениями:
9
CH341A софт для прошивки AVR по SPI этим программатором Использование String Tables в .dll(.dll.mui) (Для VB .NET) Использование микросхем FTDI |
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
| 26.05.2014, 17:44 | |
|
stat = ftdiDev.Write(outB, 1, ref bToRead); // устанавливаем уровень SCK и RESET в 0
outB[0] = 0x80; stat = ftdiDev.Write(outB, 1, ref bToRead); // устанавливаем уровень RESET в 1 outB[0] = 0; stat = ftdiDev.Write(outB, 1, ref bToRead); // устанавливаем уровень SCK и RESET в Разве при формировании данных сигналов не должна быть задержка?
0
|
|
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
| 26.05.2014, 17:53 [ТС] | |
|
Витальич, по даташиту - нет, только после сброса перед заданием команды перехода в режим программирования:
1. Power-up sequence: Apply power between VCC and GND while RESET and SCK are set to “0”. In some systems, the programmer can not guarantee that SCK is held low during power-up. In this case, RESET must be given a positive pulse of at least two CPU clock cycles duration after SCK has been set to “0”. 2. Wait for at least 20 ms and enable serial programming by sending the Programming Enable serial instruction to pin PDI. Добавлено через 7 минут Вернее задержка должна быть, но реакция ОС явно медленнее, чем 2 цикла CPUclk, пробовал увеличивать задержку, результата не принесло.
0
|
|
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
| 29.05.2014, 10:45 [ТС] | |
|
Решил проблему проверив линии осциллографом.
Во-первых, читать состояние линии MISO надо в момент установки SCK в 1, а не в 0. Во-вторых, команда чтения данных из FT232rl возвращает ересь. Использовал команду чтения состояния линий, формировал байт из состояний MISO и получил то, что ожидал. Тема закрыта. Добавлено через 8 минут ) ещё не всё. Выяснилось, что команда чтения таки возвращает нужные данные, но есть один нюанс. После каждой команды записи независимо от того хотим мы знать ответ или нет необходимо производить чтение, чтобы очистить буфер приёма, что несколько замедляет работу.
0
|
|
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
| 30.05.2014, 09:26 [ТС] | |
|
raxp, тоже вариант, но мне, в принципе не нужно значение буфера, для моей задачи достаточно видеть состояние линий.
0
|
|
|
|
|
| 30.05.2014, 16:05 | |
|
...так тут оно и не читается, а очищается. Всего лишь поднятый флаг. И да, если FTDI -ка у вас создает вдруг виртуальный COM порт, то дергать и отслеживать состояние линий вы можете напрямую через WinAPI.
0
|
|
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
| 02.06.2014, 09:32 [ТС] | |
|
К сожалению, тема ещё не закрыта.
Появился следующий вопрос: прошивка контроллера хранится в файле формата intel-hex. В файле присутствуют команды смещения сегмента. Надо ли их учитывать при формировании загружаемых страниц прошивки или байты загружаются последовательно, без привязки к их адресу в hex-файле?
0
|
|
|
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
|
|
| 02.06.2014, 09:50 [ТС] | |
|
Прошивка контроллера хранится в файле формата Intel Hex. В файле есть команды смещения сегмента. Эти команды надо учитывать при формировании записываемой страницы или все байты данных записываются последовательно?
Не по теме: Этот вопрос задавал в другом топике, но тема поднятая в нём уже закрыта. Следуя правилу один вопрос - одна тема, создаю новую тему.
0
|
|
|
|
|
| 02.06.2014, 19:04 | |
|
Не увидел ни одной закрытой у вас темы.
0
|
|
| 02.06.2014, 19:04 | |
|
Помогаю со студенческими работами здесь
10
Использование String Tables в .dll(.dll.mui) (Для C#) Использование C++ DLL через kernel32 Динамическая загрузка dll и использование ее через интерфейс Использование AVR TWI для работы с шиной IIC Смена прошивки AVR контроллеров с Андроид устройств по BT Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|