Recently, I want to record my working
life in the past few months.
Last year, I am a newbie in embedded
Linux domain. But I think embedded Linux programming will be popular in the
future and I am interested in it. Luckily, my company offers a training course about
the Linux driver& application development. This training started my
embedded Linux programming life. In this training, I practiced some drivers and
application programs with the Tiny6410 platform.
In the past few months, I have played
with the Samsung DK board including the v310, Exynos 5250, Exynos 5410.
On the v310 platform, I had tried
to modify the frequency on the SD/MMC bus by referencing the datasheet and
verified it on scope. Implemented customer subsystem and vendor specific flow in
the U-boot system.
Exynos 5250 platform is the master
platform which I focus on. I modified the specific device driver, debugged, and
developed custom modules. During develop android application for customer requirement;
I tested three different ways to implement the requirement. First, I modified
device driver, developed related source code include HAL, JNI, framework and android
app. Second, I implemented another android app by using NDK. In this developing
flow, we don't need the HAL, just packed the native code to shared library. The
story is not stopped in here. Because it still can't meet the customer's requirement.
So, the third way was born. It is used the android runtime to execute Linux
application through shell commands. Because I need the root permission in
android system for the specific requirement. I have been tested this android
runtime app in different platform such as Exynos 5410(Odroid board), MTK 6582M(U969).
So, this way is most close to the customer's request. And I am still
working on it.
Because my company is focus on developing
a specific IC chip, I have the opportunity to develop the
related program from device driver to android app. In the other words, it means
I need to handle c/c++, java programming language and a little assembly
language. In order to analyze some android system behavior, I developed a log
analysis program by c#.
If I have time, I would like to share the detail experience about the above topic.