[riot-devel] RIOT vectors for Smartfusion2 port

Ashim Asharaph AAsharaph at csir.co.za
Wed May 29 14:03:58 CEST 2019


Dear Juan and Hauke

Thank you for the suggestions.

To answer Juan's questions, I am not too sure about whether the vectors will change or not. It is likely but I might have to get a better understanding to know whether that is the case or not. The peripherals will definitely change though, depending on the FPGA configuration we use. We do have some ideas in mind on how to tackle this but they are not concrete yet.

To fix the dependency issue, I simply renamed the "startup_m2sxxx.S" file to "vectors.S". I am not too sure whether this completely solves the problem and is an acceptable fix or not, but hopefully that solves the problem.

Your help is much appreciated.

Kind regards
Ashim Asharaph




>>> Juan Ignacio Carrano <j.carrano at fu-berlin.de> 05/29/19 1:31 PM >>>
[The e-mail server of the sender could not be verified (SPF Record)]

Assim, Hauke,

To comment a bit on Hauke's suggestion.

On 29/5/19 08:47, Hauke Petersen wrote:
> The general approach for porting CPUs in RIOT is to rely as much as 
> possible on shared code...

That's very important, try to take advantage of what's already in RIOT.
  > . All the specific CPU
> implementations have to provide, are their interrupt vector structure 
> (see e.g. `cpu/samd21/vectors.c` or `cpu/stm32f4/vectors.c`), ....

Hauke, The SmartFusion is integrated is integrated into a FPGA, so the 
vectors can change depending on how one programs it (am I right, Assim?)

It would be highly desirable if he does not have to translate the 
automatically generated assembly file into C. Specially considering it 
contains some platform-specific code (I see something about eSRAM EDAC 
and ECC mempory).

I think this is the piece of code that introduces the dependency on vectors:

https://github.com/RIOT-OS/RIOT/blob/7e3c382547430fae0a81e4f44c64d23e18629549/makefiles/arch/cortexm.inc.mk#L138

See the UNDEF. I may be wrong here, but I believe it is to prevent the 
symbols being dropped.

What you can do is either:

- Provide an empty vectors.c (to make the build system happy) AND add 
startup_m2sxxx.o to the UNDEF.

- Add a rule to build vectors.o from startup_m2sxxx.S AND also make sure
startup_m2sxxx.o does not get built.

Regards,

Juan.
_______________________________________________
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/20190529/1ac301f5/attachment.html>


More information about the devel mailing list