diff --git a/.travis.yml b/.travis.yml index 4ede432f..821e2e21 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,12 +18,12 @@ script: - go install github.com/aykevl/tinygo - go test -v . - make gen-device - - tinygo build -o blinky1.nrf.elf -target=pca10040 examples/blinky1 - - tinygo build -o blinky2.nrf.elf -target=pca10040 examples/blinky2 - - tinygo build -o blinky2 examples/blinky2 - - tinygo build -o test.nrf.elf -target=pca10040 examples/test - - tinygo build -o blinky1.nrf51.elf -target=microbit examples/echo - - tinygo build -o test.nrf.elf -target=nrf52840-mdk examples/blinky1 - - tinygo build -o blinky1.stm32.elf -target=bluepill examples/blinky1 - - tinygo build -o blinky1.o -target=arduino examples/blinky1 # TODO: avr-as/avr-gcc doesn't work - - tinygo build -o blinky1.o -target=digispark examples/blinky1 + - tinygo build -o blinky1.nrf.elf -target=pca10040 examples/blinky1 + - tinygo build -o blinky2.nrf.elf -target=pca10040 examples/blinky2 + - tinygo build -o blinky2 examples/blinky2 + - tinygo build -o test.nrf.elf -target=pca10040 examples/test + - tinygo build -o blinky1.nrf51.elf -target=microbit examples/echo + - tinygo build -o test.nrf.elf -target=nrf52840-mdk examples/blinky1 + - tinygo build -o blinky1.nrf51d.elf -target=pca10031 examples/blinky1 + - tinygo build -o blinky1.stm32.elf -target=bluepill examples/blinky1 + - tinygo build -o blinky1.avr.o -target=arduino examples/blinky1 # TODO: avr-as/avr-gcc doesn't work diff --git a/docs/targets.rst b/docs/targets.rst index 741dc3ec..33963109 100644 --- a/docs/targets.rst +++ b/docs/targets.rst @@ -28,6 +28,10 @@ technology (LLVM) as the proprietary ARM compiler for code generation. * `BBC micro:bit `_ (`nRF51822 `_) + * `Nordic PCA10031 + `_ + (`nRF51422 + `_) * `Nordic PCA10040 `_ (`nRF52832 diff --git a/src/machine/board_pca10031.go b/src/machine/board_pca10031.go new file mode 100644 index 00000000..afd0045d --- /dev/null +++ b/src/machine/board_pca10031.go @@ -0,0 +1,32 @@ +// +build nrf51,pca10031 + +// pca10031 is a nrf51 based dongle, intended for use in wireless applications. +// +// https://infocenter.nordicsemi.com/pdf/nRF51_Dongle_UG_v1.0.pdf +package machine + +// The pca10031 has a 32kHz crystal on board. +const HasLowFrequencyCrystal = true + +// LED on the pca10031 +const ( + LED = LED_RED + LED1 = LED_RED + LED2 = LED_GREEN + LED3 = LED_BLUE + LED_RED = 21 + LED_GREEN = 22 + LED_BLUE = 23 +) + +// UART pins +const ( + UART_TX_PIN = 9 + UART_RX_PIN = 11 +) + +// I2C pins (disabled) +const ( + SDA_PIN = 0xff + SCL_PIN = 0xff +) diff --git a/targets/pca10031.json b/targets/pca10031.json new file mode 100644 index 00000000..d0dd3d46 --- /dev/null +++ b/targets/pca10031.json @@ -0,0 +1,7 @@ +{ + "inherits": ["nrf51"], + "build-tags": ["pca10031"], + "flash": "nrfjprog -f nrf51 --sectorerase --program {hex} --reset", + "ocd-daemon": ["openocd", "-f", "interface/cmsis-dap.cfg", "-f", "target/nrf51.cfg"], + "gdb-initial-cmds": ["target remote :3333", "monitor halt", "load", "monitor reset", "c"] +}