This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: eCosCentric Cortex-M port contribution
- From: "simon dot kallweit at intefo dot ch" <simon dot kallweit at intefo dot ch>
- To: Nick Garnett <nickg at calivar dot com>
- Cc: ecos-discuss at ecos dot sourceware dot org
- Date: Tue, 04 Nov 2008 11:28:17 +0100
- Subject: Re: [ECOS] eCosCentric Cortex-M port contribution
- References: <20081103145436.E3D52138770@xl5.calivar.com>
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
pipeline?
Many thanks for the contribution!
Simon
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss