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 <[email protected]> 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
>

Reply via email to