Wednesday, August 17, 2011

Some books regarding the Operating Systems internals:

Japanese:
①30日でできる! OS自作入門
②12ステップで作る組込みOS自作入門
③実用 組込みOS構築技法―情報通信を支える基礎技術RTOS入門
④SuperHで学ぶμITRON仕様OS―リアルタイムOSの動作原理と実装法がわかる!
⑤自分で作るLinux OS
⑥自分で作るLinux OS 最新版

English:
①Building a Real Time Operating System: RTOS from the Ground Up by Colin Walls
②Simple Real-Time Operating System: A Kernel Inside View for a Beginner By Chowdary Venkateswara

Initiative book for electronics:
①図解 つくる電子回路

Tuesday, August 2, 2011

Microcontrollers of this year

Kinetis K10, K20, K30, K40, K50, K60

AVR



Kits:
ATMEL AVRスタータキット
http://akizukidenshi.com/catalog/c/cavrw/

How system calls implemented in RTOS

Apart from the scheduler, how system calls are implemented in Real-Time Operating Systems?

Sunday, July 31, 2011

JAVA in Embedded

Conventional Embedded systems involved only C and assembly languages. Now a days, the requirements for embedded systems widened beyond C and Embedded Database, Java and C++ in embedded systems become hot topics. So, let's update about the latest trends.

About Java in Embedded Systems:
http://www.netrino.com/Embedded-Systems/How-To/Embedded-Java

For more information about Java in Embedded:
http://www.netrino.com/taxonomy_menu/3/11

Saturday, July 30, 2011

Read 555 timer first

555 timer is used in many electronics project. So, first read about it and learn how to set the resistors to generate the waveform.

Read this:
http://www.sentex.ca/~mec1995/gadgets/555/555.html

Wednesday, July 27, 2011

Embedded system Power Consumption

RTOS metrics

・Memory footprint → memory usage, RAM & ROM requirements
・Latency
    ・Interrupt latency
    ・Scheduling latency
・Services performance→Minimum time taken by a system call

Embedded Microprocessor Benchmark Consortium (EEMBC)

http://www.mentor.com/resources/techpubs/upload/mentorpaper_69305.pdf

Tuesday, July 26, 2011

Interesting Story: Android

http://en.wikipedia.org/wiki/Android_(operating_system)

From RTC magazine,

"Certainly, Android is not ideal for all types of device designs. It presents a dazzling array of features and capabilities for mobile/wireless devices and an attractive OS option for other intelligent devices. In particular, Android is a viable alternative for designs that benefit from a graphical user interface, field-upgrade capability, a complement of ready-to-use applications, and both Java-style and native C/C++ runtimes.
It is a less attractive choice for
• Headless devices
• Devices with extremely limited RAM and persistent storage
• Closed-box designs
• Legacy support for RTOS APIs and other specialized interfaces
• Systems with pervasive hard real-time / low-latency response needs
• Designs built on “minority” CPU families or special-purpose silicon"

THE DALVIK VIRTUAL MACHINE ARCHITECTURE

Thursday, May 5, 2011

Perl for the day: while loop construct


use strict;
use warnings;

# to play cricket in my perl program

print "\nPress any of 0 to 9\n\n";

use Term::ReadKey;
my $bat = 1;
my $player;
my $num;
my $team;
my $ran = 0;
my $spot = 0;
my @res;

ReadMode 'cbreak';

while (++$spot < 3) {
    print "Team: ", $spot, "\n";
    $num = 0;
    $team = 0;
    while (++$num < 11) {
        print "    Player ", $num, ": ";
        $player = 0;
        while ($bat != 0) {
            $bat = int(ReadKey(0));
            $ran = int(rand(12345)) + $bat;
            $bat = $ran % 6;
            if ($bat != 0) {
                print $bat, "+";
            }
            $player += $bat;
        }
        print "=", $player, "\n";
        $team += $player;
        $bat = 1;
    }
    print "  Total score = ", $team,"\n";
    $res[$spot] = $team;
}
if ($res[1] > $res[2]) {
    print "Team 1 Won\n";
} elsif ($res[2] > $res[1]) {
    print "Team 2 Won\n";
} else {
    print "Match Tie\n";
}

Tuesday, May 3, 2011

Perl for the day: for loop construct handling array

use strict;
use warnings;

# fibonacci sequence/series using array in Perl

my $i;
my @ser = (0, 1);

for ($i = 2; $i < $ARGV[0]; $i++) {
    $ser[$i] = $ser[$i - 1] + $ser[$i - 2];
}

for ($i = 0; $i < $ARGV[0]; $i++) {
    print $ser[$i]," ";
}

dcbst - Data Cache Block Store instruction in PowerPC

If the byte specified by the effective address (EA) is cached by the data cache and the cache-line is modified (dirty), the entire contents of the cache-line are written to system memory. After the store completes, the cache-line is marked as unmodified (not dirty). But, the cache-line is not invalidated