[rtems-users] microwindows 0.90-rtems 4.7-pc386 - executing demo problems
Joel Sherrill <joel@OARcorp.com>
joel.sherrill at OARcorp.com
Mon Feb 7 17:27:01 UTC 2005
Mark Mussetter wrote:
> We got that error when we were getting started as well. Turned out that
> we needed to actually create and install a framebuffer driver
> (/dev/fb0). Using Rosimildo da Silva's patch for rtems as a starting
> point, this is what we had to do:
>
> 1) In rtemscfg.h, changed the CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
> define to allow more devices.
> 2) Added MY_FRAMEBUFFER_DRIVER_TABLE_ENTRY to the Device_drivers table
> 3) Defined MY_FRAMEBUFFER_DRIVER_TABLE_ENTRY in framebuffer_driver.h
> 4) Wrote functions FB_Initialize, FB_Open, FB_Close, and FB_Control.
>
> Everything else is pretty hardware specific but this should get you
> started.
Can you post your build and configure options for using MicroWindows
to the Wiki?
FWIW it would be nice if we could get a /dev/fb0 implementation for
the pc386 BSP which is appropriately licensed.
--joel
> Hope this helps,
>
> Mark
>
>
> ==================================
>
>
> /* In rtemscfg.h (Values that override settings in confdefs.h) */
>
> ...
>
> #define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 10 /* overriding
> confdefs value of 3, so can install our devices including /dev/fb0 */
>
> ...
>
> /* List of device drivers loaded by RTEMS at boot time */
> rtems_driver_address_table Device_drivers[] =
> {
> CONSOLE_DRIVER_TABLE_ENTRY,
> CLOCK_DRIVER_TABLE_ENTRY,
>
> /* this can be a bit tricky if you are using a serial mouse,
> make sure that you do not install and serial driver that
> uses the same port !!!!
> */
> #if 0
> TTY2_DRIVER_TABLE_ENTRY,
>
> #if PS2_MOUSE
> PAUX_DRIVER_TABLE_ENTRY,
> #else
> /*
> * Make sure that you have selected the COM port and the
> * mouse type in (
> c/src/lib/libbsp/i386/pc386/console/serial_mouse.h ).
> */
> SERIAL_MOUSE_DRIVER_TABLE_ENTRY,
> #endif
> /* Standard VGA driver */
> FBVGA_DRIVER_TABLE_ENTRY,
> #else
> {NULL,NULL,NULL,NULL,NULL,NULL},
> {NULL,NULL,NULL,NULL,NULL,NULL},
> {NULL,NULL,NULL,NULL,NULL,NULL},
> #endif
> {NULL,NULL,NULL,NULL,NULL,NULL},
> MY_FRAMEBUFFER_DRIVER_TABLE_ENTRY,
> MY_ADS_DRIVER_TABLE_ENTRY,
> PTY_DRIVER_TABLE_ENTRY
> };
>
> #include <confdefs.h>
>
> ==================================
>
> /*In framebuffer.h */
>
> rtems_device_driver FB_Open( rtems_device_major_number major,
> rtems_device_minor_number minor,
> void *args );
>
>
> rtems_device_driver FB_Close( rtems_device_major_number major,
> rtems_device_minor_number minor,
> void *args );
>
>
> rtems_device_driver FB_Control( rtems_device_major_number major,
> rtems_device_minor_number minor,
> void *args );
>
>
> rtems_device_driver FB_Initialize( rtems_device_major_number major,
> rtems_device_minor_number minor,
> void *args );
>
>
> //When using the following driver setup, we don't need a read or write
> function since the subdriver "fblinx.c" handles the pixels directly
> #define MY_FRAMEBUFFER_DRIVER_TABLE_ENTRY \
> { FB_Initialize, FB_Open, FB_Close, NULL, NULL, FB_Control }
>
> ==================================
>
>
> At 08:20 AM 2/5/2005, you wrote:
>
>> Hello all,
>>
>> I've compiled microwindows demo for pc386 bsp.
>>
>> Trying to run wdemo on real pc and bochs too, I found problem in
>> getting access to /dev/fb0.
>>
>> In microwindows/src/scr_rtems.c :
>>
>> ....
>> static PSD
>> fb_open(PSD psd)
>> {
>> char * env;
>> int type, visual;
>> int tty;
>> PSUBDRIVER subdriver;
>> struct fb_screeninfo fb_info;
>>
>> assert(status < 2);
>>
>> /* locate and open framebuffer, get info*/
>> if(!(env = getenv("FRAMEBUFFER")))
>> env = "/dev/fb0";
>> fb = open( env, O_RDWR);
>> if(fb < 0) {
>> EPRINTF("Error opening %s: %m\n", env);
>> return NULL;
>> }
>>
>> Call to open() always returns -1.
>>
>> Anyone may help?
>>
>> Thanks.
>>
>> Luca
>
> Mark Mussetter
> Link Communications, Inc.
> 1035 Cerise Rd
> Billings, MT 59101-7378
> phone: (406) 245-5002 ext 105
> Fax: (406) 245-4889
> WWW: http://www.link-comm.com
> MailTo:mark at link-comm.com
>
>
--
Joel Sherrill, Ph.D. Director of Research & Development
joel at OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
More information about the users
mailing list