Category: ลีนุกซ์ โอเพนซอร์ส


The products in this section are designed for embedded systems, usually with very
limited resources (in terms of both memory and CPU power).
They sometimes are integrated with an operating system.
Sun has come up with PersonalJava and
EmbeddedJava – some of the products
below are compliant with these application environments.

Charis

http://www.charis.com/

The Charis pVM (pico Virtual Machine) is available for Win9x and NT, Linux, ARM7,
Hitachi’s H8-300H and Patriot Scientific’s PSC1000.
It is primarily meant for micro-controller based embedded systems (the ARM7
VM is stored in 32K of ROM).
A demo version can be downloaded.
Seems to be commercial.

Ewe

http://www.ewesoft.com/

The Ewe programming framework is meant for environments with restricted resources.
It includes a virtual machine which is not fully Java-compliant as well
as a class library of its own.
Thus, a Java VM can execute any Ewe program, but the Ewe runtime environment
cannot execute any Java program.
Ewe is an extension of Waba.

GENEVA

http://www.180sw.com/HTML/geneva.html

Geneva is a Java Virtual Machine running on the
ORIGIN architecture,
supporting all features of a normal JVM except for the graphics part of
the runtime libraries.
It is targetted at embedded systems (smartcards, handhelds, mobile phones etc.),
can run on 8-bit-systems, seems to work with 80×86 and SPARC hardware right now.

IBM VisualAge Micro Edition

http://www.embedded.oti.com/download/platform.html

These are runtime environments for embedded systems:

  • PalmOS/68K,
  • QNX/Neutrino PowerPC,
  • QNX/Neutrino 386,
  • QNX/Neutrino x86,
  • QNX/Neutrino MIPS,
  • QNX/Neutrino SH-4,
  • Linux x86,
  • Linux PowerPC,
  • Linux StrongArm,
  • Windows CE/ARM,
  • Windows CE/MIPS,
  • Windows CE/SH3,
  • Windows CE/SH4 and
  • Windows x86.

More information can be found at

http://www-4.ibm.com/software/ad/embedded/.

View full article »

ช่วงนี้วุ่นวายอยู่กับ Single Board Computer หรือ SBC มาพักใหญ่จนเอา Debian ไปยัดใส่ให้มันทำงานได้แล้ว SBC ที่ผมเอามาเล่นคือรุ่น TS-7200 ที่เคยเขียนถึง การใช้งาน debian บน SBC ที่มี ARM9 เป็น CPU ก็ถือว่าทำได้ดีในงานที่ต้องการขนาดระบบที่เล็ก แต่ผมดันลืมทำ swap ให้มันซะนี่

การทำ swap ส่วนใหญ่ผมจะเข้าใจว่าต้องทำโดยการแบ่งพาติชั่นเป็นหลัก และครั้งนี้ลืมไปเลยว่าต้องทำ swap ด้วย จนเอามาใช้งานก็ติดๆขัดๆเรื่องของ memory บ่อยอยู่เหมือนกัน ทีแรกว่าจะ fdisk ใหม่แต่ก็กลัวพลาด (เป็นบ่อย) เลยหาวีธีเซฟๆหน่อย

เลยได้เป็นการทำ swap file ไม่ต้องทำเป็น swap patition เริ่มการทำเลย

1. ก่อนอื่นต้องสร้าง block ขึ้นมาใน harddisk หรือ compact flash ขนาดก็ดูจาก memory หลักคูณด้วยสอง SBC ผมมีRAM ขนาด 32 MB ผมก็สร้าง swap file ขนาด 64 MB ด้วยคำสั่ง dd ดังนี้

# dd if=/dev/zero of=/swapfile bs=1024 count=64k
# mkswap /swap
Setting up swapspace version 1, size = 67104 kB
no label, UUID=7cde6930-7f70-44ac-8f96-d847f20a7b0b

2. เริ่มการใช้งาน swap file ที่สร้างขึ้น

# swapon /swap
Adding Swap: 65528k swap-space (priority -1)

3. ตรวจดูการใช้งานของ swap file ที่สร้างขึ้น

# cat /proc/swaps
Filename                        Type            Size    Used    Priority
/swap                           file            65528   0       -1

หรือใช้คำสั่ง top

top - 22:27:45 up 1 day,  8:01,  3 users,  load average: 0.00, 0.00, 0.15
Tasks:  24 total,   1 running,  22 sleeping,   1 stopped,   0 zombie
Cpu(s):   0.7% user,   1.0% system,   0.0% nice,  98.4% idle
Mem:     28572k total,    27632k used,      940k free,      348k buffers
Swap:    65528k total,        0k used,    65528k free,    19068k cached
 
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
23959 root      17   0  1048 1048  844 R  1.6  3.7   0:00.24 top
    1 root       8   0   144  144   92 S  0.0  0.5   0:01.40 init
    2 root       9   0     0    0    0 S  0.0  0.0   0:00.08 keventd
    3 root      19  19     0    0    0 S  0.0  0.0   0:00.01 ksoftirqd_CPU0
    4 root       9   0     0    0    0 S  0.0  0.0   1:15.98 kswapd
    5 root       9   0     0    0    0 S  0.0  0.0   0:00.00 bdflush
    6 root       9   0     0    0    0 S  0.0  0.0   0:00.23 kupdated
    7 root       9   0     0    0    0 S  0.0  0.0   0:00.00 mtdblockd
  122 root       9   0     0    0    0 S  0.0  0.0   0:00.00 khubd
  254 daemon     9   0   124  124   48 S  0.0  0.4   0:00.02 portmap
  338 root       9   0   112  112   52 S  0.0  0.4   0:00.05 inetd
  346 root       8   0   324  320  204 S  0.0  1.1   0:00.06 sshd
  359 root       9   0   140  140   52 S  0.0  0.5   0:00.05 rpc.statd
  370 root       8   0   332  332  168 S  0.0  1.2   0:00.47 cron
  426 root       9   0   300  300   52 S  0.0  1.0   0:00.11 login
  427 root       9   0   868  868  584 S  0.0  3.0   0:00.15 bash
  575 root       9   0   632  624  340 S  0.0  2.2   0:15.45 sshd
  576 root       9   0   296  296   52 S  0.0  1.0   0:00.10 login
  577 root       8   0   816  816  504 S  0.0  2.9   0:01.59 bash
  903 root       9   0   628  620  340 S  0.0  2.2   0:01.40 sshd
  925 root       9   0   296  296   52 S  0.0  1.0   0:00.09 login
  926 root       9   0  1232 1232  672 S  0.0  4.3   0:00.27 bash
14986 root       9   0  1560 1560   52 T  0.0  5.5   0:01.70 zip
30177 root       9   0   260  260  184 S  0.0  0.9   0:00.22 syslogd

ถ้าได้อย่างนี้แล้วก็คือใช้งานได้แล้ว

4. สุดท้ายเอาไปเพิ่มไว้ไนไฟล์ fstab เพื่อให้ใช้งานได้เองหลังจากบูทเครื่องทุกครั้ง

proc             /proc         proc    defaults                 0    0
none            /dev/pts        devpts        gid=5,mode=620    0 0
/swap           none    swap    sw      0       0
/dev/sdcard0/disc0/part3        /       ext2    defaults,noatime,sync   1 1

เคยมีคำถามให้ตัวเองมาก่อนว่า บนลีนุกซ์เนี่ยมีโปรแกรมไหนบ้างนะที่ทำงานเหมือน hyperterminal บนวินโดวส์ จนได้คำตอบให้ตัวเองมาเรื่อยๆ
ก่อนหน้านี้เคยใช้แต่ minicom แล้วก็ติดปัญหาอย่างที่เคยเขียนถึงมาก่อนนี้แล้ว ที่นี่ จนได้มาใช้ GtkTerm และอีกหลายๆตัว ดังจะรวบรวมไว้ดังนี้

1 GtkTerm
GtkTerm เป็นโปรแกรมที่ทำงานแบบ graphical serial terminal ที่ผมชอบใช้งานมากที่สุด เขียนด้วย gtk library
gtkterm.png

2 CuteCom
CuteCom เป็นโปรแกรมที่ทำงานแบบ graphical serial terminal โดยเขียนด้วย Qt library หน้าตามันเลย Qt แบบนี้
cutecom-0140.png

3 minicom
minicom เป็นโปรแกรมที่ทำงานบน text mode ได้เลย จึงเหมาะกับการใช้งานที่กว้างกว่า เช่น รีโมทผ่านอินเทอร์เน็ต เพื่อไปติดต่อกับ COM Port อีกที่หนึ่งก็สะดวก (ดูคล้ายๆพวกอุปกรณ์ serial server นิดนึงนะ)

4 C-Kermit
C-Kermit เป็นโปรแกรมที่ทำงานบน text mode เหมือน minicom

vimcolor.png

จำได้คลับคล้ายคลับคลาว่า เมื่อหลายปีก่อนนั้นใช้ vi บน Linux Mandrake (ปัจจุบันเปลี่ยนชื่อเป็น mandriva ) มันทำ syntax highlighting ทำให้ใช้งานเพลินดี หลังๆเวลาผ่านไปรวดเร็วเหลือเกิน กอปรกับเลิกใช้ mandrake แล้ว ที่ผ่านมาก็ใช้ redhat, fedora และห้วงสองปีที่ผ่านมาจนปัจจุบันนี้ ก็มักจี่อยู่กับ debian และ kubuntu ช่วงนี้ vi อยู่บ่อยจัดสังเกตเห็นว่าสีที่เคยมีมันหายไปไหนตั้งแต่เมื่อไร เลยคิดถึงเรื่องสีๆ (เปล่าเสียดสี และ ไม่แดกดันใครล่ะ อิอิ) เลยลองหาที่ๆจะให้ vi มันไฮไลท์สีให้ และได้ความว่า ที่ไฟล์ /etc/vim/vimrc ประมาณ บรรทัดที่ 20

" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
"syntax on

เอา คอมเม้นท์ (“) ตรงหน้า syntax on ออกแล้วลองใช้งาน vi ดูก็จะเป็นคนมีสีแล้วล่ะครับ …

ที่บ้านผมมี web camera online อยู่สองตัว ออนไลน์บ้างเน่าบ้างแล้วแต่ ปัจจัยเสี่ยง(เสีย)มันเยอะ ช่วงเสาร์-อาทิตย์ที่ผ่านมา ว่างๆ ไม่มีอะไรทำ เลยไปอัพเดทให้สามารถแสดงผลภาพที่เกิดจากการจับการเคลื่อนไหว (motion detection) เอามาแสดง 40 รูปล่าสุด ดูตัวอย่างได้จากรูปด้านล่าง

webcam.jpg

หรือจะไปดูของจริง ที่ ออนไลน์อยู่ขณะนี้สองกล้อง กล้องที่หนึ่ง, กล้องที่สอง
ใครที่พอจะเคยผ่านไปผ่านมาเว็บนี้บ้างคงพอรู้ว่าระบบกล้องออนไลน์นี้ใช้โปรแกรม motion ก่อนหน้านั้นให้มัน ออนไลน์เฉยๆ ไม่ได้ให้เก็บข้อมูลภาพ และตอนนี้สามารถเก็บแบบภาพที่เกิดการเคลื่อนไหว ไว้เป็นไฟล์ภาพ และ ไฟล์ วีดีโอ ตอนนี้ผมได้เพิ่มการเอาไฟล์ภาพมาให้ดูได้ 40 ภาพ โดยใช้โปรแกรม FLASH IMAGE ROTATOR เป็นตัวเอาภาพมาแสดง ตอนนี้ก็เหลือแต่ส่วนที่เป็น ไฟล์วีดีโอ ที่กองอยู่ในฮาร์ดดิส เดี๋ยวจะหาวีธีเอาออกมาให้ดูอีกทีครับ ..

Creative Commons License Page Rank