On 13-06-16 22:39, Peter Kietzmann wrote:
Hi Kees,

honestly just now I got your actual problem and I remember what I stumbled upon this morning:

# define the cpu used by SAMR21 Xplained Pro board
export CPU = samd21
export CPU_MODEL = samr21x18a

https://github.com/RIOT-OS/RIOT/blob/master/boards/samr21-xpro/Makefile.include

However, I won't say "for RIOT that's good enough". To summarize: The main questions are (i) how to split different CPUs/MCUs with rather small differences and (ii) how to reuse most of the code. Right?

Correct.

For (ii) it would obviously be the best way to have drivers and stuff in the common folder. Personally I have no idea if this is possible or not, it depends on the differences. If these are too big, one needs to stay with a separate CPU folder for each "family".

Yes, that is certainly possible. All these SAM devices can be handled with a common code base. Someone already started such a common place: cpu/sam21_common. We should continue with that.

If you ask me, I'd say that already a lot of files from cpu/samd21/periph can be moved to cpu/sam21_common.

For (i) won't it be enough to export the CPU_MODEL by the board and adjust the include paths properly, as done e.g. here?

Yes, that is the right thing to do. For Atmel there is one more thing: CFLAGS must have a define like -D__SAMD21J18A__,
otherwise the correct include files aren't selected.


https://github.com/RIOT-OS/RIOT/blob/master/cpu/stm32f3/include/cpu_conf.h#L27

One other question is the need for changing the CPU name of the Atmel samr21-xpro board from "samd21" to "samr21". In your regards I think it could make sense but with a solution as described in (i) above, there won't be a need for that. Do I see that correctly?

I don't care too much how the CPU is called. But maybe it is useful to know which CPU variant
it is, like SAMD21J18A.


Generally I'm not too much into Atmels product series and I would like to hear Kaspar's opinion as he knows RIOTs architecture much better than me.

I'd be interested to know what Kaspar thinks about it.

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

Reply via email to