Как я могу прошить устройство NRF51822 Cortex-M0 ?

Rogerclark
Пт 23 октября 2015 г. 1:16
Привет, ребята,

У меня есть несколько MCU Cortex-M0 (Nordic NRF51822), и я надеялся прошить их программистом для клонов J-Link Clone, однако у меня есть ощущение, что программист поддерживает только ядра высокого класса, а не простые из них

Я пытался подключить его к STM32 лет назад, но ни к чему не добрался, поэтому я полагаю, что он тоже не поддерживает M3

Я не думаю, что есть способ использовать Stlink в качестве общего инструмента программирования SWD, E, E.глин. Используя OpenOCD ??

ZMEMW16
Пт 23 октября 2015 г., 2:17
может помочь?

http: // redbearlab.com/nrf51822-sdk/

Ссылка внизу с примером приложения
https: // www.Nordicsemi.com/eng/nordic/d ... 7/79799228
этот хочет, чтобы вы вошли

Согласно файлам архива оборудования, 23 & 24 на чипе (??) SWDIO и SWCLK, и если я правильно прочитал цепь, они отделены от основного разъема 31? Ссылки P0.00 - P0.30

SRP

Rogerclark
Пт 23 октября 2015 г., 3:07
Спасибо @zmemw16

Как это устройство Arm, у него будет SWC и SWD -линия, как у STM32.

Но, кажется, имеет значение, какая «кора» находится внутри устройства.

STM32F103-Cortex-M3, где, как скандирующая часть, которую я пытаюсь вспыхивать,-это кора-мл

Я не думаю, что Stlink будет работать с северной частью, даже думая, что у него есть линии SWC и SWD, поскольку программное обеспечение Stlink не поймет архитектуру M0

Поэтому я думаю, что мне нужно купить еще один инструмент программирования SWD, но я не уверен, что.

Rogerclark
Пт 23 октября 2015 г. 3:09
Обновлять.

Я думаю, что мне нужно связаться с @RickKimbal об этом, так как я вижу, что он сделал сообщение о чем -то подобном в своем блоге

http: // fabooh.com/2014/02/28/cortex-m0- ... дешевый/

Рик Кимбалл
Пт 23 октября 2015 г., 3:30
Вы пробовали свой Blackmagic Lesse STM32F103C8? Это должно работать:

https: // github.com/rickkimball/blackmag ... RC/NRF51.в

Похоже, что OpenOCD также имеет поддержку NRF51 с ST Link в качестве отладчика.

https: // devzone.Nordicsemi.com/вопрос ... d-openocd/

-рик

Rogerclark
Пт 23 октября 2015 г., 4:51
Рик

Извини. Я устроил вам личку, а затем заметил, что вы ответили

Я проверю эти ссылки

Спасибо

Роджер

Обновлять.

Я думаю, что я думаю, что мой лучший вариант будет для проклятия BMP на F103C8 (или я также могу попробовать прошить на GD32F103C8 - как у меня больше их))

Я дам тебе знать, как я

Спасибо

Роджер

Рик Кимбалл
Сб 24 октября 2015 г. 14:13
Что бы это ни было, я подключил LPC812 (NXP Cortex-M0+) на плате прорыва. BMP работал с этим отлично.
$ arm-none-eabi-gdb -ex 'target extended-remote /dev/ttyACM0' -ex 'mon swdp_scan' -ex 'attach 1' build/blinky.elf GNU gdb (GNU Tools for ARM Embedded Processors) 7.6.0.20140731-cvs Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "--host=i686-linux-gnu --target=arm-none-eabi". For bug reporting instructions, please see: ... Reading symbols from /home/kimballr/github/lpc8xx/build/blinky.elf...done. Remote debugging using /dev/ttyACM0 Target voltage: Not Implemented! Available Targets: No. Att Driver 1 LPC8xx Attaching to program: /home/kimballr/github/lpc8xx/build/blinky.elf, Remote target delay_ms (ms=ms@entry=450) at main.c:29 29 asm("nop"); (gdb) load Loading section .text, size 0x1e0 lma 0x0 Start address 0xca, load size 480 Transfer rate: 2 KB/sec, 480 bytes/write. (gdb) b main Breakpoint 1 at 0x16a: file main.c, line 36. (gdb) r The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /home/kimballr/github/lpc8xx/build/blinky.elf Note: automatically using hardware breakpoints for read-only addresses. Breakpoint 1, main () at main.c:36 36 LPC_FLASHCTRL->FLASHCFG &= ~(0b11); // configure flash for 0 wait state (gdb) (gdb) n 37 SysTick_Config(12000000 / 1000); // 12Mhz / 1000 (gdb) n 39 LPC_GPIO_PORT->DIR0 |= LED_MASK; // set pin as output (gdb) c Continuing. ^C Program received signal SIGINT, Interrupt. delay_ms (ms=ms@entry=450) at main.c:29 29 asm("nop");

Rogerclark
Сб 24 октября 2015 г., 19:47
Спасибо, Рик

У меня еще не было времени, чтобы подключить мою кору MCU, но я надеюсь сделать это сегодня.

В долгосрочной перспективе я также искал лучшие способы прошить ESP8266 на основе Xtensa, и я думаю, что BMP также может быть возможной.
Однако я не уверен, ребята из ESP8266.com еще не сглаживал openocd с ESP8266.

Рик Кимбалл
Сб 24 октября 2015 г., 8:21 вечера
Какая доска NRF51 это? Или вы катили свой собственный?

Rogerclark
Солнце 25 октября 2015 г., 4:12
NRF51822 от eBay

Изображение

Рик Кимбалл
Солнце 25 октября 2015 г., 17:13
Довольно гладко. Спасибо, я не понимал, что были недорогие доски eBay. Я только что заказал пару, которая выглядит физически.

-рик

Rogerclark
Солнце 25 октября 2015 г., 8:02 вечера
Не беспокойся...

Я купил 2 из них месяц или два назад, но у меня не было времени даже привлечь их.

Я не знаю, придут ли они вообще предварительно сокрушены.

Думаю, я должен хотя бы попытаться поставить одного из них мощностью и посмотреть, появится ли что -нибудь в приложении BLE Scanner на моем старом iPhone.

Rogerclark
Пн 26 октября 2015 г. 8:50 утра
Рик. Кстати.

Эти модули Nrf51822 не имеют кондиционеров, которые находятся на одинаковом расстоянии друг от друга, как и я нормально.

Каждый ряд булавок, кажется, на расстоянии 2 мм друг от друга, а не нормальный 2.5 мм (0.1 дюйм)

Кроме того.

Так что я сделал, так это припаять отдельные булавки сверху, чтобы обеспечить силу и т. Д

Я видел «материнскую доску» для этого модуля на eBay и AliexPress примерно за 15 долларов, но в основном это всего лишь куча заголовков, хотя он также включает в себя USB -серийный чип, который, как я предполагаю, подключен к двум выводам на Заголовок для модуля NRF51822.
На самом деле, глядя на распину в спецификации, я не вижу, чтобы какие -либо булавки были посвящены UART, поэтому, возможно, ее настраиваются, какие контакты используют UART (но не цитируйте меня об этом)

КСТАТИ. Я попробовал его питать, но я думаю, что модули пустые и не вспыхнули с нордической демонстрационной прошивкой. я.E Я попытался запустить приложение для iPhone Nordic Demo, но оно ничего не мог найти.

Rogerclark
Ср 28 октября 2015 г., 22:59
Просто обновление.

Я могу использовать обычный адаптер Stlink в качестве отладчика с NRF51822 с использованием openocd

Stlink прикрепляет ОК, но статус в настоящее время заключается в том, что когда я пытаюсь пропустить шестнадцатеричный файл на доску, OpenOCD не дает мне никаких отзывов, поэтому я подозреваю, что на самом деле он ничего не делает

КСТАТИ.
Я компилируюсь с использованием Eclipse (Kepler), и я, кажется, могу генерировать файлы шестнадцатеричного и бин, но, поскольку эти файлы являются примерами, они, кажется, не делают ничего полезного, например, мигание и светодиод, так что я точно знаю Они бегают

Я подозреваю, что мне нужно адаптировать пример BLE, который, кажется, компилируется, и заставить его прошить светодиод на штифте GPIO, просто чтобы я знаю, что прошивка на устройство сработало (что, я не думаю, происходит на момент)

Rogerclark
Чт 29 октября 2015 г. 9:35 утра
ХОРОШО.

Я получил немного дальше.

Я нашел причину, по которой я не мог, казалось, пропустил устройство, заключалась в том, что вытаскивание в OpenOCD (127.0.0.1 4444), и используя Flash write_image strase xxx.bin 0, похоже, не понравился путь к файлу

Я попробовал полный путь Windows, с задними чертами (как и нормой для Windows), но он не сработал.

Поэтому я перемещаю файл корзины в папку, где openocd был запущен от I.E, где находится EXE (как я обнаружил, набрав PWD, что его путь по умолчанию был там, где был его EXE)
Тогда только что переиздал команду
flash write_image erase PATH-TO-YOUR-BINARY/YOUR-BINARY.bin 0

Rogerclark
Чт 29 октября 2015 г. 9:58 утра
ХОРОШО.
Больше прогресса - хорошо...

Я обнаружил, что Redbear Labs имеет ядро ​​Arduino и загрузчик

Я пропустил их шестигранный файл загрузчика из

https: // github.com/redbearlab/nrf51822- ... погрузчик.гекс

И устройство теперь появляется на BLE в виде устройства DFU !!

Я не совсем уверен, как загрузить из Windows на устройство BLE DFU, но, по крайней мере, я знаю, что мигание работает, но моя сборка кода, по -видимому, не для.

Озан
Чт 29 октября 2015 г. 10:19
Если вы пытаетесь загрузить демонстрацию BLE, вы также должны загрузить SoftDevice (стек BT) в область SoftDevice. Поскольку компилятор MBED внедряет SoftDevice в двоичный файл, вы можете попытаться загрузить примеры MBED, чтобы увидеть, успешно ли он загружается.

Rogerclark
Чт 29 октября 2015 г. 10:51
ОК, больше прогресса...

Я думаю, что я пропустил программу, составленную в Arduino IDE, используя DFU с моего телефона Android до NRF51822
с использованием https: // github.com/redbearlab/nrf51822-arduino
Это довольно сложно сказать, потому что эскиз, похоже, говорит BLE «рекламировать», используя скандисный код, который мой общий сканер не видит

Однако, если я составляю пример UART из примера RedBearlab и вспыхиваю через мой телефон через DFU, то если я запускаю приложение Nordic TooBox на своем телефоне, оно видит и подключается к устройству Ble UART

Однако приложение Nordic не очень полезно при этом, так как оно, похоже, не имеет способа ввести команды на устройство DFU, но, возможно, я смогу найти другое приложение, которое совместимо с профилем устройства Nordic Uart Ble Ble

Rogerclark
Пт 30 октября 2015 г., 3:24
Озан написал:Если вы пытаетесь загрузить демонстрацию BLE, вы также должны загрузить SoftDevice (стек BT) в область SoftDevice. Поскольку компилятор MBED внедряет SoftDevice в двоичный файл, вы можете попытаться загрузить примеры MBED, чтобы увидеть, успешно ли он загружается.