已解决! 转到解答。
My experience had been that they will reply when the have an answer (i.e. fix). Chances are they were able to reproduce, or the would have asked for more info right away.
Nabendu wrote:
Yes ,it is unfortunate they don't reply.I also raised a service request but they dont answer.
Hi everybody,
I'm facing a quite similar problem.
I'm using Linux 2.6.25 kernel with microwindows on a MCF5474. Launching my application is not problem. No segmentation fault are generated. My application runs well and I get what I want on the screen.
Now if I start some others application requiring more memory, dead pixels appear on the screen.
I wrote a little application which allocates a big table (at least 1Mb) with the same fixed value for each elements. Sometimes when I start this application, I get a big "line" on the screen. The color of the line is exactly the one I put in the my table.
Coarsely, it seems that the memory allocated for the table from my test program is a part of the framebuffer.
Does somebody here has already got this kind of problem ?
Any idea to fix it (I made all the modification described in this topic) ?
Best,
Guillaume
This is from my personal experience but I found Microwindows to work well only to a point. As our application grew we had more and more anomalous problems (random seg faults, screen corruption) that we were unable to explain. Our assumption was that the problem was with our application or the frame buffer driver (both of which we wrote in house). We focused on what we had done ourselves and, though we found stuff, nothing fixed our problems.
Finally, we went to something called DirectFB (which is supported in the Freescale package for the Coldfire with 2.6.25) and, after a week of porting things over, our problems all went away. I know that's not a definitive mark against Microwindows but my group spent a lot of time on this and, in the end, most of the seg faults appeared to be occurring within Microwindows.
Microwindows is also a dead project whereas DirectFB is on-going (The new Palm phones use it, I think the Droid is DFB based too). There's even a web browser (not a good one) that is supported.
I know it's a big change but if I were in your shoes I'd look into it (and was and I did).
Well, I agree that Microwindows is a dead project but I can't understand why my problems could come from it.
In my opinion there is something wrong with the memory allocation (the mmap) :
- First step, Microwindows requests for a mapping of the framebuffer via mmap.
At this point, Microwindows is able to draw pixels on the screen by writing data into this memory mapping (let's call that application1). Until now, no big deal.
- Then comes an other application (application2) which requests quite a lot of memory (a big table for example). Linux allocates the memory for this process but I think a part of this allocated memory belongs to memory reserved by the framebuffer's mmap.
- Starting from this point of view, if application2 starts to write into its memory it will also write into the framebuffer. This leads to get dead or wrong pixels to the screen (I get this results with my test application).
- Last step, application1 is writing to the framebuffer (to display new pixels for example) and thus also write into the application2 memory leading obviously to crash application2 (I get this results with my test application).
For me the framebuffer's mmap call is not working that well (memory protection issue?)...
Maybe I miss something (I'm not really an advanced Linux kernel user) but for me it is a good explanation.
Is somebody here agrees my theory ? If yes, what could I do?
Best,
Guillaume