Page 1 of 2

[PCA10028/NRF51] - Building for the nRF51822 - PCA10028 board - some advice?

Posted: Sat Nov 30, 2019 10:46 pm
by bgolab
Hi,

I tried to follow the build instructions posted here:
https://github.com/micropython/micropyt ... /ports/nrf

both for non BLE:
make BOARD=pca10028

and BLE setup:
make BOARD=pca10028 SD=s110

I managed to build hex file withou any problems.
-----------------------
Let's focus on the first non BLE build.

I took the hex file and flashed the board (I am C developer so the flashing the boards is an easy task for me).
Unfortunately after flashing the board the board is silent (I see no uart output).

I tried a few uart speeds (115200, 9600, 38400).

If someone could share his/her experience in building for nrf51822 board (aka PCA10028).

Thanks you,
bogdan

Re: Building for the nRF51822 - PCA10028 board - some advice?

Posted: Sun Dec 01, 2019 1:03 pm
by c45713
Hi bogdan,

I did play with the pca10028 as recent as this week. For me it did work.

Could you try hit the reset button on the board a few times to see if it eventually comes up?

There has also been a recurring issue with Segger and RTS/CTS. You might want to try disable Flow Control in the boards/mpconfigboard.h to see if you can get REPL up without RTS/CTS. If this works, you can re-enable it, and pull the RTS pin to Ground with a wire.

For reference, i've been using the Jlink version 6.42d.

Re: Building for the nRF51822 - PCA10028 board - some advice?

Posted: Sun Dec 01, 2019 5:29 pm
by bgolab
Thank you for your comments.

1. First, I use BLE400 board for this purpose. I use this board as a substitute for PCA10028 without any issue when developing programs in C.

2. Yes, my board needs to be reset manually after flashing. Actually I turn off/on the board. And it looks like I do not get anything through the UART (Pin 9, Pin 11). The UART was tested several times - either through C compiled programs or espruino (javascript interpreter).
So the UART hardware is working - just uploaded espruino on the board to verify it.
I looked int the Micropython repository and I believe that the Pin9/11 are used for the uart.

3. I use ST-LINK to flash it (hex file is uploaded to the board using Keil IDE). I did it many times for C compiled programs and also for javascript interpreter (espruino). This worked always reliably - I mean the flashing process out of the hex file.

4. My build environment looks like this:
- fresh Ubuntu 18.04.3 LTS installed on the VMWare player
- all required packages installed
- git micropython cloned
- then make called using the cli command: 'make BOARD=pca10028' to produce the hex file
- the hex file is used to flash the board

If you could share some details regarding the building process/environment you use I'd be grateful.

5. If you could share the hex file I would test it on my board - this way I could verify if the building process is right.

Thank you!

Re: Building for the nRF51822 - PCA10028 board - some advice?

Posted: Sun Dec 01, 2019 7:01 pm
by bgolab
6. I tried to remove the RTS/CTS lines from the mpconfigboard.h but the build fails in this case due to lack of the RTS/CTS pins defined.
7. It looks like the RTS/CTS lines are in LOW state ( I believe LOW means accept new data).

Re: Building for the nRF51822 - PCA10028 board - some advice?

Posted: Sun Dec 01, 2019 7:49 pm
by c45713
I found the schematic for the BLE400 board: https://www.waveshare.com/w/upload/1/1b ... ematic.pdf
I have not studied in detail yet, but i suggest that we also try to swap the RX and TX. As this is not really clear to me in the schematic.

Attaching the 3 hex files i have generated from today's master.

Re: Building for the nRF51822 - PCA10028 board - some advice?

Posted: Sun Dec 01, 2019 8:17 pm
by bgolab
I studied the schematic: CP2102 pin 26 (=TXD) is connected to the pin P11 of the nrf51822.
The pins.csv defines the P11 as RX:
UART_TX,P9
UART_RX,P11

It looks fine for me.

Please clarify what the 'fc' means in your file name scheme.

Thanks

Re: Building for the nRF51822 - PCA10028 board - some advice?

Posted: Sun Dec 01, 2019 8:18 pm
by bgolab
ok, it's flow control. thanks

Re: Building for the nRF51822 - PCA10028 board - some advice?

Posted: Sun Dec 01, 2019 8:32 pm
by bgolab
Problem solved!

I tried your firmware_pca10028_fc.hex (btw. it's different from my non-ble image).
And it did not work.

And here is the sad part: I had the st-link programmer connected to the board. After disconnecting it all works fine. It also works fine when the usb side of the st-link is connected to the PC.

Shame!.

Thank you very much for your support. The firmware_pca10028_fc.hex was really useful to be sure that the build is OK. You also made me look into the schematic.

Of course it is interesting why my build is different from yours!.

Re: Building for the nRF51822 - PCA10028 board - some advice?

Posted: Sun Dec 01, 2019 8:44 pm
by c45713
Yeay! :D I'm glad to hear that it worked out!

I can only speculate on why our builds are different. Maybe the compiler might have an impact. I built these with arm-none-eabi 8-2018-q4-major (aka 8.2.1).

Re: Building for the nRF51822 - PCA10028 board - some advice?

Posted: Sun Dec 01, 2019 8:57 pm
by bgolab
Right. Mine is little bit older - it's 6.3.1.

I'll enjoy the current build today. Then I'll try BLE. Actually the NUS.

Thanks again!