Нет, там правильный серийник. Тот серийник, из-за которого гемор, относится к юсб интерфейсу и убей гром я не понимаю, что он означает. Его видно в J-Link Commander:
Connecting to J-Link via USB...O.K.
Firmware: J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04
Hardware version: V7.00
License(s): RDI,FlashDL,FlashBP,JFlash,GDB
VTref=3.300V
Type "connect" to establish a target connection, '?' for help
J-Link>ShowEmuList
J-Link[0]: Connection: USB, Serial number: 123456, ProductName: J-Link
J-Link>
В предпоследней строке 123456 -- это оно и есть. Не пойму, то ли я его где-то так задал, то ли оно само собой создается, но причина, похоже, в нем.
Одной только вышеприведенной картинки оказалось достаточно, чтобы найти правильное решение. В частности, в колонке USB Identification у меня значилась еще одна загадочная надпись -- "USB 0" вместо серийного номера. Правый кнопарь + "Reset Config" исправили ситуацию настолько, что nrfjprog опять начал шить/стирать МК, как ни в чем не бывало:
Цитата:
>nrfjprog.exe --program nrf52832_xxaa.hex
Parsing hex file.
Reading flash area to program to guarantee it is erased.
Checking that the area to write is not protected.
Programing device.
Вобщем, спасибо за наводку, как говориться.
PS. Раз уж и nrfjprog заработал, попробую и для него конфигурацию прошивальщика нарисовать.
Я рад за тебя. Может вскоре и аурдунью покинешь и займешься делом...
Да и кстати сеггеры советуют шить jlink commander , что кстати так же консоль.
Но это я обо всех арм ...
Да и приятно с тобой имеиь дело, схватываешь все на лету, и думаешь не стандартно....
Загадочные все-таки эти нордики. Пин резета по умолчанию у них является обычным GPIO. Зарезетить с помощью него чип никак не получится, если при программировании отдельно не озаботиться тем, что резет должен забыть о своей GPIO-сущности и стать резетом.
С одной стороны может и фиг бы с ним, с этим резетом -- не так уж он и нужен, когда устройство работает штатным образом. С другой, если МК использует режимы сна, то достучаться до него без резета в таком состоянии может быть проблематично, а в процессе отладки/разработки это часто требуется. Вроде бы не вопрос -- конфигурируем пин резета, цепляем прогамматор, в т.ч. и к резету и погнали.
J-Link таким образом работает без проблем. Но ST-Link не работает. ST-Link знает, как конектиться под резетом, умеет это делать на STM32, но не на нордиках. Странно. Еще более странно это начинает выглядеть, если учесть, что каким-то малопонятным способом ST-Link умеет выводить нордики из глубокого сна совсем без резета.
Кейл с ИАРом через ST-Link без особых затруднений будят nRF52 и шьют его по трем проводам (SWDIO, SWDCLK и GND), когда линия резета не используется, а сам пин может быть даже не сконфигурирован в резет. Но те же Кейл с ИАРом одинаково пасуют, если тот же трюк попытаться провернуть через J-Link. Не работает. J-Link желает работающей линии резета, а по другому, увы.
Если бы небыло ST-Link-а, то первый же уход в сон без сконфигурированного резета окирпичил бы МК. Нет, МК, разумеется, остался бы жив, но вот перепрограммировать его стало бы уже никак. С другой стороны, ST-Link почти бесполезен, если разработку вести на GCC + утилиты командной строки. Как только МК уйдет в сон, с помощью ST-Link-а его уже будет не поднять, даже если с резетом все хорошо.
Пока прикручивал JFlash к ардуине, обратил внимание, что программатор BlackMagic (который тоже можно легко сделать из голубой таблетки) использует свой оригинальный метод загрузки скомпилированного скетча во флеш МК. BlackMagic реализует в железе GDB-сервер. В комплекте GCC есть автономный отладчик, который умеет к этому серверу цепляться. Отладчиком, подключенным через GDB-сервер к целевой платформе, можно, как прочитать любой байт в ОЗУ или флеше, так и записать. Таким образом и заливают прошивку.
Вышеописанный метод может и чудной, но интересно другое. Фактически все готово, чтобы запилить под Arduino IDE полноценную отладку. Как знать, может и дождемся.
GDB сервер входит в поставку дров Segger'а , я его даже к IDA прикручивал.
Насчет RESET , посмотри опции на вкладке Debug, там их куча -может что-то и сработает как тебе надо.
<Отладчиком, подключенным через GDB-сервер к целевой платформе, можно, как прочитать любой байт в ОЗУ или флеше, так и записать. Таким образом и заливают прошивку.>
Тоже получил парочку модулей. Как-то странно что никто не обратил внимание на схожесть этих модулей, по размеру, с другими популярными модулями ESP32. У ESP32 торцевых ножек на две меньше. А китайцы под них штампуют макетки. https://ru.aliexpress.com/item/5X7CM-Double-Side-Prototype-PCB-Breadboar...
Я запаял step-down dc-dc converter, он понижает входное до 5 вольт. Затем, через перемычку, подключён LDO регулятор с низким потребленим на 3.3 В. Перемычка позволяет отключать dc-dc и подключать аккумулятор. Ещё на плате нужно отрезать дорожки от земли, на фото вверху их хорошо видно и я, на всякий случай, прикрыл квадратик земли.
Я себе еще одну голубую пилюлю заказал. Штыри впаивать не буду, запаяю резисторы в дырки, кабель и затяну в усадку. Будет J-Link для бедных повседневного пользования. J-Link для NRF52 все же поскладнее будет.
Может и в этом проблема. Сейчас нет времени разбираться. Главное что ST-Link работает и обновляется, и чип видится в Кейле. Будет время, подтяну ещё J-Link и тогда займусь плотнее.
Я себе еще одну голубую пилюлю заказал. Штыри впаивать не буду, запаяю резисторы в дырки, кабель и затяну в усадку. Будет J-Link для бедных повседневного пользования. J-Link для NRF52 все же поскладнее будет.
Здравствуйте! Как с вами связаться, вот моя почта напишите мне Pashamatros8@mail.ru
Приветствую всех. А кто нибудь реализацию именное BLE 5 смог запустить? Обычные то примеры работают замечательно.
Некоторые из фишек BLE 5 на nRF52832 реализовать не получится из-за ограничений в аппаратной части. Если именно этот функционал критичен, то стоит рассмотреть вариант смены чипа на nRF52840.
wallera пишет:
платка E73-2G4M04S оказалась залоченной :(
C помощью j-link и keil (у меня его не было) и добавления еще одного проводка к программатору,
который подает питание с модуля E73 в j-link удалось узнать ,что модуль залочен,
Ничего не понял. Про какой проводок речь и зачем питание от E73 подавать в программатор?
Похоже, что это нюансы функционирования J-Link, т.к. тот же ST-Link не нуждается ни в каких проводках кроме SWD и шьет модули не возбуждаясь по поводу залочки.
Вообще на самом деле все проще, на сайте сеггера есть софтинка по перепрошивке ST-linka в J-link, прошиваете , скачиваете Nrf-go и он уже сразу говорит нужно восстановить данную железку, разрешаете ему выполнить все оперции и дальше можно возвращать прошивку st-link на место и шить спокойно Кейлом.
Честно на счет самодельного стлинка не скажу, нету такого. Попробуйте его прошить в Jlink если он у вас прошьется то можно будет сделать как я описал выше через NRFgo
Это достаточно сложно для начинающего, в двух словах не объяснишь .
Здесь или использовать SDK с его настройками - как, куда и зачем расписано в мануале Getting started with Keil , либо юзать только bare_metall что собственно и описывает здесь a5021 .
nRF5 Series: Developing on Windows with ARM ® Keil MDK Getting Started Guide
Это достаточно сложно для начинающего, в двух словах не объяснишь .
Здесь или использовать SDK с его настройками - как, куда и зачем расписано в мануале Getting started with Keil , либо юзать только bare_metall что собственно и описывает здесь a5021 .
А можно где то посмотреть пример как с помощью сдк создать проект не использующий 100500 файлов из самого сдк. Просто в сдк я проекты редактирую без проблем, но применение половины файлов для меня остается загадкой.
Не получится быть" слегка беременной"...
Или вы пользуете sdk либо bare_metall естественно без softdevice.
lenz, если вы о bare_metall , то здесь создание проекта ничем не отличается от других арм:
Хидеры CMSIS
Хидеры вендора
Стартап и систем_инит
Все есть в паках Keil.
В SES все натыкивается в визарде...
Не получится быть" слегка беременной"... Или вы пользуете sdk либо bare_metall естественно без softdevice. lenz, если вы о bare_metall , то здесь создание проекта ничем не отличается от других арм: Хидеры CMSIS Хидеры вендора Стартап и систем_инит Все есть в паках Keil. В SES все натыкивается в визарде...
А в bare_metall работа с ble есть? или там тоже через костыли все?
А вообще можно вопросов позадавать ?) Если мне кроме бле ничего не надо мне же по сути SDK с softdevice не требуется? уж больно он много весит просто.
Вы, выходит, не читатель? Писатель больше? Просто на этот вопрос я уже отвечал в ветке.
я упустил, ссори.) но я на ардуине с железкой не играю, у меня 52810 а она немного не стыкуется с ардуиной, я с кейла с ней играю. поэтому все упоминания ардуины и их либ пролистываю вскольз, применять их гемморойно в последнее время.
nRF52 -- это Cortex-M + периферия от нордика, включая их оригинальный 2.4ггц радиоблок. Никаких блютузов в железе там нет и в помине. Весь функционал BLE обеспечивает SoftDevice, а интерфейс к нему SDK. Т.к. стек протоколов и пользовательская программа работают на одном и том же железе, встает вопрос безопасного совместного использования ресурсов МК. В SDK эта проблема решена через диспетчеризацию и приоритезацию доступа. Теоретически, ничто не мешает отказаться от SDK, только нужно быть готовым, что это не упростит жизнь, а существенно ее усложнит.
Нет, там правильный серийник. Тот серийник, из-за которого гемор, относится к юсб интерфейсу и убей гром я не понимаю, что он означает. Его видно в J-Link Commander:
SEGGER J-Link Commander V6.33i (Compiled Jul 24 2018 16:06:33)
DLL version V6.33i, compiled Jul 24 2018 16:06:12
Connecting to J-Link via USB...O.K.
Firmware: J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04
Hardware version: V7.00
License(s): RDI,FlashDL,FlashBP,JFlash,GDB
VTref=3.300V
Type "connect" to establish a target connection, '?' for help
J-Link>ShowEmuList
J-Link[0]: Connection: USB, Serial number: 123456, ProductName: J-Link
J-Link>
В предпоследней строке 123456 -- это оно и есть. Не пойму, то ли я его где-то так задал, то ли оно само собой создается, но причина, похоже, в нем.
У меня в той строке нормальный серийник, по дефолту прошивка с серийником -1.
Одной только вышеприведенной картинки оказалось достаточно, чтобы найти правильное решение. В частности, в колонке USB Identification у меня значилась еще одна загадочная надпись -- "USB 0" вместо серийного номера. Правый кнопарь + "Reset Config" исправили ситуацию настолько, что nrfjprog опять начал шить/стирать МК, как ни в чем не бывало:
Parsing hex file.
Reading flash area to program to guarantee it is erased.
Checking that the area to write is not protected.
Programing device.
Вобщем, спасибо за наводку, как говориться.
PS. Раз уж и nrfjprog заработал, попробую и для него конфигурацию прошивальщика нарисовать.
Я рад за тебя. Может вскоре и аурдунью покинешь и займешься делом...
Да и кстати сеггеры советуют шить jlink commander , что кстати так же консоль.
Но это я обо всех арм ...
Да и приятно с тобой имеиь дело, схватываешь все на лету, и думаешь не стандартно....
Загадочные все-таки эти нордики. Пин резета по умолчанию у них является обычным GPIO. Зарезетить с помощью него чип никак не получится, если при программировании отдельно не озаботиться тем, что резет должен забыть о своей GPIO-сущности и стать резетом.
С одной стороны может и фиг бы с ним, с этим резетом -- не так уж он и нужен, когда устройство работает штатным образом. С другой, если МК использует режимы сна, то достучаться до него без резета в таком состоянии может быть проблематично, а в процессе отладки/разработки это часто требуется. Вроде бы не вопрос -- конфигурируем пин резета, цепляем прогамматор, в т.ч. и к резету и погнали.
J-Link таким образом работает без проблем. Но ST-Link не работает. ST-Link знает, как конектиться под резетом, умеет это делать на STM32, но не на нордиках. Странно. Еще более странно это начинает выглядеть, если учесть, что каким-то малопонятным способом ST-Link умеет выводить нордики из глубокого сна совсем без резета.
Кейл с ИАРом через ST-Link без особых затруднений будят nRF52 и шьют его по трем проводам (SWDIO, SWDCLK и GND), когда линия резета не используется, а сам пин может быть даже не сконфигурирован в резет. Но те же Кейл с ИАРом одинаково пасуют, если тот же трюк попытаться провернуть через J-Link. Не работает. J-Link желает работающей линии резета, а по другому, увы.
Если бы небыло ST-Link-а, то первый же уход в сон без сконфигурированного резета окирпичил бы МК. Нет, МК, разумеется, остался бы жив, но вот перепрограммировать его стало бы уже никак. С другой стороны, ST-Link почти бесполезен, если разработку вести на GCC + утилиты командной строки. Как только МК уйдет в сон, с помощью ST-Link-а его уже будет не поднять, даже если с резетом все хорошо.
Пока прикручивал JFlash к ардуине, обратил внимание, что программатор BlackMagic (который тоже можно легко сделать из голубой таблетки) использует свой оригинальный метод загрузки скомпилированного скетча во флеш МК. BlackMagic реализует в железе GDB-сервер. В комплекте GCC есть автономный отладчик, который умеет к этому серверу цепляться. Отладчиком, подключенным через GDB-сервер к целевой платформе, можно, как прочитать любой байт в ОЗУ или флеше, так и записать. Таким образом и заливают прошивку.
Вышеописанный метод может и чудной, но интересно другое. Фактически все готово, чтобы запилить под Arduino IDE полноценную отладку. Как знать, может и дождемся.
GDB сервер входит в поставку дров Segger'а , я его даже к IDA прикручивал.
Насчет RESET , посмотри опции на вкладке Debug, там их куча -может что-то и сработает как тебе надо.
<Отладчиком, подключенным через GDB-сервер к целевой платформе, можно, как прочитать любой байт в ОЗУ или флеше, так и записать. Таким образом и заливают прошивку.>
Это есть даже в Jlink Commander...
Тоже получил парочку модулей. Как-то странно что никто не обратил внимание на схожесть этих модулей, по размеру, с другими популярными модулями ESP32. У ESP32 торцевых ножек на две меньше. А китайцы под них штампуют макетки. https://ru.aliexpress.com/item/5X7CM-Double-Side-Prototype-PCB-Breadboar...
Что получилось, с небольшими доработками.
Вроде годная штука. Заказал себе тоже. Кому интересно, вот тут немного дешевле выходит:
а что там уже напаяно? уж не step-up ли? хочется подробностей!
Я запаял step-down dc-dc converter, он понижает входное до 5 вольт. Затем, через перемычку, подключён LDO регулятор с низким потребленим на 3.3 В. Перемычка позволяет отключать dc-dc и подключать аккумулятор. Ещё на плате нужно отрезать дорожки от земли, на фото вверху их хорошо видно и я, на всякий случай, прикрыл квадратик земли.
У меня Кейл предлагает обновить пршивку ST-Link, при отказе даёт ошибку. Стоит обновлять? ST-Link китайский V2.
У меня без проблем обновляется. Китайский.
Я себе еще одну голубую пилюлю заказал. Штыри впаивать не буду, запаяю резисторы в дырки, кабель и затяну в усадку. Будет J-Link для бедных повседневного пользования. J-Link для NRF52 все же поскладнее будет.
Обновился без проблем, Кейл всё равно ругается.
Обновился без проблем, Кейл всё равно ругается.
SoftDevice вытерт?
Может и в этом проблема. Сейчас нет времени разбираться. Главное что ST-Link работает и обновляется, и чип видится в Кейле. Будет время, подтяну ещё J-Link и тогда займусь плотнее.
P.S. Нашёл ещё одну макетку, чуток больше. https://ru.aliexpress.com/item/7x9-ESP8266-ESP-12E-ESP-12F-ESP32-ESP-32S...
Если софтдевайс не вытерт то ни прошивки ни дебага не будет.
У меня без проблем обновляется. Китайский.
Я себе еще одну голубую пилюлю заказал. Штыри впаивать не буду, запаяю резисторы в дырки, кабель и затяну в усадку. Будет J-Link для бедных повседневного пользования. J-Link для NRF52 все же поскладнее будет.
Приветствую всех. А кто нибудь реализацию именное BLE 5 смог запустить? Обычные то примеры работают замечательно.
Некоторые из фишек BLE 5 на nRF52832 реализовать не получится из-за ограничений в аппаратной части. Если именно этот функционал критичен, то стоит рассмотреть вариант смены чипа на nRF52840.
платка E73-2G4M04S оказалась залоченной :(
to a5021
от питания модуля E73(vcc) к ноге VTref разъема j-link программатора.
а также сответственно землю , swdio, swdclk.
То что модуль залочен сообщил кейл и предложил снять защиту.
Как мне объяснили ребята , программатор должен знать с какими уровнями входных напряжений ему работать.
Похоже, что это нюансы функционирования J-Link, т.к. тот же ST-Link не нуждается ни в каких проводках кроме SWD и шьет модули не возбуждаясь по поводу залочки.
a5021, это "нюансы" полноценных линков и полный STLINK требует подключения VTREF или VTRGT.
От него запитываются трансляторы уровней. А на огрызках и версий OB их естественно нет...
Потому что раз сто уже озвучено, что в модуль прошит softdevice и залочен от перепрошивки ...
Вообще на самом деле все проще, на сайте сеггера есть софтинка по перепрошивке ST-linka в J-link, прошиваете , скачиваете Nrf-go и он уже сразу говорит нужно восстановить данную железку, разрешаете ему выполнить все оперции и дальше можно возвращать прошивку st-link на место и шить спокойно Кейлом.
Ну хорошо, там залит softdevice и он залочен , тогда как залить туда программу через ардуино иде , оставив softdevice ,
у меня только самодельный стлинк
Честно на счет самодельного стлинка не скажу, нету такого. Попробуйте его прошить в Jlink если он у вас прошьется то можно будет сделать как я описал выше через NRFgo
wallera, надо корректировать адреса флеша для своего софта, вектора сброса и прерываний....
wallera, надо корректировать адреса флеша для своего софта, вектора сброса и прерываний....
а можно по-подробнее для начинающего ....пожалуйста...
Это достаточно сложно для начинающего, в двух словах не объяснишь .
Здесь или использовать SDK с его настройками - как, куда и зачем расписано в мануале Getting started with Keil , либо юзать только bare_metall что собственно и описывает здесь a5021 .
nRF5 Series: Developing on
Windows with ARM ® Keil
MDK
Getting Started Guide
Это достаточно сложно для начинающего, в двух словах не объяснишь .
Здесь или использовать SDK с его настройками - как, куда и зачем расписано в мануале Getting started with Keil , либо юзать только bare_metall что собственно и описывает здесь a5021 .
А можно где то посмотреть пример как с помощью сдк создать проект не использующий 100500 файлов из самого сдк. Просто в сдк я проекты редактирую без проблем, но применение половины файлов для меня остается загадкой.
Не получится быть" слегка беременной"...
Или вы пользуете sdk либо bare_metall естественно без softdevice.
lenz, если вы о bare_metall , то здесь создание проекта ничем не отличается от других арм:
Хидеры CMSIS
Хидеры вендора
Стартап и систем_инит
Все есть в паках Keil.
В SES все натыкивается в визарде...
А в bare_metall работа с ble есть? или там тоже через костыли все?
Если сами напишите будет.
2dosikus
Ну а как же с https://github.com/sandeepmistry/arduino-BLEPeripheral
как Вам кажется с этого можно начать?
понятно. я вроде нашел реализацию Hal radio
А вообще можно вопросов позадавать ?) Если мне кроме бле ничего не надо мне же по сути SDK с softdevice не требуется? уж больно он много весит просто.
Ну а как же с https://github.com/sandeepmistry/arduino-BLEPeripheral
как Вам кажется с этого можно начать?
Работать с 52832 из под ардуино? там вроде все и так сверхпросто, все либы за нас уже написаны бери да лепи в кучу
wallera, причем здесь обсуждаемый девайс?
lenz, softdevice и есть радиочасть тобишь ble.
Вы, выходит, не читатель? Писатель больше? Просто на этот вопрос я уже отвечал в ветке.
Вы, выходит, не читатель? Писатель больше? Просто на этот вопрос я уже отвечал в ветке.
я упустил, ссори.) но я на ардуине с железкой не играю, у меня 52810 а она немного не стыкуется с ардуиной, я с кейла с ней играю. поэтому все упоминания ардуины и их либ пролистываю вскольз, применять их гемморойно в последнее время.
lenz, я работаю с сабжем чисто в кайле и SES, но ковыряние sdk на счет вычленения лишнего кроме softdevice задвинул в долгий ящик...
ясно. Огромный уж больно этот сдк....
nRF52 -- это Cortex-M + периферия от нордика, включая их оригинальный 2.4ггц радиоблок. Никаких блютузов в железе там нет и в помине. Весь функционал BLE обеспечивает SoftDevice, а интерфейс к нему SDK. Т.к. стек протоколов и пользовательская программа работают на одном и том же железе, встает вопрос безопасного совместного использования ресурсов МК. В SDK эта проблема решена через диспетчеризацию и приоритезацию доступа. Теоретически, ничто не мешает отказаться от SDK, только нужно быть готовым, что это не упростит жизнь, а существенно ее усложнит.
2 a5021 по посту
http://arduino.ru/forum/apparatnye-voprosy/moduli-e73-2g4m04s-na-baze-nr...
Код пока существует, как проект в KEIL-е. Собираюсь перебросить в Arduino IDE и как закончу выложу здесь.
ВЫ собирались перебросить в Arduino IDE, но .... ЖДЕМС....
Я помню о своем обещании, но пока времени не хватает. Постараюсь в ближайшее время вернуться к этому.
Кто нибудь пробовал к сему модулю какое нибудь устройство с I2C подключить, я пытался pcf8563 (часы-календарь ) приладить,чет не хочет работать .
wallera, все прекрасно работает.
Это код под Кеил, мне под Ардуино портированный нужен.
Ну ожидайте тогда чуда...
Честно говоря, вы даже не понимаете какую чушь несете.
Озвучьте плиз, по каким критериям вы опредили что это "код под кайло"?
Си он и в африке Си ...
Изучите примеры a5021 на первых страницах, может быть дойдет...