3. Get the official Android ICS source code.(android-4.0.3_r1 IML74K) repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.3_r1 repo sync 4. Get the modified files from below link and overwrite it into /device & /vendor directory of ICS source tree. http://dl.dropbox.com/u/4485660/ICS.tar.gz This file contains various patches.
SDL source code http://www.libsdl.org/download-1.2.php Source code location on host PC /home/justin/sdl/SDL-1.2.14 (This is my working directory. It is just an example!)
Compile SDL export CC=arm-none-linux-gnueabi-gcc ./configure --host=arm-none-linux-gnueabi --prefix=/home/justin/sdl/compiled --without-x make -j 4 make install * Note: Modify the SDL-1.2.14/src/video/fbcon/SDL_fbvideo.c Comment out the mouse related code in FB_VideoInit() function.
Compile sdl test (Modify the SDL init function to 800x480 resolution and 32bit color, if the application uses graphic layer.) ./configure --host=arm-none-linux-gnueabi --with-sdl-prefix=/home/justin/sdl/compiled --disable-sdltest make -j 4
Compile Freetype http://download.savannah.gnu.org/releases/freetype/freetype-2.1.10.tar.gz ./configure --host=arm-none-linux-gnueabi --without-zlib --prefix=/home/justin/sdl/compiled make -j 4 make install
#undef HAVE_ICONV ==> showfont.c ( Modify this to avoid annoying error. But, this one should be fixed for proper display of 2-byte languages.) make -j 4 make install showfont executable file is generated in .lib directory.
SDL_ShowCursor(SDL_DISABLE); //To hide the mouse cursor !!!
Download and Install font. http://ftp.gnu.org/gnu/freefont/freefont-ttf-20100919.tar.gz Uncompress and copy the fonts in to /usr/fonts/ directory.
Open Accessory is a new capability for integrating connected peripherals with applications running on the platform. The capability is based on a USB (Universal Serial Bus) stack built into the platform and an API exposed to applications. Peripherals that attach to Android-powered devices as accessories connect as USB hosts. This was introduced with Android 3.1 Honeycomb and it is back ported in to Android 2.3.4 Gingerbread.
Hardkernel recently ported the latest Gingerbread 2.3.4 to ODROID-7 and we've tested the ADK feature with PIC24F based simple board. Enjoy this video and keep in touch~ We will make a new release for ODROID-7 and ODROID-A soon with this great Open Accessory Library.
ODROID-7 has an expansion port of TTA20 connector. There is an ADC port which is connected to S5PC110 processor. We are using the ADC port to make a simple oscilloscope.
Please note the ADC sample rate is only 1Mega samples per sec and it causes very low band width. But, it is still useful to see any moving/static level of signals on GPIO or audio frequency band.
We could grab SINE wave signal as below picture.
Hardware structure. - One OPAMP for signal conditioning (Attenuation as well as makes high input impedance) - One LDO for power supply of OPAMP - One LED can be controlled by CPU to display status - This board can work with Odroid-T as well. - TP1 is signal input and TP2 is reference(ground).
This 20pin TTA connector can be attached to ODROID-7 directly or through debug board.
Schematics of OSC board.
Software structure. - Modified ADC device driver in Kernel - JNI parts for inter-connection with Java (We call it NDK from time to time) - Java application to display signals.
What to do.... (Future improvement) - Trigger function - Zoom In/Out with multi-touch pinch input - Better Horizontal/Vertical scaling - Math lib for FFT/DCT
We will open the source code within couple of weeks. I think this is a very nice example to learn how real embedded system can run with Android OS. It also can be a good text book/reference for beginners.