public inbox for ecos-patches@sourceware.org
 help / color / mirror / Atom feed
From: bugzilla-daemon@bugs.ecos.sourceware.org
To: ecos-patches@ecos.sourceware.org
Subject: [Bug 1001187] New port: Freescale Kinetis variant, Freescale TWR-K60N512, Freescale UART device driver
Date: Thu, 19 May 2011 10:30:00 -0000	[thread overview]
Message-ID: <20110519102941.DDAFE2F78007@mail.ecoscentric.com> (raw)
In-Reply-To: <bug-1001187-104@http.bugs.ecos.sourceware.org/>

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001187

--- Comment #7 from Ilija Kocho <ilijak@siva.com.mk> 2011-05-19 11:29:38 BST ---
(In reply to comment #6)
> Ilija
> 
> Thank you for the contribution.

Thank you for your comments John.

> 
> (In reply to comment #5)
> 
> > Topics for consideration:
> > 
> > 1. FLASH sections:
> > 
> > 1.1 Kinets controllers have a special area in FLASH at addr. 0x400..0x40F that
> > contains flash security configuration. 
> > In order to meet this, a new section is ".flash_security" introduced in MLT
> > files. Currently this section is encoded in natural form in MLT files (in a
> > same way as for Freescale MAC7100 port). I tried with USER_SECTION but ld
> > garbage collector discars this section as it is not referenced - so needs KEEP
> > parameter.
> > 
> > Comments/alternatives?
> 
> As you point out, there is a precedent in the MAC7100 port. This is a quite
> specialized requirement so probably OK to code without a macro but including
> explanation in a comment. If we encounter other uses for a user-defined section
> with KEEP attribute then we can (and should) add a new macro definition to
> *.ld.
> 


There is a comment on Kinetis flash security accompanying code in
kinetis_misc.c. In ldi I can reference it.


> > 1.2 As a consequence of 1.1 flash area (1 KiB) below 0x400 is cut-off from 
> > main flash body. In order to utilize this memory the USER_SECTION
> > ".kinetis_misc" is introduced. It currently accomodates functions from
> > kinetis_misc.c (as well as platform misc) but still remains about half empty.
> > 
> > Please suggest candidate (functions, etc.) to fill this area.
> 
> Since you have 128KiB SRAM on chip, filling the remaining 0.5KiB of the
> .kinetis_misc section does not seem to be a high priority. I would leave this
> available to allow the platform code to grow a little in the future.
> 

Good approach. Platform HAL is growing indeed. 

> > 2. SRAM Layout
> > 
> > Kinetis SRAM consists of two equal-size banks that occupy (consecutive) memory
> > blocks above and below 0x20000000. Below is example of K60N512 (2 x 64KiB)
> > 
> >       0x20010000    --------------
> >                     |    SRAM_U  |  <---> System Bus
> >       0x20000000 --------------------
> >                     |    SRAM_L  |  <---> Code bus
> >       0x1FFF0000    --------------
> > 
> > These blocks are being accessed by two separate Cortex-M buses (according to
> > Cortex-M architecture) allowing simultaneous access (by either Harward or
> > concurrent bus masters). On the other hand SRAM can also be used as flat area
> > allowing for better SRAM utilization.
> > 
> > In order to provide user a choice, the CDL option
> > CYGHWR_HAL_CORTEXM_KINETIS_SRAM_UNIFIED and parallel MLT files with unified
> > and non-unified SRAM are provided.
> 
> It looks like the "2x64" memory layouts just allocate into the upper 64KiB. How
> do you envisage eCos developers using the lower 64KiB when not unified?

ROM 2x64
True, ROM 2x64 startup SRAM_L does not utilize by eCos directly. The idea is,
since SRAM_L is in Cortex-M code area, to use it as a fast extension of flash
where user could upload a code that needs fast execution (Present Kinetis run
up to 100Mhz, but maximum flash frequency is 25MHz. Some Kinetis members do
have cache, but some do not).

SRAM 2x64
SRAM startup 2x64 is trying to simulate ROM startup where SRAM_L emulates flash
and SRAM_U ram. In order to make behavior closer to ROM startup, even the
vectors are being copied. Naturally, this is not efficient usage of memory, but
is good way for user to simulate/learn ROM startup without burning flash (Maybe
I could put some word on this in description.)

To sum up, Kinetis memory configuration offers some flexibility and offered
memory configurations are attempt to reflect it in eCos and at the same time
point out eCos' configurability.

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

  parent reply	other threads:[~2011-05-19 10:30 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-03  9:02 [Bug 1001187] New: " bugzilla-daemon
2011-04-03  9:03 ` [Bug 1001187] " bugzilla-daemon
2011-04-03  9:06 ` bugzilla-daemon
2011-04-03  9:09 ` bugzilla-daemon
2011-04-05 16:48 ` bugzilla-daemon
2011-04-06 16:59 ` bugzilla-daemon
2011-04-14 10:48 ` bugzilla-daemon
2011-04-19 21:08 ` bugzilla-daemon
2011-04-19 21:25 ` bugzilla-daemon
2011-04-27  7:21 ` bugzilla-daemon
2011-05-18 11:04 ` bugzilla-daemon
2011-05-19 10:30 ` bugzilla-daemon [this message]
2011-06-04  9:57 ` bugzilla-daemon
2011-06-04  9:58 ` bugzilla-daemon
2011-06-04 10:01 ` bugzilla-daemon
2011-06-04 10:05 ` bugzilla-daemon
2011-08-28 14:15 ` bugzilla-daemon
2011-08-28 14:21 ` bugzilla-daemon
2011-08-28 14:22 ` bugzilla-daemon
2011-08-28 14:25 ` bugzilla-daemon
2011-08-28 14:26 ` bugzilla-daemon
2011-08-28 14:32 ` bugzilla-daemon
2011-08-28 14:35 ` bugzilla-daemon
2011-08-28 14:37 ` bugzilla-daemon
2011-08-29 19:39 ` [Bug 1001187] New port - HAL: Freescale Kinetis variant, TWR-K60N512, TWR-K40X256 plf; Devs: Freescale UART and ENET (Ethernet) bugzilla-daemon
2011-09-27 18:38 ` bugzilla-daemon
2011-09-27 18:39 ` bugzilla-daemon
2011-10-17 20:32 ` bugzilla-daemon
2011-10-17 21:30 ` bugzilla-daemon
2011-10-17 22:25 ` bugzilla-daemon
2011-10-17 23:28 ` bugzilla-daemon
2011-10-18  6:04 ` bugzilla-daemon
2011-10-23 22:30 ` bugzilla-daemon
2011-10-23 22:31 ` bugzilla-daemon
2011-10-23 22:32 ` bugzilla-daemon
2011-10-23 22:33 ` bugzilla-daemon
2011-10-23 22:34 ` bugzilla-daemon
2011-10-23 22:35 ` bugzilla-daemon
2011-10-23 22:38 ` bugzilla-daemon
2011-10-23 22:41 ` bugzilla-daemon
2011-10-25 11:05 ` bugzilla-daemon
2011-10-27  7:20 ` bugzilla-daemon
2011-10-27  7:21 ` bugzilla-daemon
2011-10-27  7:22 ` bugzilla-daemon
2011-10-27  7:23 ` bugzilla-daemon
2011-10-27  7:25 ` bugzilla-daemon
2011-10-27  7:26 ` bugzilla-daemon
2011-10-27 17:22 ` bugzilla-daemon
2011-10-27 20:38 ` bugzilla-daemon
2011-10-27 22:04 ` bugzilla-daemon
2011-10-29 10:11 ` bugzilla-daemon
2011-10-29 18:31 ` bugzilla-daemon
2011-10-30 20:48 ` bugzilla-daemon
2011-10-30 22:35 ` bugzilla-daemon
2011-10-31 10:34 ` bugzilla-daemon
2011-11-01 11:17 ` bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110519102941.DDAFE2F78007@mail.ecoscentric.com \
    --to=bugzilla-daemon@bugs.ecos.sourceware.org \
    --cc=ecos-patches@ecos.sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).