The Following 2 Users Say Thank You to paulkoan For This Useful Post: | ||
|
2011-03-10
, 04:31
|
Posts: 1,746 |
Thanked: 2,100 times |
Joined on Sep 2009
|
#42
|
String parsing interfaces are a big no-no on most embedded platforms since they waste memory and time
and how is it better than just using a shell interface?
It may be fine for n900 and similar platforms with huge amounts of memory, (once we get rid of MMC and maybe have all that 32G as pure, directly accessible nand chips)
I believe the largest part of the phone market needs a root system measured in a few M not G.
Look at openWRT project, it's easy to configure, comes out tiny, and they developed it out of a need for a better router distro. Now every mfg and their mom is using it in at least a few of the higher end routers since it saves them money and users get a better product.
The Following User Says Thank You to wmarone For This Useful Post: | ||
|
2011-03-10
, 22:39
|
Posts: 69 |
Thanked: 41 times |
Joined on Feb 2010
@ Sweden
|
#43
|
These platforms that we call smartphones are far from what is considered "embedded" these days. To reach the blurring point between "embedded" and "phone" from the industrial perspective you either step through the looking glass into the realm of the baseband (where vxworks or some other RTOS rules the day,) or drop down under 16MB of RAM into the dumbphone world where they are trying to wring every last cent out of the system.
At the level we're working at, and with the hardware in these platforms, string parsing is totally trivial and you're better off working on minimizing wake-ups and overall power saving.
dbus is common across Linux platforms, and has its own maintenance team. I'm not quite sure what you mean by a "shell interface" though.
It's unlikely you'll ever see raw NAND in that quantity. The eMMC interface simplifies system bring up so much it's ridiculous.
openWRT is awesome, but with only 8MB of storage in my WNDR3700 I can't do a whole. In fact, I only have 1MB free and there's more I'd like for it to do, which will probably involve me performing acrobatics (or contortions) to make it boot from an external 8GB USB stick.
|
2011-03-11
, 00:50
|
Posts: 1,522 |
Thanked: 392 times |
Joined on Jul 2010
@ São Paulo, Brazil
|
#44
|
|
2011-03-11
, 01:02
|
Posts: 251 |
Thanked: 70 times |
Joined on Nov 2009
|
#45
|
|
2011-03-11
, 15:43
|
Posts: 69 |
Thanked: 41 times |
Joined on Feb 2010
@ Sweden
|
#46
|
Regarding synchronizing contacts, even when both have been edited between synchs, i can't see the algorithm being all that complicated.
Always store both last modified date and last synch date.
If the number of each type(and subtype) of field is the same, consider changes to be editing them.
If the number is different, look for matches between the two contacts, leave the fields that match alone, the ones that aren't the same on both you treat as being added or removed (for additional advanced functionality, look for similar values between fields of the same type and of similar type (landline, cell and fax numbers, plain, work and home substypes etc) looking for potential changes and optionally ask the user whether they are the same or should be treated as seaparated)
In cases where both contacts have been changed between synchs, consider differences to be conflicts and have the user manually solve the conflicts. In case the synch dates (and times) don't match, ask the user what to do (choose on a case by case basis, use the most recent, oldest, from one source instead of other, the biggest one etc, with an additional option to remember this choice (for this session, forever or no, etc)
Did i miss anything?
The Following User Says Thank You to Funklord For This Useful Post: | ||
|
2011-03-11
, 15:49
|
Posts: 69 |
Thanked: 41 times |
Joined on Feb 2010
@ Sweden
|
#47
|
|
2011-03-11
, 17:51
|
Posts: 1,746 |
Thanked: 2,100 times |
Joined on Sep 2009
|
#48
|
By a shell interface I mean pipes, fifo, stdio or what ever might be appropriate. For example: mplayer slave mode.
I'm very interested to hear more if you have insight on the issues?
At what point? bootloader? linux?
I always thought the MTD subsystem was extremely flexible, was thinking of learning how to develop a larger flash memory bus for an arm board.
Do you know why pure nand costs more than nand+ftl
The Following 2 Users Say Thank You to wmarone For This Useful Post: | ||
|
2011-03-11
, 23:57
|
Posts: 69 |
Thanked: 41 times |
Joined on Feb 2010
@ Sweden
|
#49
|
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'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.
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.
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.)
|
2011-03-12
, 03:58
|
Posts: 1,746 |
Thanked: 2,100 times |
Joined on Sep 2009
|
#50
|
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.
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?
The Following 2 Users Say Thank You to wmarone For This Useful Post: | ||
Tags |
i hate you all, i love you all, just shoot him, just shoot me, nokia defiled, popcorn time, what the fork? |
|
You could have the contacts in a sqlite database with any structure provided there was an interface that produced a vcard in response to a query.
Personally, I'd like to see that interface be groupdav provided it can be made efficient enough. That way we can make synchronisation a simple affair for tasks, contacts, calendar, etc.
Servwise Advanced Hosting - Better, Faster, Smarter
Hum Consulting - IT and Marketing services to sing about