Пакет драйверов windows segger что это
Обновлено: 07.07.2024
Часто возникает вопрос, как прошить микроконтроллер, не пользуясь средой KEIL. Компания SEGGER разработала утилиту J-FLASH, которая представляет собой программное обеспечение, работающее с Windows 2000 и старше, позволяющее программировать внутреннюю и внешнюю память контроллера, используя J-Flash или Flasher.
J-Flash поставляется с примерами проектов для наиболее популярных микроконтроллеров и отладочных плат.
J-Flash управляется через графический пользовательский интерфейс либо из командной строки.
Для работы с полной версией J-Flash необходимо купить лицензию или программатор, при покупке которого лицензия поставляется в комплекте. Урезанную версию J-Flash Lite можно скачать с сайта Segger. Программа входит в пакет J-link Software and Documentation Pack for Windows.
При работе с программой J-Flash (J-Flash Lite) допустимо использование только программатора J-LinkПорядок действий
Работа проверялась на версии 6.84a.
2. Распаковать архив.
3. В папке "Devices" создать папку "Milandr", в которую положить FLM-файлы тех контроллеров производства компании "Миландр", с которыми утилита будет работать.
Стандартные FLM-файлы можно найти в паке для Keil по пути C:\Keil_v5\ARM\PACK\Keil\MDR1986BExx\1.5.3\Flash
4. В папке JLink_Vxxxx найти файл JLinkDevices.xml.
5. Открыть его блокнотом и добавить в конце перед </DataBase> :
<Device>
<ChipInfo Vendor="Milandr"
Name="1986BE1T"
WorkRAMAddr="0x20100000"
WorkRAMSize="0x4000"
Core="JLINK_CORE_CORTEX_M1" />
<FlashBankInfo Name="1986BE1T Flash"
BaseAddr="0x0"
MaxSize="0x20000"
Loader="Devices\Milandr\1986BE1T.FLM"
LoaderType="FLASH_ALGO_TYPE_OPEN"
AlwaysPresent="1"/>
</Device>
<Device>
<ChipInfo Vendor="Milandr"
Name="1986BE3T"
WorkRAMAddr="0x20100000"
WorkRAMSize="0x4000"
Core="JLINK_CORE_CORTEX_M1" />
<FlashBankInfo Name="1986BE3T Flash"
BaseAddr="0x0" MaxSize="0x20000"
Loader="Devices\Milandr\1986BE3T.FLM"
LoaderType="FLASH_ALGO_TYPE_OPEN"
AlwaysPresent="1"/>
</Device>
<Device>
<ChipInfo Vendor="Milandr"
Name="1986BE4"
WorkRAMAddr="0x20000000"
WorkRAMSize="0x4000"
Core="JLINK_CORE_CORTEX_M0" />
<FlashBankInfo Name="1986BE4 Flash"
BaseAddr="0x0"
MaxSize="0x20000"
Loader="Devices\Milandr\1986BE4.FLM"
LoaderType="FLASH_ALGO_TYPE_OPEN"
AlwaysPresent="1" />
</Device>
<Device>
<ChipInfo Vendor="Milandr"
Name="1986BE9X"
WorkRAMAddr="0x20000000"
WorkRAMSize="0x8000"
Core="JLINK_CORE_CORTEX_M3"/>
<FlashBankInfo Name="1986BE9X Flash"
BaseAddr="0x8000000"
MaxSize="0x20000"
Loader="Devices\Milandr\1986BE9x.FLM"
LoaderType="FLASH_ALGO_TYPE_OPEN"
AlwaysPresent="1" />
</Device>
Отличие от кода, представленного на форуме, состоит в том, что в раздел <FlashBankInfo> добавлен параметр, который, согласно описанию на JLink, является опциональным: "AlwaysPresent". AlwaysPresent определяет, всегда ли присутствует флэш-банк (например, внутренняя флэш). Если этот элемент установлен в "1", то команда "erase" будет работать как команда "erase" и сотрет этот банк.
AlwaysPresent=“1”.
1. Программа для программирования микроконтроллера может быть написана в любой среде, например, KEIL или IAR, но затем должны быть получены файлы с расширением hex или bin, которые и будут загружены в память микроконтроллера.
Чтобы получить hex в среде Keil, нужно в опциях проекта Options for Target 'xxx' поставить галочку во вкладке 'Output' напротив пункта "Create HEX File". Файл будет лежать в папке Objects
Как получить bin рассказано здесь: Получение bin-файла
1. Запустить J-Fash Lite. Появится окно с предупреждением, что J-Flash Lite является средством для разработки и не предназначен для производства (рисунок 1). Нажать "ОК"
Рисунок 1 - Окно с предупреждением
2. Откроется окно (рисунок 2). В нем в поле "Device" уже выбран микроконтроллер, который программировался/стирался при последнем выборе утилиты.
Рисунок 2 - Окно утилиты SEGGER J-Flash Lite V6.84a
3. Выбрать новый микроконтроллер можно, кликнув на поле под надписью "Device" (рисунки 3 и 4).
Рисунок 3 - J-Flash Lite. Выбор устройства в общем списке
Рисунок 4 - J-Flash Lite. Выбор микроконтроллеров Milandr с использованием фильтра
4. Загрузить записываемый файл в формате hex или bin (рисунок 5). В поле установить адрес:
для микроконтроллера 1986ВЕ1Т: 0х00000000
для микроконтроллеров серии 1986ВЕ9х: 0х080000000
Важно отметить, что путь к файлу не должен содержать русских букв, иначе программа не увидит файлРисунок 5 - Выбор загружаемого файла
5. Выполнить операции стирания (если в памяти микроконтроллера была прошивка) и записи (рисунок 6).
Рисунок 6 - В секции "Log" отображены последовательно операции выбора загружаемого файла, стирания, программирования
Примечания
1. Для 1986ВЕ4У стирание через J-Flash не выполняется, только через KEIL. Для программирования требуется выполнить "Program Chip" два раза.
2. Для того, чтобы запустить зашитый с помощью J-FLASH Lite проект на отладочной плате для микроконтроллера 1986ВЕ1Т, необходимо нажать кнопку "Reset". На отладочной плате микроконтроллера 1986ВЕ91Т запуск программы происходит сразу после программирования.
После установки получаем рабочую среду с IntelliScence, компилятором, стартовым кодом, библиотеками, realtime отладчиком(это отдельная тема) с поддержкой всего вышеперечисленного зоопарка чипов. И никакой Java! :)
Бесплатно для личного пользования(ограничений по коду нет).
Что понравилось:
1) Скорость работы
2) Относительная полнота документации
3) Настраиваемость среды
4) IntelliScence + Source Navigator+ Symbol Browser
5) Скорость отладки с jLink(она реально бешеная в сравнении с Eclipse-средами)
6) Отображение всех регистров, периферии, битов, масок и прочей ботвы во время отладки
7) Поддержка импорта проектов сторонних сред
8) Возможность работы с STM32CubeMX
9) Многопоточная компиляция(до 16 потоков, сборка проекта из 27 «с» файлов за 1.7с)
10) Поддержка систем контроля версий(пока не пользовался, но прикольно)
Symbol browser здесь — это отображение блоков кода в файле(особенно понравился для xml-файлов). Фишка так себе, но полезна при навигации по большим файлам.
Source navigator — все проиндексированные элементы кода и библиотек в проекте с поиском. Удобно когда не знаешь точно название функции/typedef'a/переменной, а только часть имени. Еще полезно просто посмотреть, что может быть использовано в проекте, что используется и вообще. Must have фича.
Еще есть своего рода дизассемблер и редактор ресурсов. Полезно глянуть из чего готовый elf/hex состоит.
Профилировщик тоже имеется.
Что НЕ понравилось:
1) Иногда все-таки вылетает с ошибками(может пора просто почистить систему? :))
2) Есть некоторые недоработки при импорте проектов из KEIL/IAR
3) Поддержка только jLink в качестве интерфейса прошивки/отладки(для неимеющих китайских клонов jLink есть Simulator).
Из непроверенного, возможность работы под Unix|MacOS и для меня это большой плюс на будущее.
А вот это скрин отладки:
Статейка получается скомканой, может быть допишу и перепишу, если кому-то будет интересно могу как нибудь рассказать про работу в среде с STM32, STMCubeMX, импорт проектов и отладку jLink'ом. А пока все."
Не коммерческая версия имеет полный функционал без ограничений.
With the non-commercial license, Embedded Studio imposes no limitation of the tools capability: all professional features are fully enabled.
Вот в это просто не верится, будем изучать.
Есть предчуствие , что эта среда разработки заслуживает внимание.
Как оказалось впоследствии исходники закрыты, то есть весь функционал реализован в закрытых библиотеках.
Но, что приятно удивляет - это как ни странно цветовая гамма IDE. Кто много часов в день проводит за ПК это поймет.
Далее быстро получили не коммерческую лицензию, установили , работаем.
Никто сразу не напрягает купи то , купи это.
Лицензия для изучения быстро привязыватся через почтовый ящик:
От чего такой приятный интерфейс.
Специально полез в C:\Program Files\SEGGER\SEGGER Embedded Studio for ARM 4.12\bin и увидел те самые библиотеки dll-ки от среды разработки Qt4.
Все стильно масштабируется , не заползает друг на друга. И главное не QT5 (когда MS туда влезла со своими деньгами), а QT4 еще та от Норвежских студентов Troltech, потом Nokia (приятно когда люди делают такой же выбор как и ты).
Устанавливаем библиотеки нашего контроллера
В принципе сразу понятно , что надо подтянуть библиотеки контроллера (у наc например LPC1768). Тут все интуитивно понятно Tools \ Package Manager .
Демо примеры как-то не сразу завелись.
Далее можно скачать демо пример, причем он уже появился LPC1700 demo. Устанавливается он с C:\Users\p\AppData\Local\SEGGER\SEGGER Embedded Studio\v3\packages\LPC1700. А часть файлов в C:\Program Files\SEGGER\SEGGER Embedded Studio for ARM 4.12\samples .
Попробуем что-то сразу запрограммировать с JLink - лучше на самом деле сразу сделать новый проект
Указываем куда нам сохранить проект.
Далее предлагается получить лицензию, соглашаемся, через почтовый ящик получаем лицензию. И это на каждый Solution каждый раз заново.
Далее в Solution можно добавлять много своих проектов.
Примечание : в следующий раз при открытии и сборке вашего проекта не надо генерировать заново лицензию - просто жмите Continue.
Сразу настраиваем в проекте трассировку SWO
В свойствах Solution указываем следующее:
Компилим (F7) , входим в отладку (F5) и видим все уже нормально отлаживается (F10 шаг, F11 шаг внутрь). Нигде больше ничего не надо настраивать.
Далее переходим на поиск USB device примеров
Хочу сказать напоследок , что через неделю удалось получить готовый проект с embOS + emdUSB-Device HID на старой плате с LPС 1768 контроллером. Если интересно , что можно сделать с LPC, смотрите на нашем сайте в соседнем разделе (примеры открытые).
Windows Driver Package что это такое?
Итак, давайте приведем примеры программ, в заголовках которых может встречаться Windows Driver Package:
Можно ли удалить Windows Driver Package?
- Перестанет работать какое-то оборудование.
- Будут ошибки при запуске некоторых программ.
- Могут перестать работать Wi-Fi, блютуз, мобильный интернет.
Но что делать, если удалить все таки очень хочется?
Да, идеально конечно создать вообще образ системы.. но для этого нужно чтобы у вас было два жестких диска, ну или SSD, да и еще тонкости есть..
Как создать точку восстановления? Алгоритм действий такой:
После этого попробуйте удалить программу, в названии которой упоминается Windows Driver Package:
Как я уже писал выше, это может быть софт для прошивки, для восстановления, еще для чего ни будь, что связано с телефоном.. Кстати выше на картинке это окно Программы и компоненты (команда appwiz.cpl в Win + R).
Broadcom это кстати компания, которая занимается всякими интегральными схемами, на деле производит.. например вай фай адаптеры, может и блютуз тоже делает.
Я лично точкой восстановления не пользуюсь. Однако.. провел эксперимент.. и.. выяснил.. что она может работать криво. Например я создал точку восстановления, потом удалил Яндекс Браузер (ставил галочку удалить данные), а потом хотел восстановиться.. и восстановился, но.. при запуске Яндекс Браузера была ошибка.. странно, смысл тогда точки восстановления? Странно и непонятно..
Заключение
Выяснили главное, Windows Driver Package это:
- Не какая-то определенная прога, а часть названия многих программ.
- Часто является набором драйверов, дополнительным ПО для работы с тем или иным устройством.
- Удалять в принципе можно, но в дальнейшем спокойно могут быть проблемы.
- Перед удалением лучше сделать контрольную точку восстановления.
Советую создать точку восстановления, так как не смотря на мой эксперимент, все таки лучше пусть она будет.. чем отсутствовать.. может в моей ситуации был глюк..
Читайте также: