[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MC68EZ328



On Wed, Aug 11, 1999 at 12:34:17AM +1000, Marc Salem wrote:
> 
> Hi,
> 
> i'm new to RTEMS and to embedded systems, so please excuse my
> ignorance. this is a bit of a long shot, but has anyone made a BSP
> for the MC68EZ328 development board, or for this chip in general
> (it has most of the peripherals on-chip, eg UART, timer etc) ? 
> 
> assuming that there is no BSP, i've been looking at porting the efi68k
> BSP, but i have a few questions:
> 
> 1. do i have to write a separate boot loader, or is this integrated
> into the BSP and RTEMS? 


Marc,

   This depends on how you want to load RTEMS.  For example, if you
put the code in Flash, you can have the '328 run directly out of
Flash.  In this way, there is no boot loader because RTEMS does not
need to be 'loaded' at all; it runs in place.
   On the other hand, sometimes running out of ROM can slow things
down.  Code on my 68360 board runs about 1/8th speed in ROM than in
RAM, mainly due to the 8-bit width of RAM.  So, I wrote a very small
piece of code (completely independent of RTEMS) that runs on boot.
I place this code in Flash.  I build RTEMS to run out of RAM at
a certain RAM address (specified in the linkcmds script).  I then
place this image after the short boot code.  The boot code looks
for the image and begins copying the RTEMS code, section by section
into RAM.  Once complete, the code begins executing RTEMS.

   If you want a copy of this, I can send it to you.  (to see
what's required)


> 2. what is the job of the bootloader in relation to rtems, for
> example, does it need to copy the heap to ram, or is this done in
> rtems, or the bsp? 

   My particular boot loader is completely independent of RTEMS.
It initializes things it needs to (RAM address) and copies the
image.  That's it.  RTEMS initialization handles everything else.


> the main reason i ask, is because i have to initialise the EZ328's
> programmable chip-selects before the ram can be used, and i'm not sure
> where i'm supposed to do it.

   This will need to be done in the BSP.  On the 68360 BSP, it is
done in start.S and init68360.c.  Well, chip selects are done in 
init68360, but other initialization stuff is one in start.S.
(could be start360.S, I forget)

   As I said above, my boot loader needs to initialize chip selects,
too.  So upon boot, they are initialized twice (for me).  Once by
the boot loader.  Once by RTEMS' BSP.


> For those interested, the controllers are being developed for a very
> low power automotive system, and  consists of 3-6 nodes, each with:
> 68EZ328 'dragonball', 256kb each of flash/sram, 81C90 CAN serial bus
> controller (with 16bits GPIO), 8 channel ADC.    

   Sounds fun!  We have a Solar Racing team here at the University
of Illinois.  It's good to hear someone going out there and 
investigating new controller stuff.  Most everyone here is in 
mechanics and power and they spend very little time on the embedded
system.  Out of curiosity, won't that much SRAM dwarf everything else
in power consumption?  I suppose it all depends on the speed and
such, but when I last checked, most state-of-the-art SRAMs were
pretty power intensive.


    Cheers,
    Jake

-- 
   janovetz at uiuc.edu    | Once you have flown, you will walk the earth with
 University of Illinois | your eyes turned skyward, for there you have been,
                        | there you long to return.     -- da Vinci
        PP-ASEL         | http://www.ews.uiuc.edu/~janovetz/index.html