SH Question
Fernando RUIZ
kiko.ruiz at terra.es
Mon Jan 1 18:19:53 UTC 2001
Hi Ralf,
First. Happy new year.
Second.
All of this that you says has been supossed by myself.
I don't want to disturb you if my sugesstions can do it.
The real life with the embedded programing is a litlte bit more
complicated that the EVB.
The first step with new boards is set the leds onboard. After
makes a "console" device to give the life at the board.
Can anybody think in a BSP without "console" to start a board?
I have usually one serial port like "liason" with the world.
I need implement a network serial protocol because I need transfer memory,
spy the "kernel" and open remote consoles into the new board.
All in the same link at the same time.
After of this I can run the new devices.
At the end I can stop the /dev/console device.
But always I let a DEBUG flag directed to console in all the modules.
The RTEMS BSP generic are for general purpose but a real purpose.
I have an developement with 8 interrupts every 250 usecs each one.
Can I think to use sh_set_irq_priority() to lock each interruput every time?
I think better about
/*
* ****************************************
* INTC Programming
* ****************************************
*/
typedef struct {
unsigned char _IRQ0:4;
unsigned char _IRQ1:4;
unsigned char _IRQ2:4;
unsigned char _IRQ3:4;
unsigned short ___:16;
} TIPRA;
#define INTC_IPRA_IRQ0 (((volatile TIPRA *)(INTC_IPRA))->_IRQ0)
#define INTC_IPRA_IRQ1 (((volatile TIPRA *)(INTC_IPRA))->_IRQ1)
#define INTC_IPRA_IRQ2 (((volatile TIPRA *)(INTC_IPRA))->_IRQ2)
#define INTC_IPRA_IRQ3 (((volatile TIPRA *)(INTC_IPRA))->_IRQ3)
/*
*
* Priority Level IRQ's for an easy use.
*
*/
#define PL_IRQ0 INTC_IPRA_IRQ0
#define PL_IRQ1 INTC_IPRA_IRQ1
#define PL_IRQ2 INTC_IPRA_IRQ2
#define PL_IRQ3 INTC_IPRA_IRQ3
#define LV_IRQ0 8
PL_IRQ0=0; /* LOCK THE IRQ */
countirq++;
PL_IRQ0=LV_IRQ0; /* UNLOCK THE IRQ */
Can you imaginate
sh_set_irq_priority(IRQ0_ISP_V,0);
countirq0++;
sh_set_irq_priority(IRQ0_ISP_V,LV_IRQ0);
runnig in a too busy system?
If I want a real software is necesary build a real software not academic.
Which is the final objectif for RTEMS? Build a real robust and stable
software?
/dev/console is a "necesary" device in the real developements.
Multics was a wonderful OS but UNIX was the final implementation.
/*
* /dev/console for Hitachi SH 703X
*
* The SH doesn't have a designated console device. Therefore we "alias"
* another device as /dev/console and revector all calls to /dev/console
* to this device.
*
* This approach is similar to installing a sym-link from one device to
* another device. If rtems once will support sym-links for devices files,
* this implementation could be dropped.
*
* Author: Ralf Corsepius (corsepiu at faw.uni-ulm.de)
Now, The moment to drop this implementation and update the software.
Why don't have a termios console with the sci ports?
We can run all the termios software already developped in RTEMS sh
implementation.
If we have a null driver and we make a link to device console all your
problem is resolved.
All the debug output is redirected to dummy.
The best solution for evolution is build a new version in beta phase.
Put it to discuss and make a alfa version.
I think that it is your opinion based in your comments.
Best regards.
Fernando RUIZ CASAS.
correo at fernando-ruiz.com
fernando.ruiz at ctv.es
> -----Mensaje original-----
> De: corsepiu [mailto:corsepiu]En nombre de Ralf Corsepius
> Enviado el: sabado, 30 de diciembre de 2000 22:24
> Para: joel.sherrill at OARcorp.com
> CC: correo at fernando-ruiz.com; Rtems-Users (E-mail)
> Asunto: Re: SH Question
>
>
> Joel Sherrill wrote:
> >
> > Fernando RUIZ CASAS wrote:
> > >
> > > Joel Sherrill wrote:
> > > > I would also think that the /dev/null driver could be moved to a
> > > > non-SH directory.
>
> > > /dev/null is for a simulated link to console because the
> hard links are not
> > > present
> > > when Ralf(?) writed it. (I suppose)
> Yep, it was me who introduced it (It is a moderately modified copy
> of the test suite's stub driver). And you are right, RTEMS did not
> have any filesystem when this was introduced.
>
> > > /dev/null is better to place it with /dev/stub in (?).
> No. /dev/null is supposed to be what its name says: /dev/null
>
> What we did when porting the RTEMS to the SH1 was to redirect RTEMS
> /dev/console to /dev/null, similarily to using a symlink/hardlink
> from /dev/console to /dev/null under unix, but without having nor
> _needing_ a filesystem (SH1 are low memory systems :).
>
> We did so, because we wanted to be able to
> * run RTEMS without having a physical console attached.
> * run RTEMS without having to assign _any_ physical device to a
> /dev/console.
> * run RTEMS without having _any_ console driver.
> * and wanted to be able to assign different physical devices to
> /dev/console but serial devices.
>
> Furthermore, in general, many embedded systems do not have any
> console device, however RTEMS currently (IMO: incorrectly) assumes a
> console always to be present.
>
> >
> > /dev/stub is a test fixture and is in the test source tree.
> > I think /dev/null could go in libmisc without too much
> > worry.
> I wholeheartily agree.
>
> Ralf
>
> --
> Ralf Corsepius
> Forschungsinstitut fuer Anwendungsorientierte Wissensverarbeitung
> (FAW)
> Helmholtzstr. 16, 89081 Ulm, Germany Tel: +49/731/501-8690
> mailto:corsepiu at faw.uni-ulm.de FAX: +49/731/501-999
> http://www.faw.uni-ulm.de
>
More information about the users
mailing list