Reporting back on progress here, am beginning to use the Feather nRF9160 in the development platform so I went to program it and tried many times with the bootloader.
Not knowing if it was a pin routing issue or some other issue I tried quite a few different pin mapping combinations (for UART2) but could not get any response after loading with the bootloader.
Of course I didn’t notice the fine print “IMPORTANT: updates above 192kB will not work with the current version of the bootloader. Examples like the asset_tracker require a programmer.” on the page
https://docs.jaredwolff.com/nrf9160-programming-and-debugging.html
It appears the program I am attempting to load, serial lte modem, is about 202Kb in side, just above that limit. Pulled out the nRF9160DK and loaded it with nrfjprog, but in doing so I wiped out the bootloader (oops). I will try to recover it later, but the good news is I got the pin layout fixed for UART2 so I would like to report some things about it.
I am using the following two pins for UART2 communication and here is the routing that I discovered.
The GPIO numbers appear to refer to the actual GPIO numbers on the MCU, so P0.03 is 3, etc, and it appears to be a little different than the silkscreen numbers.
Here is the pin mapping from the overlay file (circuitdojo_feather_nrf9160ns.overlay):
&uart1 {
status = "okay";
current-speed = <115200>;
tx-pin = <0>;
rx-pin = <2>;
};
&uart2 {
compatible = "nordic,nrf-uarte";
//current-speed = <921600>;
current-speed = <115200>;
// for CTS RTS support
/*
tx-pin = <4>;
rx-pin = <2>;
rts-pin = <3>;
cts-pin = <0>;
hw-flow-control;
*/
// without CTS RTS support
tx-pin = <3>; // Feather nRF9160 D7 (as marked on the silkscreen)
rx-pin = <1>; // Feather nRF9160 D5 (as marked on the silkscreen)
};
This appears to follow the Actinius Icarus, however I never was able to find the schematics for the Icarus. Something that I would like to have if anyone knows where to get them. I can’t find it on their website, is it buried?
Anyway, this time around I ran into those two issues, one with the pin mapping, and the other with the bootloader loading. It appeared to load correctly but did not do anything when reset. For reference here are the two commands I used, one for the bootlaoder, the other for nrfjprog, for reference.
I am also going to attach the two bin files here for you to look at. You should receive serial output on the two pins D5 and D7 upon powerup/reset, nothing will come through the USB connection. Baud rate is 115200.
/opt/nordic/newtmgr conn add serial type=serial connstring=‘dev=/dev/tty.SLAB_USBtoUART,baud=1000000’
/opt/nordic/newtmgr -c serial image upload build/zephyr/app_update.bin
/usr/local/bin/nrfjprog -f NRF91 –program build/zephyr/merged.hex –sectorerase
The compiled project, and all related is here, nRF SDK version 1.4.99-dev1.
https://www.drassal.net/filestore/serial_lte_modem_circuitdojo_feather_nrf9160_20210128.zip
(Still can’t get a file to upload, dragging it into here just copies the text of the filename it seems)
If you would like to look, see if you can get the file build/zephyr/app_update.bin to work with the bootloader. Confirmed mixed.bin works with nrfjprog. No rush on this though, since I have a work around now with nrfjprog.