Hi Simon, I have a source tree of openocd 0.10 with that capability. And I have built versions for Linux/MacOS as well, although you probably don’t want those.
Let me know if you want me to send the source tarball. I should be able to generate a patch file out of it too. Bummer that the binaries are not there anymore. I use openocd to flash nrf52 occasionally. > On Jan 25, 2019, at 10:39 PM, Simon Ratner <si...@proxy.com> wrote: > > Correct, the version of openocd in homebrew does not work with nRF52. There > used to be a link to pre-built binaries that do work, but that link is gone > in the latest version of the docs. I have just run into this myself - no > idea why/when the docs were changed. > > Compare: > http://mynewt.apache.org/v1_4_0/get_started/native_install/cross_tools.html#installing-openocd-on-mac-os > http://mynewt.apache.org/latest/get_started/native_install/cross_tools.html#installing-openocd-on-mac-os > > There is still a comment about this in the new docs (in the previous > section), but the link to download is gone and the instructions tell you to > install from brew, which does not work. > > simon > > > On Thu, Jan 3, 2019 at 8:09 AM Fabio Utzig <ut...@apache.org> wrote: > >> Hi Duane, >> >> I believe, but am not entirely sure, that OpenOCD 0.10.0 release was not >> able to flash nrf52x devices. I would suggest installing the latest from >> git. If using homebrew: >> >> $ brew install --HEAD open-ocd >> >> Or "reinstall" might work (sorry, not macOS user here!) >> >> Best, >> Fabio >> >> On Thu, Jan 3, 2019, at 1:26 PM, Duane Hooton wrote: >>> I am attempting to establish a newt environment on a MacBook running >>> Mojave. This is a new computer and only supports usb-c ports. I have >>> attached a newt nano2 through an adapter to one of these ports. >>> >>> I have meticulously followed the steps to produce the Blinky app and >>> associated boot loader. Here is the output from newt target show: >>> >>> targets/my_blinky_sim >>> >>> app=apps/blinky >>> >>> bsp=@apache-mynewt-core/hw/bsp/native >>> >>> build_profile=debug >>> >>> targets/rbnano2_blinky >>> >>> app=apps/blinky >>> >>> bsp=@apache-mynewt-core/hw/bsp/rb-nano2 >>> >>> build_profile=debug >>> >>> targets/rbnano2_boot >>> >>> app=@apache-mynewt-core/apps/boot >>> >>> bsp=@apache-mynewt-core/hw/bsp/rb-nano2 >>> >>> build_profile=optimized >>> >>> The targets build successfully but when I attempt to load them I get the >>> following output: >>> >>> newt load rbnano2_blinky -v >>> >>> Loading app image into slot 1 >>> >>> Load command: >>> /Users/dhooton/Documents/projects/proxy/blinky/repos/apache-mynewt-core/ >>> hw/bsp/rb-nano2/rb-nano2_download.sh >>> /Users/dhooton/Documents/projects/proxy/blinky/repos/apache-mynewt-core/ >>> hw/bsp/rb-nano2 >>> bin/targets/rbnano2_blinky/app/apps/blinky/blinky >>> >>> Environment: >>> >>> * FEATURES=BASELIBC_PRESENT BSP_NRF52 CONSOLE_UART_BAUD CONSOLE_UART_DEV >>> CONSOLE_UART_FLOW_CONTROL FLASH_MAP_MAX_AREAS HAL_FLASH_VERIFY_BUF_SZ >>> I2C_0_FREQ_KHZ I2C_0_PIN_SCL I2C_0_PIN_SDA I2C_1_FREQ_KHZ >> MCU_DCDC_ENABLED >>> MCU_FLASH_MIN_WRITE_SIZE MCU_NRF52832 MSYS_1_BLOCK_COUNT >> MSYS_1_BLOCK_SIZE >>> NFC_PINS_AS_GPIO OS_CPUTIME_FREQ OS_CTX_SW_STACK_GUARD >>> OS_IDLE_TICKLESS_MS_MAX OS_IDLE_TICKLESS_MS_MIN OS_MAIN_STACK_SIZE >>> OS_MAIN_TASK_PRIO OS_SCHEDULING OS_SYSVIEW_TRACE_CALLOUT >>> OS_SYSVIEW_TRACE_EVENTQ OS_SYSVIEW_TRACE_MUTEX OS_SYSVIEW_TRACE_SEM >>> QSPI_FLASH_SECTOR_COUNT QSPI_PIN_CS QSPI_PIN_DIO0 QSPI_PIN_DIO1 >>> QSPI_PIN_DIO2 QSPI_PIN_DIO3 QSPI_PIN_SCK SANITY_INTERVAL >>> SPI_0_MASTER_PIN_MISO SPI_0_MASTER_PIN_MOSI SPI_0_MASTER_PIN_SCK >>> SPI_0_SLAVE_PIN_MISO SPI_0_SLAVE_PIN_MOSI SPI_0_SLAVE_PIN_SCK >>> SPI_0_SLAVE_PIN_SS SPI_1_MASTER_PIN_MISO SPI_1_MASTER_PIN_MOSI >>> SPI_1_MASTER_PIN_SCK SPI_1_SLAVE_PIN_MISO SPI_1_SLAVE_PIN_MOSI >>> SPI_1_SLAVE_PIN_SCK SPI_1_SLAVE_PIN_SS SYSINIT_CONSTRAIN_INIT TIMER_0 >>> UARTBB_0_PIN_RX UARTBB_0_PIN_TX UART_0 UART_0_PIN_CTS UART_0_PIN_RTS >>> UART_0_PIN_RX UART_0_PIN_TX UART_1_PIN_CTS UART_1_PIN_RTS >> WATCHDOG_INTERVAL >>> XTAL_32768 >>> >>> * FLASH_OFFSET=0x8000 >>> >>> * IMAGE_SLOT=0 >>> >>> * >>> CORE_PATH=/Users/dhooton/Documents/projects/proxy/blinky/repos/apache- >>> mynewt-core >>> >>> * >>> BSP_PATH=/Users/dhooton/Documents/projects/proxy/blinky/repos/apache- >>> mynewt-core/hw/bsp/rb-nano2 >>> >>> * BIN_BASENAME=bin/targets/rbnano2_blinky/app/apps/blinky/blinky >>> >>> Error: >>> >>> Downloading bin/targets/rbnano2_blinky/app/apps/blinky/blinky.img to >> 0x8000 >>> >>> Open On-Chip Debugger 0.10.0 >>> >>> Licensed under GNU GPL v2 >>> >>> For bug reports, read >>> >>> http://openocd.org/doc/doxygen/bugs.html >>> >>> Info : auto-selecting first available session transport "swd". To >> override >>> use 'transport select <transport>'. >>> >>> adapter speed: 10000 kHz >>> >>> cortex_m reset_config sysresetreq >>> >>> Info : CMSIS-DAP: SWD Supported >>> >>> Info : CMSIS-DAP: Interface Initialised (SWD) >>> >>> Info : CMSIS-DAP: FW Version = 1.0 >>> >>> Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1 >>> >>> Info : CMSIS-DAP: Interface ready >>> >>> Info : reduce speed request: 10000kHz to 5000kHz maximum >>> >>> Info : clock speed 10000 kHz >>> >>> Info : SWD DPIDR 0x2ba01477 >>> >>> Info : nrf52.cpu: hardware has 6 breakpoints, 4 watchpoints >>> >>> target halted due to debug-request, current mode: Thread >>> >>> xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc >>> >>> .openocd_cmds:6: Error: invalid subcommand "write_image erase >>> bin/targets/rbnano2_blinky/app/apps/blinky/blinky.img 0x8000" >>> >>> in procedure 'script' >>> >>> at file "embedded:startup.tcl", line 60 >>> >>> in procedure 'flash' called at file ".openocd_cmds", line 6 >>> >>> >>> >>> load - Load application image on to the board for <target-name> >>> >>> >>> Usage: >>> >>> newt load <target-name> [flags] >>> >>> >>> Flags: >>> >>> --extrajtagcmd string Extra commands to send to JTAG software >>> >>> >>> Global Flags: >>> >>> -h, --help Help for newt commands >>> >>> -j, --jobs int Number of concurrent build jobs (default 8) >>> >>> -l, --loglevel string Log level (default "WARN") >>> >>> -o, --outfile string Filename to tee output to >>> >>> -q, --quiet Be quiet; only display error output >>> >>> -s, --silent Be silent; don't output anything >>> >>> -v, --verbose Enable verbose output when executing commands >>> >>> I have also tried the steps to remove write protection but without >> changing >>> the result. Any ideas on why the attempt to write/erase flash is failing? >>> It seems clear that I am communicating with the device. >>> >>> Thanks! >>> >>> -- >>> “Reality is merely an illusion, albeit a very persistent one.” Alert >>> Einstein >>