ts-7000
[Top] [All Lists]

[ts-7000] Re: Stand-alone ts-7300

To:
Subject: [ts-7000] Re: Stand-alone ts-7300
From: "Ameera" <>
Date: Mon, 16 Jul 2007 10:00:13 -0000
So essentially, All I need to do is point init to the location of 
the code on the board, and I can run it stand alone but with the 
kernel and libraries already compiled? I need to save init's current 
location though dont I?

Also I'm trying to classify packets, so I need a way of reading from 
and writing to the memory addresses that are linked to the ethernet 
port, would you know how I could attempt this?



--- In  Triffid Hunter <> 
wrote:
>
> 
> 
> On Mon, 9 Jul 2007, Ameera wrote:
> 
> >
> > Hi, I was wondering if it was possible to run a C-code 
executable 
on
> > the ts-7300 board as stand-alone, that is without an OS. I know 
I 
have
> > to change the boot kernel system, but I'm not sure how. And 
honestly,
> > i'm not sure to go about it in general.
> >
> > Can anyone please offer me some assistance?
> 
> Work out what state the system starts in or is put in by the 
bootloader 
> (you'll need the cpu datasheet, hardware specs and bootloader code 
for 
> this), write a startup routine to change it to the state you want 
(often 
> done in assembly) then jump to your code's start address (usually 
gcc 
> provides a trampoline called _start which sets up a few things and 
calls 
> main()).
> 
> Your program will need to contain _all_ functions that it uses 
including 
> hardware-specific I/O (ie, no printf("") unless you implement one, 
same 
> with malloc(), fork(), open(), etc). You won't be able to use any 
of the 
> hardware unless you write drivers for it - I.E., can't read files 
unless 
> you implement 1) a flash device driver for the ts7300's flash 
device and 
> 2) a filesystem, you won't be able to use the network without 
implementing 
> a tcp/ip stack and drivers for the ethernet device, and you won't 
be able 
> to use serial without writing a driver for the cpu's serial port.
> 
> The above are all things handled by the kernel or libc for you, 
and 
would 
> take a LOT of work to do yourself. You'd end up with half of the 
existing 
> kernel anyway.
> 
> If you have time-critical I/O and use any functions provided by 
libc or 
> the kernel (including system setup routines like clock 
initialisation, mmu 
> configuration and memory allocation/management), look into using a 
> real-time kernel or even a kernel module.
> 
> The easiest way would be to keep the kernel and pass 
> init=/path/to/your/program on its command line so you have all the 
kernel 
> and libc functions available as well as being the only process 
running.
>




 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU