This is the mail archive of the ecos-patches@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug 1001933] New HAL for the M4 core of Freescale Vybrid targets


Please do not reply to this email, use the link below.

http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001933

--- Comment #7 from Ilija Kocho [ÐÐÐÑÐ ÐÐÑÐ] <ilijak@siva.com.mk> ---
Hi Stefan

(In reply to comment #6)

[snip]

> 
> "There are a lot of "reg*.h" files in HAL include directory. Devices in eCos
> are decoupled from HAL in order to enable usage of device drivers with
> different architectures. I know that this philosophy is not perfectly
> implemented, but I aim to do best for new packages. It is especially benefit
> for Freescale's chips that re-use peripherals on different architectures."
> This is exactly the reason for us having those files. For example we have
> designed an Audio Framework, that works on MPC5xxx (Big Endian Power
> Architecture) and Vybrid (Little Endian ARM CortexM), because all of those
> peripheral definitions are taken from the HAL, so it e.g. includes the
> "sai_reg.h" file for the definition of the SAI (Serial Audio Interface)
> Peripheral, which are endianess swapped files between those two
> architectures. Isn't that exactly what you want to achieve ? How else would
> I achieve that ?

This may justify their inclusion. However, putting them within some
architecture implies another copy for every architecture/variant...

You may consider the hal/misc directory. It is created for devices that do not
have formal I/O  API, and are combined with different architectures. Examples
are DMA, memory devices, etc.
You will already find "freescale" directory there parenting eDMA library
package.

You have several possibilities:
   - Create a package (some kind of Freescale device library. It may start with
headers, but may also (now and/or in future) also have some code.

   - If you already have some generic library for a particular device, you can
make a package (in a way eDMA is now).

Note: This is not limited only to on-chip devices, however you should consider
which of either devs or hal/misc would be preferable location. Following
discussion may give you some insight on the background of hal/misc and how to
choose between hal/misc vs devs
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001428#c5 .

> 
> "I'm glad to see SGML docs, but they seem incomplete and their compilation
> raises errors." Quite frankly I do not even know how to correctly view SGML.
> I just opened your Kinetis files with a text editor and tried to get
> something semi correct.
> 

Text editor is right tool :) for editing, and in order to see the document you
need to generate HTML or PDF. This link
http://ecos.sourceware.org/ml/ecos-discuss/2014-01/msg00004.html may help you
regarding needed tools and doc. generation, I would just add that if you use a
common Linux distribution (I use Ubuntu) you'll find all tools in it's package
manager (such as Synaptic).

However, if you are not able to generate HTML/PDF, I can feed you back or take
care that it compiles, but the contents has to be accurate, up to date and
reflect real state of matters. Please take care of that.

> "I have noticed CDL for Compiler selection. It is unnecessary because user
> can specify compiler prefix and flags in "Global Build Options". Please
> remove it." Actually we driving a lot of things from that selection, e.g.
> whether we can move some critical code into the TCM (Tightly coupled
> Memory). This requires, that the Compiler can generate some trampolin code
> for that purpose, which the standard eCOS Compiler will not, but the
> Codesourcery will. That checkbox will avoid a lot of user erros and all
> members of our team really like that feature.

Is it really a compiler feature or a linker script? Perhaps some macros? Let's
investigate it.

Ilija

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]