You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mynewt.apache.org by Izidor Makuc <iz...@gmail.com> on 2018/01/10 22:18:18 UTC

nrf52810

Hi,
i was porting my app from the nrf52832 to the nrf52810 today. There
were following problems encountered:

1)  The struct hal_flash was missing
In hal_flash.c there is struct hal_flash nrf52k_flash_dev which is
enabled with a define like this:
// code missing ...
 //#elif defined(NRF52832_XXAA)
//const struct hal_flash nrf52k_flash_dev = {
//    .hf_itf = &nrf52k_flash_funcs,
//    .hf_base_addr = 0x00000000,
//    .hf_size = 512 * 1024,    /* XXX read from factory info? */
//    .hf_sector_cnt = 128,    /* XXX read from factory info? */
//    .hf_align = 1
//};
// code missing ...

This defines (NRF52832_XXAA, ...) are defined in the nordic sdk. The
problem is myNewt is using sdk 11 which was relesed before the
nrf52810 so the define for it is missing. As there was mentioned on
slack, nordic published the nrfx
(https://github.com/NordicSemiconductor/nrfx), the bsd licensed hal
for the nrf52810 chips. The nrfx also supports the nrf52810. As it was
mentioned on slack the sdk11 will be switched with the nrfx in the
future.

2) Because of the smaller flash size, the sysflash should be redefined
to fit the smaller size. There is a problem that the sysflash is not
documented so I was jumping around the code trying to figure it out. I
had the following questions, which are probably common ones for
someone trying to figure it out.
- Which part of the core is using this sections, are ther really
needed for my usecase
- Is there any size constraint for each section (so how many sectors
is minimum for each section)
- ...

3) linker script update to reflect new ram and flash size
4) removing hw floating point cflag

The bluetooth, usart(with shell) and i2c driver are working fine
without any modifications.

Thats my 2 cents.

Br, I