Easyelectronics.ru

Электроника для всех
Текущее время: 07 апр 2020, 22:50

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Keil и сторонние программаторы
СообщениеДобавлено: 16 янв 2013, 15:56 
Только пришел

Зарегистрирован: 16 янв 2013, 15:36
Сообщения: 8
Здравствуйте, уважаемые.

Суть проблемы: хотелось бы использовать имеющийся программатор/отладчик Phyton JEM-ARM в среде Keil MDK-ARM.
Имеется: Win7x64, Phyton JEM-ARM, Keil MDK-ARM Lite 4.23.
При подключении программатора к USB-разъему ОС находит и автоматически устанавливает драйвера.
В диспетчере устройств появляются 2 новых устройства: USB Serial Converter и USB Serial Port (COM10).
Ниже привожу пути к файлам драйверов из вкладки "Драйвер", "Сведения".

USB Serial Converter
C:\Windows\system32\drivers\ftdibus.sys
C:\Windows\system32\ftbusui.dll
C:\Windows\system32\ftd2xx.dll
C:\Windows\system32\FTLang.dll
C:\Windows\system32\ftd2xx.dll


USB Serial Port (COM10)
C:\Windows\system32\drivers\ftser2k.sys
C:\Windows\system32\DRIVERS\serenum.sys
C:\Windows\system32\ftcserco.dll
C:\Windows\system32\ftserui2.dll


Следуя информации, имеющейся на сайте Keil, необходимо в файл TOOLS.INI добавить путь к файлу драйвера.
Вопрос: к какому файлу указывать путь?
Испробовал все возможные варианты, в конце концов, скопировал все вышеуказанные файлы в каталог внутри каталога Keil/ARM, в котором лежат драйвера других программаторов, один результат: при выборе программатора в опциях в среде выводится сообщение:
Error: Cannot load driver <path to the dll here>
Possible reasons:
Driver DLL could not be found in the specified path
Driver DLL requires additional DLL's which are not installed
Required Hardware Drivers are not installed

Подскажите, в какую сторону двигаться и как заставить работать устройство в среде Keil?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil и сторонние программаторы
СообщениеДобавлено: 16 янв 2013, 18:35 
Старожил
Аватара пользователя

Зарегистрирован: 11 май 2011, 09:53
Сообщения: 482
Боюсь, что проще и дешевле будет прикупить клон Segger J-link. Вы коробочку эту открывали? Думаю внутри стоит FT2232 и (возможно) какой-нить 74LV244. Это очередной развод, где функции JTAG/SWD реализованы программно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil и сторонние программаторы
СообщениеДобавлено: 16 янв 2013, 21:22 
Только пришел

Зарегистрирован: 16 янв 2013, 15:36
Сообщения: 8
На таких вот компонентах он построен: 74LVC4066D, ALVC164245, ATMEGA8L; DS89C450, FTDI FT232RL.
Ниже прилагаю фото внутренностей программатора.
Изображение
Изображение
Изображение

Что скажете? И в чем заключается программная реализация JTAG?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil и сторонние программаторы
СообщениеДобавлено: 16 янв 2013, 21:59 
Старожил
Аватара пользователя

Зарегистрирован: 11 май 2011, 09:53
Сообщения: 482
Да, весьма редкий зверек... Дрова скорее всего не найдете. Посетил сайт питона - они там напаривают свою супер-мега-среду разработки, что наводит на мысль о невозможности интеграции этого отладчика в Keil. Можете попробовать написать на их саппорт, может что подскажут, хотя я сомневаюсь. А где Вы это добыли, если не секрет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil и сторонние программаторы
СообщениеДобавлено: 16 янв 2013, 22:24 
Только пришел

Зарегистрирован: 16 янв 2013, 15:36
Сообщения: 8
В справке на сайте фитона подразумевается, что драйвера обычно ставятся в комплекте с их средой разработки CodeMaster-ARM, однако:
-при подключении программатора ОС, как я писал выше, распознает его и ставит дрова
-после установки "рекомендуемой" среды разработки в логе DriverInstaller указано:
Show лог1

Связывался с саппортом, выслали дрова в архиве с батником следующего содержания:
Driver\DriverInstaller.exe "Phyton USB Driver\phusbdev.inf" /NV64 /S
Та же история. Пробовал в phusbdev.inf прописывать vid/pid из диспетчера устройств (брал из сведений о вышеуказанных USB Serial Converter и USB Serial Port (COM10). В итоге получил такой лог:
Show лог2


В чем состоит программная реализация JTAG, эта функция реализована на уровне среды разработки или на уровне имеющегося здесь ATMEGA8L?
Не секрет, добыл устройство в институте, на кафедре. В связи с кучей багов фитоновской среды есть необходимость перехода на кейл, однако фитоновские программаторы имеются, и хотелось бы их использовать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil и сторонние программаторы
СообщениеДобавлено: 17 янв 2013, 00:46 
Старожил
Аватара пользователя

Зарегистрирован: 11 май 2011, 09:53
Сообщения: 482
У них, скорее всего. свой протокол общения между средой и этой железкой. В компе он "видится" как обычный COM-порт и Keil понятия не имеет как с ним общаться. У Keil есть API, через который он разговаривает с железом отладчиков. Чтоб Ваш отладчик подружить с Keil нужно "прослойку" - DLL в которой будут эти вызовы API реализованы. Те нужна программная "прокладка" между Keil и этой железкой. Дать ее Вам может только разработчик отладчика, либо делать самому, но для этого нужно знать протокол общения с этим отладчиком. Может, конечно, есть энтузиаст, который хакнул это чудо и написал нужные дрова, но google пока об этом не в курсе...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil и сторонние программаторы
СообщениеДобавлено: 17 янв 2013, 00:58 
Только пришел

Зарегистрирован: 16 янв 2013, 15:36
Сообщения: 8
Ок, тут нашел такую инфу: http://www.coocox.com/CoLinkGuide/FTDI.htm
Т.е. эти coocox предлагают свой плагин для работы с программаторами (релиз для Keil и IAR), в том числе на FTDI, а именно "FT2232 или похожих". В руководстве "How to add FTDI-based adapter" говорится о режиме MPSSE, однако мой программатор на FT232R не поддерживает этот режим.
Как думаете, есть возможность прикрутить этот плагин? Как я понял, программаторы на FT232 работают в режиме bit bang?

P.S. Как понимаю, разработчику отладчика невыгодно что-либо кому-либо давать, если у них в продаже своя среда.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil и сторонние программаторы
СообщениеДобавлено: 17 янв 2013, 11:58 
Старожил
Аватара пользователя

Зарегистрирован: 11 май 2011, 09:53
Сообщения: 482
Цитата:
Как понимаю, разработчику отладчика невыгодно что-либо кому-либо давать, если у них в продаже своя среда.

Кэп подсказал :)) На самом деле число халявных средств разработки-отладки стремится к 0. Кейл тоже весьма не бесплатный... Может посмотрите в стороно кокоса? Клон их SWD адаптера стоит недорого. Или сделай себе самый простой JTAG/SWD на FT2232. Себестоимость будет порядка 10-15$.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil и сторонние программаторы
СообщениеДобавлено: 17 янв 2013, 12:39 
Только пришел

Зарегистрирован: 16 янв 2013, 15:36
Сообщения: 8
Я все-таки попробовал написать, и вот ответ:
Цитата:
Самостоятельно это у Вас сделать вряд ли получится. Мы делали подобное для семейства 8051 - наши эмуляторы и JTAG-отладчики могут работать с оболочкой uVision. У Кайла есть для этого специальный SDK, но, во-первых, они не дают его всем подряд, а во-вторых, требуются усилия со стороны разработчиков отладчика.

М-да. Попробую поискать инфу про этот кейловский SDK.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil и сторонние программаторы
СообщениеДобавлено: 17 янв 2013, 19:42 
Старожил
Аватара пользователя

Зарегистрирован: 11 май 2011, 09:53
Сообщения: 482
Все равно нужен протокол обмена с отладчиком. Вам нужно знать, что пихать в порт отладчика, и что он Вам будет отвечать на это.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil и сторонние программаторы
СообщениеДобавлено: 17 янв 2013, 20:29 
Только пришел

Зарегистрирован: 16 янв 2013, 15:36
Сообщения: 8
Вот, что еще нашел, http://www.bipom.com/cm_arm_odc.php:
Цитата:
CodeMaster OCD Driver is a software layer between the CodeMaster IDE and the JEM-ARM emulator. The IDE actually includes several similar OCD drivers, each of which supports communications to a particular target microcontroller family with the JTAG interface. The IDE automatically selects an appropriate OCD driver to communicate to a chosen target microcontroller from ARM, Atmel, NXP, STMicroelectronics, Oki, Texas Instruments, Analog Devices and other ARM MCU manufacturers.

Я правильно понимаю, что теоретически, поковырявшись в файлах IDE, можно найти эти драйвера>дизассемблировать>?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil и сторонние программаторы
СообщениеДобавлено: 17 янв 2013, 20:38 
Старожил
Аватара пользователя

Зарегистрирован: 11 май 2011, 09:53
Сообщения: 482
То, за что Вы собираетесь браться - титанический труд. Я уже Вам пару раз намекал, что проще сделать клон какого-либо эмулятора, чем прикручивать неизвестное к неизвестному. Вам эти железки дешевле выкинуть. Время и силы - это тоже даром не даются.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil и сторонние программаторы
СообщениеДобавлено: 17 янв 2013, 20:46 
Только пришел

Зарегистрирован: 16 янв 2013, 15:36
Сообщения: 8
coredumped писал(а):
То, за что Вы собираетесь браться - титанический труд. Я уже Вам пару раз намекал, что проще сделать клон какого-либо эмулятора, чем прикручивать неизвестное к неизвестному. Вам эти железки дешевле выкинуть. Время и силы - это тоже даром не даются.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil и сторонние программаторы
СообщениеДобавлено: 23 янв 2013, 00:40 
Только пришел

Зарегистрирован: 16 янв 2013, 15:36
Сообщения: 8
Нашел кое-что ближе к моей теме: в руководстве к OpenOCD говорится о возможности использовании программаторов на FT245R (interface usb_blaster), создал openocd.cfg следующего содержания:
Код:
interface usb_blaster
usb_blaster_vid_pid 0x0403 0x6006
usb_blaster_device_desc "Phyton JEM v.2"
adapter_khz 3000
source [find target/stm32f1x.cfg]

Результат запуска openocd прилагаю в виде скриншота.
Как я понимаю, получается, что openocd видит устройство, но далее дело по каким-то причинам не идет (возможно отсутствие поддержки cortex-m3 данным программатором или из-за дров фактически к FT245R, а не к FT232R?).

Здесь автор пишет о работе OpenOCD с программатором на FT232R и прилагает патч, который пока не понял, как можно поставить на OpenOCD: http://vak.ru/doku.php/proj/bitbang/bitbang-jtag
Если удастся с OpenOCD, насколько я понял, возможно будет работать с JEM-ARM программатором в IAR через GDB server.


Вложения:
openocd-res.png
openocd-res.png [ 32.11 Кб | Просмотров: 12127 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil и сторонние программаторы
СообщениеДобавлено: 03 апр 2013, 09:46 
Только пришел

Зарегистрирован: 15 мар 2013, 23:50
Сообщения: 11
В зад такую кафедру, которая не в состоянии объяснить студенту что такое "закрытый протокол обмена" и научить читать даташит на FT232 и пользоваться гуглом чтобы узнать что вся логика программатора зашита в наплатном Mega8 с включенным фьюзом защиты от чтения прошивки и фитонских .dll без доступных исходников 8-E

Хотите учиться а не делать вид -- забейте на "научную работу" и валите стажером в какую-нибудь контору занимающуюся разработкой железа.

Конкретнее по теме: как минимум нужно:
- используя купленный или самодельный логический анализатор, снять обмен по TTL линиям
между FL232 = COM-порт и наплатным МК, а потом долго, нудно и безуспешно крячить протокол обмена
- взять С(++) компилятор, документацию на Keil где описан API который должна обеспечить driver.dll
и написать драйвер программатора

Варианты решения проблемы:
1) списать все Pythonы
2) пойти на сайт FTDI и найти там ссылку на проект программатора на FT2232H (OOCDlink, Turtilizer),
не забыть добавить в схему буфер на 74ALVC164245 (в китайском JLink стоят),
развести и заказать платы, купить детали, купить осциллограф и паяльную станцию с феном
(99% что на вашей кафедре ничего лучше ЭПСН-40 и С94 нет) и распаять
3) по-любому написать драйвер для Keil

С китайским клоном Segger Jlink v8 за $30 (сравни с затратами по п.2) можно тоже вляпаться в необходимость
написания драйвера, часто натыкаюсь на вопли "вай вай, Segger залочили поддержку китайцев, как поменять серийник
в прошивке китасеггера ?", но в этом случае по крайней мере есть готовая железка на AT91SAM3, в который
можно прошить _свою_ прошивку.

Есть еще плата EZ-USB за ~$15 на CY7C68013A и клоны анализатора Saleae на ее основе по ~$10
покупается на AliExpress за наличку через терминал qiwi (c выпуском виртуальной карты VISA)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB