android - Tablet development for a dedicated system -


i need make architectural decision developing (actually porting) embedded solution. try present case possible, , advice can appreciated.

introduction

i have embedded system, developed on arm11 architecture , archlinux os. implemented using kinds of technologies available under linux, including c, c++, bash , python.

at time, port solution tablet, trying make decisions architecture, based on requirements of system.

requirements

the system modular, , runs multiple processes , threads. communicates remote servers , controls hardware peripherals. these basic requirements, @ moment, update discussion develops:

primary:

  • dedicated system (minimum amount of other applications running, in bg)
  • multiple processes, ability set priorities
  • ability assign process single cpu core (cpu affinity)
  • inter-process communication mechanisms
  • complete hardware control (wifi, 3g, gsm, mic, speaker, display, ...)
  • creating sockets, etc.

other:

  • ability connect microphone directly 3.5mm plug (trrs connector)
  • mainstream solution ensure reliability
  • future-proof: minimize porting effort new tablets , hw

my questions

  • what tablet , os combination meet these requirements?
  • how approach "dedicated solution" requirement?
  • how approach software development, language , tools use?

my investigation far

my investigation far has been concentrated on os choice. main options seem android , ubuntu touch. here thoughts:

android

android wins in mainstream category obviously, but...

i have no experience of android development, far can tell, can either develop java application runs on top of dalvik, or can go native via android ndk. maybe can bypass whole thing , go native side-by-side of dalvik, , develop in python? guess lose access api hw access. not sure how access hw then. if go java development, sandbox solution, , not sure if can have such control on processes, hw , cpu core affinity?

ubuntu touch

developing on ubuntu touch more linux development used to, since uses qt. issue here applications developed using sdk restricts me html5 , qml, i'm not sure can allow me same control on system need. if use python , avoid sdk, same issue arises - how control hw? of course, there way on regular embedded system guess, don't want reinvent wheel if don't have to.

also, seems ubuntu touch hasn't been ported many devices yet, handful of them supported.

finally

i not sure how have presented case, update question needed further explanations , requirement details. thank patience, time , may offer.

i in same boat you, developing embedded system on arm cpu. system written in python on custom built linux distro hardware vendor.

we have been looking @ android , ubuntu touch few months. far didn't decision yet. here found out our incomplete analysis:

  1. android quite heavy system, brings jvm mix. hw , memory requirements increase.

  2. android likes take on entire system, might fighting android.

  3. android has ipc mechanisms, not available on mainstream linux kernel, such binder. of course can port system. considerable effort.

  4. android has rich gui interface, things ndk view not confined jdk box.

  5. android doesn't use standard gnu c library, uses called bionic port of c library bsd. not problem software, if using linux specific low level features, working serial ports need tweak code. see had port java rxtx library android https://github.com/vladistan/gnu.io.android

  6. you can find lot of android developers out there basic gui programming you, while concentrating on app specific stuff. interfacing between gui , low level things quite easy using binder. , of course can bring in whatever mecahnism want via ndk.

we have considered ubuntu touch. far doesn't seem mature enough.


Comments

Popular posts from this blog

java - WrongTypeOfReturnValue exception thrown when unit testing using mockito -

php - Magento - Deleted Base url key -

android - How to disable Button if EditText is empty ? -