[riot-devel] CC2538dk Riotboot support

Brenton Chetty brent7984 at gmail.com
Fri May 31 13:50:08 CEST 2019


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.harter at 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 at riot-os.org
> >> https://lists.riot-os.org/mailman/listinfo/devel
> >>
> > _______________________________________________
> > devel mailing list
> > devel at riot-os.org
> > https://lists.riot-os.org/mailman/listinfo/devel
> _______________________________________________
> devel mailing list
> devel at riot-os.org
> https://lists.riot-os.org/mailman/listinfo/devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/devel/attachments/20190531/8e6b42de/attachment.html>


More information about the devel mailing list