I have a database file that is generated on a PC using Sqlite. This file is then transferred to an ARM7 based embedded system without an operating system. The embedded sys
Can you export the database file to a XML or text or another "flat" file? That's much easier to work with in an embedded environment.
The smallest sqlite3 I came up with was 327 KBytes (for PowerPC), which was sufficient for the system so I stopped trying to make it smaller. This was the full sqlite3 CLI binary, the C APIs alone would have been somewhat smaller.
I had set SQLITE_OMIT_AUTHORIZATION, SQLITE_OMIT_EXPLAIN, SQLITE_OMIT_PROGRESS_CALLBACK, and SQLITE_OMIT_TCL_VARIABLE to trim the size of the binary, and used -Os to get it to that size.
If you don't need the full power of SQL it might be interesting to look into alternative solutions, like Berkeley DB.
I'd try first with sqlite2, it might be leaner (or not). If that doesn't help, I'd say go with your own binary encoding.
Unless your data file is really big, what you lose on SQLite great optimisations, you'll gain by not using SQL.
Of course, use appropriate data structures (most probably a B*Tree or similar).
You may want to have a look at cdb it is great for 'constant' data, the code is opensource and will compile to tiny executables, you can even gut it to get the exe smaller. Under 10k should be easy. google cdb