Пакет драйверов 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”.

Обратите внимание, что после добавления микроконтроллера можно пользоваться как утилитой J-Flash Lite, так и утилитой Jlink.exe (для проверки работоспособности программатора).

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. Кто много часов в день проводит за ПК это поймет.

фотка 1

Далее быстро получили не коммерческую лицензию, установили , работаем.

Никто сразу не напрягает купи то , купи это.

Лицензия для изучения быстро привязыватся через почтовый ящик:

фотка 2

От чего такой приятный интерфейс.

Специально полез в 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 - лучше на самом деле сразу сделать новый проект

фотка 3

Указываем куда нам сохранить проект.

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

фотка 4

Далее в Solution можно добавлять много своих проектов.
Примечание : в следующий раз при открытии и сборке вашего проекта не надо генерировать заново лицензию - просто жмите Continue.

Сразу настраиваем в проекте трассировку SWO

В свойствах Solution указываем следующее:

фотка 5

фотка 6

Компилим (F7) , входим в отладку (F5) и видим все уже нормально отлаживается (F10 шаг, F11 шаг внутрь). Нигде больше ничего не надо настраивать.

Далее переходим на поиск USB device примеров

Хочу сказать напоследок , что через неделю удалось получить готовый проект с embOS + emdUSB-Device HID на старой плате с LPС 1768 контроллером. Если интересно , что можно сделать с LPC, смотрите на нашем сайте в соседнем разделе (примеры открытые).

Windows Driver Package что это такое?

Итак, давайте приведем примеры программ, в заголовках которых может встречаться Windows Driver Package:

Можно ли удалить Windows Driver Package?

  1. Перестанет работать какое-то оборудование.
  2. Будут ошибки при запуске некоторых программ.
  3. Могут перестать работать Wi-Fi, блютуз, мобильный интернет.

Но что делать, если удалить все таки очень хочется?

Да, идеально конечно создать вообще образ системы.. но для этого нужно чтобы у вас было два жестких диска, ну или SSD, да и еще тонкости есть..

Как создать точку восстановления? Алгоритм действий такой:

После этого попробуйте удалить программу, в названии которой упоминается Windows Driver Package:


Как я уже писал выше, это может быть софт для прошивки, для восстановления, еще для чего ни будь, что связано с телефоном.. Кстати выше на картинке это окно Программы и компоненты (команда appwiz.cpl в Win + R).


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


Я лично точкой восстановления не пользуюсь. Однако.. провел эксперимент.. и.. выяснил.. что она может работать криво. Например я создал точку восстановления, потом удалил Яндекс Браузер (ставил галочку удалить данные), а потом хотел восстановиться.. и восстановился, но.. при запуске Яндекс Браузера была ошибка.. странно, смысл тогда точки восстановления? Странно и непонятно..

Заключение

Выяснили главное, Windows Driver Package это:

  1. Не какая-то определенная прога, а часть названия многих программ.
  2. Часто является набором драйверов, дополнительным ПО для работы с тем или иным устройством.
  3. Удалять в принципе можно, но в дальнейшем спокойно могут быть проблемы.
  4. Перед удалением лучше сделать контрольную точку восстановления.

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

Читайте также: