Skip to content
joric edited this page Aug 23, 2020 · 17 revisions

A fork of sekigon's nrf52 to work with nRF51 and lowmem devices such as YJ-14015.

This fimrware doesn't work, neither on 32K nor on YJ-14015 (16K RAM) modules yet. Use bluetosis firmare for now.

It could work if you try running it on the Core51822s modules (32K RAM) but I don't have those so I didn't try writing for them.

See nrf5x branch for mitosis_ble (actually it's jorian_ble but I decided to use mitosis name for now, layout is pretty much compatible):

You will need SDK13, not SDK15 for this branch.

Major changes

  • added MASTER_LOWMEM define and master_lowmem.c for nR51822 QFAA (16K RAM) modules
  • added UART wrapper for debug, see sdk_config.h:
#define RETARGET_ENABLED 1 // UART wrapper
#define APP_UART_ENABLED 1 // UART wrapper
#define APP_FIFO_ENABLED 1 // UART wrapper

  • fixed "error: target CPU does not support ARM mode" (ASFLAGS += -mcpu=cortex-m0 -mthumb)
  • fixed wchar size warnings (LDFLAGS += -Wl,--no-wchar-size-warning)

Issues

  • Current ble_master.c overflows RAM by 1792 bytes (1780 bytes without neopixel.c), ble_master_lowmem.c does not support slave pairing, figure out how to reduce codebase so it would work.

  • NRF_LOG_BACKEND_SERIAL_UART_TX_PIN defined in custom_board.h does not work (NRF_LOG_ENABLED works). The only option that works is to edit NRF_LOG_BACKEND_SERIAL_UART_TX_PIN in sdk_config.h.

Clone this wiki locally