View Single Post
Posts: 69 | Thanked: 41 times | Joined on Feb 2010 @ Sweden
#49
Originally Posted by wmarone View Post
Qt applications don't compile with support for that by default IIRC (for instance, printf() will execute but nothing will appear on the console unless you change how it is built.)
I suspect they just redirect it somewhere else, probably since Qt does some of it's own argument parsing among other things, they just want you to do it "their way" instead of using printf() directly etc.
Or... came to think of it, isn't your GUI always a child process of main()?
Hmm.. I should know this since I wrote the Qt logging libraries for some companies.

Originally Posted by wmarone View Post
I'm not sure why dbus appeared, but I'm guessing there are limitations in the methods you describe that necessitated it... can't say for sure.
If they needed that level of flexibility (multicast etc), it would've been easier just to use TCP/IP directly.

Originally Posted by wmarone View Post
For bootloader and kernel you have OneNAND devices (packaged with your RAM and installed on top of the SoC,) which still accept raw NAND commands. Generally, however, this is one or two devices set up in a certain fashion to act like one.
So, the problem is that the MTD subsystem does not have drivers for a bus that does not yet exist, most drivers maybe assume that you've connected it to GPIOs directly?
Obviously a new memory bus would need a new driver. But to make things simpler, you could just a have a tiny nor directly connected, to store the bootloader, kernel and a simple root.
Then when the kernel is up, you use the more complicated bus and filesystem, so you don't need to develop drivers for the bootloader as well.

Originally Posted by wmarone View Post
It is quite flexible, but eMMC lets you hide all the NAND + FTL complexity behind a standard block interface and share a driver with your SD card. It also dodges the issue that a lot of filesystems geared towards raw NOR/NAND devices don't behave well on larger devices (more CPU, more RAM.)
But a block interface does not translate well to flash memory, that's why we lose so much performance and suddenly the thing may crash when there are too many faulty flash blocks.
So, is performance an issue when you scale ubifs to gigabyte sizes?