Hi Brenton,

I noticed there is `-e` in `FFLAGS` which performs a full erase of the rom so flashing a second slot while the first one or the bootloader is there cannot work.


We removed this full erase from all flashers for boards using `riotboot`. If the flasher erases only what is required for flashing it could be removed from the default configuration. And it was the case for `edbg/openocd/jlink`.

Regards,
Gaëtan

So you can try without the `-e` in `FFLAGS` and see if first flashing `slot1` works and if it is also not destroying your normal workflow ?

On 5/31/19 1:50 PM, Brenton Chetty wrote:
Hi Gaëtan, i managed to get the tests/riotboot to pass whilst using
'riotboot/flash-combined-slot0'. I also used the '-a' option For
'cc2538-bsl.py'. This allowed me to use the 'riotboot/flash-slot0'
successfully. However, i couldn't get slot 1 working. How do think i should
approach this problem. And currently i can only use 'riotboot/flash-slot0'
whilst using the '-a' option For 'cc2538-bsl.py'. What is the RIOT approach
to implementing this?

With regards
Brenton

On Mon, May 27, 2019 at 2:31 PM Gaëtan Harter <gaetan.har...@fu-berlin.de>
wrote:

Hi Brenton,

if you only use the default `riotboot/flash` or `flash` in
`tests/riotboot` targets, you do not need flasher changes.
But you should not use `riotboot/flash-slot0` and `riotboot/flash-slot1`
targets for the moment.

To have the support declared and merged in RIOT, it also needs to
support flashing the `slot-` firmwares alone. These require having
flasher that can flash with an offset`.

For `cc2538-bsl.py` it looks like there is the `-a` option for this.

Maybe changing it to use `IMAGE_OFFSET` if set would be enough.
An example is in

https://github.com/RIOT-OS/RIOT/blob/8fe12bc82cfbb83a90efd018e11c044d0a40696b/makefiles/tools/edbg.inc.mk#L14-L15

The `flash.sh` is currently using `jlink` without using the common
`jlink` scripts thing, it is in my todo list after
https://github.com/RIOT-OS/RIOT/pull/11554 to migrate to use the common
one where applicable.

Cheers,
Gaëtan

On 5/24/19 2:32 PM, Francisco Acosta wrote:
Hi Brenton!

So far I remember we didn't take it into account, and I don't know if
someone is taking care of it.

As far as I know, there are two ways of supporting that CPU:

1. The way we do it now, which is linking the image in another start
address so the bootloader can recognise it and boot it.

2. Modify the start address on the CC2538 register dedicated to this.
This might be a bit tricky but also interesting for the sake of research
and compatibility.

However, I'd advice the first option to have the full benefits of the
bootloader and struggling less with the particular settings on that
chip.

Overall, the steps would be the following:

1. Adapt the linker scripts to succeed tests/cortexm_common_ldscript.
This consists on making the linker scripts on cpu/cc2838/ldscripts
comply with cpu/cortexm_common/ldscrpts/cortexm.ld. You might take a
look how is it done for stm32 or sam0 families.

2. Provide the length and start variables to link slots correctly:
    - ROM_LEN
    - RAM_LEN
    - ROM_START_ADDR
    - RAM_START_ADDR

Again, take a look on the supported CPUs as examples.

3. Make tests/riotboot pass

4. Perform a firmware update or flash different firmwares with different
versions so the bootloader choses the newest.

Optionally you might want to test if the WIP SUIT update format works.

Don't hesitate to make more questions if you have some!

Cheers,

Paco.


On 24/05/2019 13:43, Brenton Chetty wrote:
Hey guys, has anyone succeeded in providing riotboot support for the
cc2538dk board as yet?

_______________________________________________
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel

_______________________________________________
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel
_______________________________________________
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel



_______________________________________________
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel

_______________________________________________
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel

Reply via email to