Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Valued Contributor III
774 Views

Microwindows with ecos

I am new in microwindos, but I have to evaluate the using of this package for our application so I try to run the ecos_app on the NIOS II demo board.  

 

First, I created the eCos library for the NIOS II development board with the package NET then I also added the microwindows package.  

The creation of the library seems correct. 

 

Then I created an application with the ecos_app.c module and I had some definitions for the kbddev mousedev scrdev. 

Compilation seems good also. 

 

When I run this application, I think the nano-X server is not responding I obtain the message : nxclient: retry connect attempt 1.. 

 

 

Thank for your advises.
0 Kudos
3 Replies
Highlighted
Valued Contributor III
2 Views

Re: Microwindows with ecos

Dear GLecordier: 

 

I am not very sure about the message. 

May be you should create a DUMMY display driver?? 

 

Best Regards, 

SoG
0 Kudos
Highlighted
Valued Contributor III
2 Views

Re: Microwindows with ecos

Yes,  

I created a srcdev like the one in the scr_debug module  

then a kbddev like the one in the kbd_null.c  

and a mousedev like the one in the mou_null.c  

I added these drivers directly in the ecos_app.c module for this test. 

 

Today I don’t have any display keyboard or mouse connected.  

It is only to test the difficulty to use microwindows for our application 

 

But I have always the messages nxclient: retry connect attempt 1.. to 9  

 

I don’t see if the problem is in the library configuration (I used nios2configtool) or in the application (only the ecos_app.c used) 

 

Thanks for your help,
0 Kudos
Highlighted
Valued Contributor III
2 Views

Re: Microwindows with ecos

I've been having a play with Microwindows myself recently, and since a few people have asked about it, I thought I'd share my experiences.  

 

As identified by GLecordier, the tricky part is writing your own screen, mouse and keyboard drivers. However as a rule, these aren't particularly complicated devices and the example drivers for the IPAQ that come with eCos serve as a good starting point. You may also want to consider using the supplied VNC drivers for your initial testing. 

 

Having put together some simple drivers, I found that Microwindows works pretty much out of the box. All you have to do is add in the microwindows component and all components it depends on (I'd recommend using the "net" template as a starting point). 

 

To build the example application, you should go to the Microwindows package in configtool and tick "Build MicroWindows eCos support" and in the sub- menu for that option, tick "Build compete eCos+Microwindows application". You should also tick the "Build MicroWindows NanoX demos" option, and the "Include 'nano-tetris' demo" box. 

 

Having done that, an executable elf file will be generated when you build your project in configtool. 

 

You may also want to configure the window manager to use framed rather than solid window moves. You can do that by adding the compiler flag: -DOUTLINE_MOVE to the MicroWindows build options in configtool. 

 

However using this option causes problems with window refresh. You can fix that by editing the file: srvfunc.c and in the function GrMoveWindow, change the lines: 

 

/*** move algorithms not requiring unmap/map ***/# if 1 

/* perform screen blit if topmost and mapped - no flicker!*/ 

 

to : 

 

/*** move algorithms not requiring unmap/map ***/# if 0 

/* perform screen blit if topmost and mapped - no flicker!*/ 

 

Window moves will then work fine. 

 

The more adventerous of you may want to try using Microwindows version 0.90 rather than 0.89 (which is what ships with eCos). This is available for download from the microwindows website (http://www.microwindows.org/). Some configuartion work will be required. 

 

Also, if you want to use microwindows, but don't require networking, you may be able to reduce code footprint by using message queues rather that sockets for client-server communication within Microwindows. A preliminary port of Microwindows which works this way is available for download from i-jui sung (http://www.csie.nctu.edu.tw/~ijsung/microwin-ecos/). 

 

I haven&#39;t personally tried these ports, but if you do, please post back your experiences. I&#39;m certain that there are people on this forum (myself included) who would be intererested to hear the results. http://forum.niosforum.com/work2/style_emoticons/<#EMO_DIR#>/smile.gif
0 Kudos