[riot-devel] Need some orientation about using vendor SDK when porting MCU

Cristiano Gavião cvgaviao at gmail.com
Fri Nov 3 17:03:36 CET 2017

Hi Hauke,

I took more time than I was expecting to understand the changes that the 
new version of TI's CC13x0 sdk [1] have brought.

The SDK have generalized some of its  functionalities to allow one 
application to run on more than one of TI's platforms and also use 
another RTOS.

They achieved that creating multiple highlevel drivers that interact 
with the lowlevel drivers and have created a set of 7 interfaces called 
DPL (Driver Porting Layer) that allows the SDK to interact with TI-RTOS 
or FreeRTOS when is necessary.

The high level SDK is now responsible to initialize the board, Gpio and 
interrupts and also peripherals as I2c, spi, watchdog, uart, etc. Also, 
the most important to me, manage power and RF, letting the SO to deal 
with threads and other lower level stuffs.

So, unfortunately seems that it is doing what RIOT-OS also is doing and 
won't be possible to do what I was having in mind initially (just reuse 
the highlevel drivers as package). But seems that the best approach will 
be to mimic some of its behaviour and use the low-level driver in the 
Riot-OS port.

I'm trying now to understand a bit more how Riot-OS works. For while, I 
just run some few native examples and read some pages at the github wiki.

I'm trying to find any documentation about how RIOT is managing power 
levels and also how it deals with watchdog, but couldn't find any. Who 
is responsible to initialize those services?

best regards,


1 - http://www.ti.com/tool/simplelink-cc13x0-sdk

On 30/10/2017 07:25, Hauke Petersen wrote:
> Hi Cristiano,
> I think in general, the inclusion of at least the vendor/firmware 
> headers for those CPUs should probably be done in a similar fashion 
> than the inclusion of the stellaris ware (cpu/stellaris_common). But 
> dependent on the amount of headers (or even library source files), it 
> would be definately worth a thought to consider adding the vendor 
> libraries as packages. This way there would be no need for keeping all 
> these files in the RIOT source tree directly, and code duplication 
> would not be an issue. Further, it would be simple to update the 
> libraries. Drawback here is, that we/someone would need to provide a 
> public available repository containing these libraries - I guess TI is 
> not doing this, right?
> Cheers,
> Hauke
> On 28.10.2017 13:47, Cristiano Gavião wrote:
>> Hello Riot Devs,
>> As I have written before, I would like to use Riot in my 6lowPan 
>> project that is using CC1310 and CC1350 MCU.
>> No long ago, Texas Instruments have separated its common provided SDK 
>> into CC13XXWARE and CC26XXWARE. Currently there are many code that 
>> are still equals, but I did a file to file compare using Meld and 
>> found significant differences between some of them (9 files).
>> What I heard was that in the next MCUs versions (CC1312 and CC1352) 
>> more differences will come...
>> Besides that, those MCU have written in they ROM the most used SDK's 
>> driverlib binaries. So using the binaries instead flash them can give 
>> us more space for the applications.
>> So I would like to use headers and driverlib from CC13XXWARE in a 
>> best way that would fit in Riot and also facilitate maintenance when 
>> new updated come.
>> Would like to hear suggestion about what would be the best approach 
>> to work on this.
>> thanks for any comment,
>> Cristiano
>> _______________________________________________
>> devel mailing list
>> devel at riot-os.org
>> https://lists.riot-os.org/mailman/listinfo/devel

More information about the devel mailing list