FOSSASIA 2019 Schedule – March 14-17

FOSSASIA 2019 Schedule

As its name implies, FOSSASIA is a Free and Open Source Software  event taking place every year in Asia, more specifically in Singapore. I first discovered it last year, and published a virtual FOSSASIA 2018 schedule last year to give an idea about the subjects discussed at the event. It turns out FOSSASIA 2019 is coming really soon, as in tomorrow, so I’m a bit late, but I’ll still had a look at the schedule and made my own for the 4-day event.  Thursday – March 14, 2019 10:05 – 10:25 – For Your Eyes Only: Betrusted & the Case for Trusted I/O by Bunnie Huang, CTO Chibitronics Security vulnerabilities are almost a fact of life. This is why system vendors are increasingly relying on physically separate chips to handle sensitive data. Unfortunately, private keys are not the same as your private matters. Exploits on your local device still have the potential to grant bad actors access to your screen …

OpenCL Accelerated SQL Database with ARM Mali GPU Compute Capabilities

We’ve previously seen GPU compute on ARM could improve performance for mobile, automotive and consumer electronics application. GPU compute offload CPU task that can be parallelized to the GPU using APIs such as OpenCL or RenderScript. Most applications that can leverage GPU compute are related to media processing (video decoding, picture processing, audio decoding, image reconigion, etc…), but one thing I did not suspect could be improve is database access. That’s what Tom Gall, Linaro, has achieved in a side project by using OpenCL to accelerate SQLite database operations by around 4 times for a given benchmark. The hardware used was a Samsung Chromebook with an Exynos 5250 SoC featurig a dual core Cortex A15 processor and an ARM Mali T604 GPU. CPU compute is only possible on ARM Mali T6xx and greater, and won’t work on Mali 400 / 450 GPUs. Other GPU vendors such as Vivante and Imagination technologies also support GPU compute in their latest processors. As …

Cross compiling SQLite for ARM and MIPS

Following my blog entry about Databases for Linux Embedded Systems, here are the instructions to cross-compile SQlite. First download the latest version of SQLite amalgamation with autoconf script (version 3.75): wget http://www.sqlite.org/sqlite-autoconf-3070500.tar.gz Extract the source code: tar xzvf sqlite-autoconf-3070500.tar.gz Configure and build the source code. I’ll use mipsel-linux-gcc, but any other cross-compiler could be used. cd sqlite-autoconf-3070500 ./configure –host=mipsel-linux –target=mipsel-linux –prefix=/home/jaufranc/edev/sqlite-mips make make install At this point the library is correctly configured and installed, so you’d just need to copy the relevant files to your target board (skip include and share directories and  libsqlite3.a) . Let’s check the size of the required files: ls -l ../sqlite-mips/bin/ -rwxr-xr-x 1 jaufranc jaufranc 125513 2011-03-14 14:21 sqlite ls -l ../sqlite-mips/lib/libsqlite3.so.0.8.6 -rwxr-xr-x 1 jaufranc jaufranc 2087584 2011-03-14 14:21 ../sqlite-mips/lib/libsqlite3.so.0.8.6 sqlite binary is 122.57KB and the dynamic library 2038.65KB. Let’s see if we can optimize the binary size with compilation flags and by disabling some unnecessary features. The first thing to add is CFLAGS=”-Os” to …

Databases for Linux Embedded Systems: Berkeley DB and SQLite

Embedded systems often need to use database to store contact information, EPG data and more. Many Linux systems use MySQL, however such a large database management system may not always be appropriate for embedded systems. Hence, there are lightweight database management systems  implementation that are especially suited to embedded systems by their binary footprint, memory footprint and CPU requirements. If you want to develop in C in Linux and your requirement is to have no (or little) license to pay in your application, you could consider Oracle Berkeley DB or SQLite among others. Oracle Berkeley DB (previously Sleepycat Berkeley DB)  is described as follows: Berkeley DB enables the development of custom data management solutions, without the overhead traditionally associated with such custom projects. Berkeley DB provides a collection of well-proven building-block technologies that can be configured to address any application need from the hand-held device to the datacenter, from a local storage solution to a world-wide distributed one, from kilobytes …