[ECOS] eCosCentric Cortex-M port contribution

simon.kallweit@intefo.ch simon.kallweit@intefo.ch
Tue Nov 4 18:30:00 GMT 2008

Nick Garnett wrote:
> The eCosCentric Cortex-M port has now been checked in to the
> repository.
> The following packages have been added:
> hal/cortexm/arch
> hal/cortexm/stm32/var
> hal/cortexm/stm32/stm3210e_eval
> devs/serial/cortexm/stm32
> devs/flash/cortexm/stm32
> ecos.db and NEWS have also been updated.
> See the various ChangeLogs for details.

This is good news. Already checked out and tried on my evalboard. Seems 
to run, expect some small issues. I have had a look at you're approach 
to context switching and interrupt handling. It's quite nicely done, 
although you don't use NVIC exception handling for normal context 
switches during thread execution, which is something I absolutely tried 
to do (and had lots of trouble with :). Also, your port does not have a 
unified SavedRegisters structure, which mine had. But it's nice that so 
much is written in plain C, my port has rather more assembler code.

Another difference is your GPIO framework for the STM32. As it seems 
your framework does not support "chanining" multiple pins on the same 
pin for configuration, which mine offered. In contrast your framework 
offers the possibility to store the configuration directly in the pin 
definition, which is a nice thing I guess. I might add support for 
chaining multiple pins, if there is nothing against it?

My port also featured some more "helper macros". This included things 
like enable/disable/reset peripheral clocks, setup FSMC controllers etc. 
which obviously improve code readability. Is there interest to get such 
macros in the main repo?

Also I had done some more register definitions which I can add. I also 
have a working wallclock driver for the STM32, which I will port to your 
port :) Will it be included or do you already have such a driver in the 

Many thanks for the contribution!


Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

More information about the Ecos-discuss mailing list