I write software for electronic funds transfer terminals. For this project
in particular I am using a Verifone Vx570 terminal (www.verifone.com). 

The platform consists in a 32 bit ARM9 processor with 4-32 MB battery backed
up RAM and 4-32 flash. The operating system is called Verix. It supports
multi-tasking, but multithreading is rather limited. For example a file
handle opened in one thread cannot be used by another thread. The compiler I
will be using is ARM Real View Compiler 2.01.

My app will have approximately 80 tables, so I want to add ACID transaction
support, fast indexed lookups, compressed tables and SQL query support. I
don“t want to use standard flat files, since I will end up writing a lot
more code. I already made that mistake in a previous project, trying to
reinvent the wheel.

I will probably have to create a single threaded DB Engine task and use
pipes to send messages between tasks, since shared memory is not supported
either. I want to keep only one instance of the engine loaded to save
memory. 

Is this the correct approach or should I just dynamically link the sqlite
engine to all my tasks and forget about pipes to make my life easier?

Any ideas/suggestions? Has anyone here written a port like this? What about
the memory limitations? Is this too strict?

Regards
Axel

Reply via email to