Lab Module List

*
­Y¦³¿³½ì¥Ó½Ð¥»Áp·ùªº¹êÅç¼Ò²ÕªÌ¡A½Ð¦Ü SOC½Òµ{¸ê®Æ®w ¥Ó½Ð¡C

[001-02][Á§´¼¤å]  [001-03][ªL¼e¤¯]  [001-04][­J¦Ë¥Í]  [001-05][¶À¤å¼W]  [001-07][·¨¥¿¤¯]  [001-08][±i°a±l]   

[001-09][§d¾å¥ú]  [001-10][·¨¤¤¥­]  [001-11][±i¥ß¥­]  [001-12][·¨¥¿¤¯]  [001-13][±i¥ß¥­]  [002-01][±iºa¶Q]   

[003-01][¤ý³Ó¼w]  [003-02][¶À³s¶i]  [003-03][¶¾¥ßµX]  [003-04][·¨¤¤¥­]  [003-05][½²°ê½÷]  [004-01][Á鸭«C]   

[004-02][¶À¤h®ï]  [004-03][¬I¦Nª@]  [004-04][¿½§»³¹]  [005-01][¬I¦Nª@]  [005-02][¶À®õ¤@]  [005-03][¤ý³Ó¼w]

[005-04][±ä§µòR]  [005-05][³¯§Bºa]  [005-06][ªL§Ó±Ó]  [006-01][§õ¬F±X]  [007-01][«J§Ê°¶]  [007-02][«J§Ê°¶]

[007-03][¤ý³Ó¼w]  [007-04][³¯«C¤å]  [007-05][ªL¥ò§Ó]  [007-06][½²©ú­õ]  [007-07][«J§Ê°¶]  [008-01][Áé©ú¬F]   

[009-01][³\©s¶W]

Browse all lab modules by classification of
[All Modules] [OS] [Platform] [Tool Chain] [Release Year]

Table: Lab Modules

001-02

¶}µo±Ð®v¡GÁ§´¼¤å

½Òµ{¦WºÙ¡G¨t²Î´¹¤ù¤§´O¤J¦¡§Y®É§@·~¨t²Î

¾Ç®Õ¨t©Ò¡G¤¤¥¿¤j¾Ç¸ê¤u¨t

¥D¼f©e­û¡Gª÷¥ò¹F

¹q¸Ü¡G05-2720411 ext. 23125

¦a§}¡G¹Å¸q¿¤¥Á¶¯¶m¤j¾Ç¸ô168¸¹
¸ê¤u©Ò§Y®É¨t²Î¹êÅç«Ç

ú¥æ¤é´Á¡G2005/9/10

Content:

 4 Lab modules

Platform: Creator S3C2410

¡@

Lab1: Download program (LCD application) to Creator S3C2410

The objective of this lab is to train students to setup development environment of an embedded system and manipulate an ARM embedded platform. Students should be first familiar with the hardware specification of the hardware platform in order to control the hardware. A student will learn to install and configure the tool chain of the embedded platform. In addition, students will learn how to cross compile and download program from a host PC and execute the downloaded program on the embedded platform.

¡@

Lab2: Porting Linux on Creator S3C2410

The objective of this lab is to train students with the process of porting the Linux operating system onto an ARM embedded platform. Students should be first familiar with the Linux XWindows and shell environment. A student will learn to configure, compile, download, and debug the Linux OS image on an embedded platform. In addition, students will learn how to install and use the debugger of the Creator S3C2410 and download an image from a host PC.

¡@

Lab3: Add Application MP3 player

The objective of this lab is to train students to be familiar with the embedded system development environment under Linux on an ARM embedded platform. Students should first be familiar with the embedded Linux environment. After booting the embedded platform with embedded Linux, a student will learn to cross compile and download program from a host PC and execute the downloaded program on the embedded platform. In addition, students can further learn how to setup NFS in Linux and debug using debugger on the Creator embedded platform. A MP3 Decoder is used in this LAB. Students can play MP3 files via NFS on the Creator board.

¡@

Lab4: Add module ¡V RT-OS firelinux

The objective of this lab is to understand and practice with a real-time OS, FireLinux, on an ARM embedded platform. Students should be familiar with the Linux shell development environment and will learn the skills about embedded system development process, such as cross-compiling, debugging, downloading image file to target board, etc. Students can learn the concepts of real-time scheduling and the manipulation of FireLinux. Furthermore, students can actually execute real-time applications using FireLinux on the embedded platform and observe the program behavior with and without real-time control of FireLinux.

001-03

¶}µo±Ð®v¡GªL¼e¤¯

½Òµ{¦WºÙ¡G¨t²Î´¹¤ù¤§´O¤J¦¡³nÅé³]­p

¾Ç®Õ¨t©Ò¡G»²¤¯¤j¾Ç¹q¤l¤uµ{¨t

¥D¼f©e­û¡G±ç¤åÄ£

¹q¸Ü¡G02-29052159¡B29053590

¦a§}¡G·s²ø¥«¤¤¥¿¸ô510¸¹SF727B«Ç

ú¥æ¤é´Á¡G2005/9/8

¡@

Content:

 9 Lab modules

Lab1: ARM³B理¾¹µ{¦¡¶}µo(¤@)

¥»¹êÅç°£了利¥Î¤@­Ó²³æªº例¤l¤¶²Ð¦p¦ó¶}©l¨Ï¥ÎARM Developer Suite (ADS)¥~¡A¥D­n¾Ç²ß¦p¦ó²V¦X¨Ï¥ÎC¡AC++¡A»PARM assembly language code¡A¨ä¤¤¥]¬A¡G
 
¨Ï¥Îinline assemblers
 
±qassembly code ¦s¨úC global variables
 
±qC++¨Ï¥ÎC header files
 
¦bC¡AC++¡A»P ARM assembly language ¶¡¬Û¤¬©I¥s

¡@

Lab2: ARM³B理¾¹µ{¦¡¶}µo(¤G)

¥»¹êÅç¥D­n說©ú¦p¦ó¦bADS¤W debug »Pµû¦ô³nÅ骺quality¡C·Q了¸Ñ更¦h¥»¹êÅ窺´ú¸Õ³nÅéDhrystone(¥]¬Adhry_1.c¡Bdhry_2.c¡Bdhry.h)¡A¥i參¦ÒARMªº¨Ï¥Î¤â¥U(ex. C:\Program Files\ARM\ADSv1_2\Examples\dhryansi\)¡A¥H¤U¬°¥»¹êÅç©Ò²[»\ªº§Þ¥©¡G
 Debugging
¡G
 
³]©wbreakpoints »Pwatchpoints¡C
 
Àˬd©Î§ïÅÜÅÜ數¡B¼È¦s¾¹»P°O¾ÐÅ骺¤º®e¡C
 
µû¦ô³nÅ骺quality¡G
 
µ{¦¡©Ò»Ý­nªº°O¾ÐÅé¡C
 Profiling
¡G«Ø立¨C¤@­Óprocedure©Ò¦ûªº®É¶¡¦Ê¤À¤ñ¡C
 
µû¦ô³nÅ骺©Ê¯à­nÀu¥ý©óµwÅ骺¹ê²{

¡@

Platform: NET-Start!W3001

¡@

Lab3: Use Hitool for ARM to write Boot code

¥»¹êÅç«Y利¥Î·f°tICE³]³Æ¤§¾ã¦X«¬¶}µoÀô¡AHitool for ARM¡A來ÁA¸Ñ»P練²ßboot code¤§½s¼g¡C

¡@

Lab4: Porting uClinux2.0

¥»¹êÅç±N°ò©ó¶}µo¥­¥xNET-Start!®M¥ó¡A¾Ç²ß
(1)
¦bLinux©ÎWindows¤U«Ø¸m¤@­Ócross-platform¶}µoÀô¹Ò¡C
(2) Build
´O¤J¦¡§@·~¨t²Î¤§®Ö¤ß¡GuClinux kernel¡C
(3)
«Øºcroot filesystem¡C
(4)
¶}µoÀ³¥Îµ{¦¡¤§流µ{»P¤u¨ã¨Ï¥Î¡C
(5)
¦p¦ó±Nkernel¡Broot filesystem»PÀ³¥Îµ{¦¡¤U¸ü¤JµwÅ饭¥x¡A¨Ã°õ行¤§¡C

¡@

Lab5: Add Driver for switch and 7 segment

¼ô±xuCLinuxÅX°Êµ{¦¡¤§µo®i¬yµ{»P¦w¸Ë¡C¦b´O¤J¦¡¨t²ÎÅX°Êµ{¦¡(¤@)¹êÅ礤¤§½d¨Ò¬O¤@­Óuser-modeªºµ{¦¡¡A¦ý¥iª½±µ¦s¨úµwÅéIO¡C¥»¹êÅç±N¸Ó½d¨Ò¤¤IOŪ¼g§ï¦¨kernel mode¤§ÅX°Êµ{¦¡¨Ó­t³d¡C¨ÃÂǦ¹½d¨Ò¨Ó¤F¸ÑuCLinuxÅX°Êµ{¦¡¤§³]­p»P¦w¸Ë»P¤@¯ë«D´O¤J¦¡Linux¤§®t²§

¡@

Lab6: Add Interrupt Handler and Timedelay

¦bÅX°Êµ{¦¡¤¤¨Ï¥Î®É¶¡©µ¿ð»P¤¤Â_ªA°È³B²z¡C

¡@

Lab7: Add DMA

¾Ç²ßÅX°Êµ{¦¡¦p¦ó¤ä´©IO¤§DMA¥\¯à¡A¨Ã¥HUART IO¬°¹ê§@½d¨Ò¡C

¡@

Platform: NET-Start!W3001

¡@

Lab8: Porting uC/OS

±N uC/OS´Ó¤JNET-Start¥­¥x¡AÁA¸Ñ¦p¦ó°ò©óRMS±Æµ{¡A³]­p¤@­Óº¡¨¬hard real timeªºµ{¦¡¡C

¡@

Lab9: Modify OS scheduler (Priority inversion problem)

ÁA¸Ñpriority¤ÏÂà°ÝÃD¤§µo¥Í­ì¦]»P¸Ñ¨Mµ¦²¤¡C

¡@

001-04

¶}µo±Ð®v¡G­J¦Ë¥Í

½Òµ{¦WºÙ¡G¨t²Î´¹¤ù¤§´O¤J¦¡§Y®É§@·~¨t²Î

¾Ç®Õ¨t©Ò¡G¥æ³q¤j¾Ç¹q¾÷»P±±¨î¤uµ{¾Ç¨t

¥D¼f©e­û¡G ±ä§µòR

¹q¸Ü¡G03-571-2121 x 54318

¦a§}¡G·s¦Ë¥«¤j¾Ç¸ô1001¸¹

¥æ³q¤j¾Ç¤uµ{¤­À]712«Ç

ú¥æ¤é´Á¡G2005/7/30

Content:

 1 Lab module

¡@

Platform: TI OMAP5910

¡@

Lab: Porting Linux and Installation and programming of embedded Linux on OMAP

The purpose of this lab is to allow students to practice installation and programming of embedded Linux on OMAP produced by Texas Instruments. Also it covers some experiments of programming the DSP core within OMAP and the communication of the DSP BIOS with the embedded Linux.

¡@

001-05

¶}µo±Ð®v¡G¶À¤å¼W

½Òµ{¦WºÙ¡G¨t²Î´¹¤ù¤§´O¤J¦¡§Y®É§@·~¨t²Î

¾Ç®Õ¨t©Ò¡G¥x¥_¬ì§Þ¤j¾Ç¹q¤l¨t

¥D¼f©e­û¡G±ç¤åÄ£

¹q¸Ü¡G(02)2771-2171 Ext. 2200

¦a§}¡G¥x¥_¥«¤j¦w°Ï©¾§µªF¸ô¤T¬q1¸¹

ú¥æ¤é´Á¡G2005/10/20

¡@

Content:

 5 Lab modules

¡@

Platform: Creator S3C4510B

¡@

Lab1: ARM4510¤C¬qÅã¥Ü¾¹

¸g¹L³]­p»PÅX°Ê¤C¬qÅã¥Ü¾¹ªºÅã¥Ü¡A§Q¥Î½ü¸ßªº¤è¦¡¡AÅý¥|Áû¤C¬qÅã¥Ü¾¹Åã¥Ü¼Æ­È»P­^¤å¡C²`¤J¤F¸ÑS3C4510 Creator¤C¬qÅã¥Üªº¨Ï¥Î,»P°ö¾iµ{¦¡³]­pªº¯à¤O¡C

¡@

Lab2: CODEC ¥\¯à¹ê²ß

¥»¹êÅç¬O¥H¤j¦h數Án­µ³B理³Ì±`¨Ï¥Î¨ìªº¥\¯à¡A錄­µ»P©ñ­µ¬°½d例來±´°QCODECªº±±¨î¤è¦¡¡A¥»¹êÅç¥D­n¬O±q¦p¦ó¼¶¼gCODEC±±¨îµ{¦¡¡A¶i¦Ó¹ï©óCODEC¦³了更¶i¤@¨Bªº»{識¡C¦¹¥~¶°¦X了LCD¡BÁä½L¡BI2C¤ÎCODECªº±±¨î»PÅX°Ê§Þ³N¡A¤]´N¬O±N«e­±ªº¹êÅç¥[¥H¾ã¦X¡A¦]¦¹¥»¹êÅçºâ¬O¤@­ÓÁ`¶°¹êÅç¡A¤U列±N¥HCODEC¬°¤¤¤ß¶i行¤¶²Ð¡C

¡@

Lab3: KEYPAD¥\¯à¹ê²ß

¸g¹L³]­p¤@­Ó4*4ªºÁä½L¡A§Q¥Î½ü¸ßªº¤è¦¡¦æÁä½L±½´yªº¤u§@¡A·í¨Ï¥ÎªÌ«öÁä®É¡A·|®Ú¾Ú4510¥­¥x¤Wªº«öÁä½X¡AÅã¥Ü©óLED¤W¡C¤F¸ÑS3C4510 Creatorªº¨Ï¥Î,»P½L±½´y½uªº¹B§@¤è¦¡,¨Ã°ö¾iµ{¦¡³]­pªº¯à¤O¡C

¡@

Lab4: LED¥\¯à¹ê²ß

¸g¹L³]­p¤@­Ó8*1ªºLED¶]°¨¿O¡A§Q¥Î½ü¸ßªº¤è¦¡¶i¦æLED±½´yªº¤u§@¡A·í¨Ï¥ÎªÌ«öÁä®É¡A·|®Ú¾Ú4510¥­¥x¤Wªº«öÁä½X¡AÅã¥Ü©óLED¤W¡C¤F¸ÑS3C4510 Creatorªº¨Ï¥Î,»P°ö¾iµ{¦¡³]­pªº¯à¤O¡C

¡@

Lab5: UART³q°T¸ê料ªº¶Ç¿é

¥»¹ê²ß¬O¦b´O¤J¦¡¨t²Î¹ê²{¤@­ÓUART(串列¶Ç¿é)ªº¥\¯à¡A³o¹ê²ß¬°了Åý¶}µoªÌ¦b¹q¸£(Host)ºÝ»PS3C4510 ªºUART0 Port(Target)ºÝ¡A¯à°÷ÁA¸Ñ¨ì兩ªÌ¤§¶¡ªº³q°T¨ó©w¡A¦Ó³]­pªº¤@­ÓS3C4510B UART ªºµ{¦¡¡C¦b¦¹¥÷³ø§i¤¤±N·|¸Ô²Óªº¤¶²ÐS3C4510B UART ­ì理¥H¤Î¨ä°Ê§@流µ{¡C

 

001-07

¶}µo±Ð®v¡G·¨¥¿¤¯

½Òµ{¦WºÙ¡G¤º´O¦¡¨t²Î³]­p»P¹ê²ß

¾Ç®Õ¨t©Ò¡G¤¸´¼¤j¾Ç¸ê°T¤uµ{¾Ç¨t

¥D¼f©e­û¡G±ä§µòR

¹q¸Ü¡G03-4638800 x 2367.41

¦a§}¡G®ç¶é¿¤¤¤Ãc¥«»·ªF¸ô135¸¹ ¤¸´¼¤j¾Ç¤@À]1405B«Ç

ú¥æ¤é´Á¡G2005/9/8

Content:

4 Lab Modules

¡@

Platform: ARM-Evaluator-7T

¡@

Lab1: Use ADS to download program (¼Æ¦ìÁ_¬÷¾÷)

¾Ç¥Í§Q¥ÎARM Evaluator-7T¹êÅçªO¹ê§@¬ÛÃöµ{¦¡¨Ó¼ÒÀÀ¤@­Ó¼Æ¦ìÁ_¬÷¾÷¡C³z¹L³o­Ó¹êÅç¡A¾Ç¥Í±N¾Ç·|¦p¦ó¦b¯u¥¿ªºµwÅéªO¤W¶}µo¤º´O¦¡À³¥Îµ{¦¡©M¾Þ§@¤¤Â_±±¨î¾¹©MI/O¤¸¥ó¡C

¡@

Lab2: Porting uC/OS

§Y®É§@·~¨t²Î¡]RTOS¡GReal-Time Operating System¡^­t³dºÞ²z¤º´O¦¡¨t²ÎªºµwÅ餸¥ó¡A¨Ã´£¨Ñ¨Ï¥ÎªÌ©MÀ³¥Îµ{¦¡¤@­Ó©â¶H¤¶­±¡AÅý¨Ï¥ÎªÌ©MÀ³¥Îµ{¦¡±o¥HÁ×§Kª½±µ±µÄ²¨ì©³¼hªºµwÅé¡C¦b³o­Ó¹êÅ礤¡A¾Ç¥Í¥²¶·±N¤@­Ó¤p¦ý¬O¥\¯à»ô¥þªº§Y®É§@·~¨t²Î¡XmC/OS²¾´Ó¨ìARM Evaluator-7TµwÅ饭¥x¤W¡C³z¹L³o­Ó¹êÅç¡A¾Ç¥Í±N·|»{ÃѦb¤º´O¦¡¨t²Î¤Wªº§Y®É§@·~¨t²Î®Ö¤ßµ{¦¡©M¾Ç²ß¦p¦ó±N§@·~¨t²Î²¾´Ó¨ì¤£¦PªºµwÅ饭¥x¤W¡C

¡@

Platform: Creator S3C4510B

¡@

Lab3: Application ¡V Use UART communication between PC and Target (Point-to-Point Protocol)

Point-to-Point Protocol¡]PPP¡^³q°T¨ó©w¥i¥HÅý¨â¥x¹q¸£¨t²Î³z¹L¤@­Ó²³æªº³sµ²¡]RS232¶Ç¿é½u¡^¡A¶i¦æ¸ê®Æ¶Ç¿é¡C³o­Ó¹êÅç¥D­n¬O§Q¥ÎPPP³q°T¨ó©w¡AÅýARM¹êÅçªO»PPC¤§¶¡©¼¦¹¶Ç°e»P±µ¦¬¸ê®Æ¡CÂÇ¥HÅý¾Ç¥Í¤F¸Ñ¦p¦ó§Q¥ÎPPP ³q°T¨ó©w¨ÓÅý¨â­Ó´O¤J¦¡¨t²Î¸Ë¸m©¼¦¹¥æ´«¸ê®Æ¡C

¡@

Lab4: Application ¡V Bluetooth module

ÂŪ޵L½u§Þ³Nªº¿³°_¦b³Ìªñ´X¦~¸Ì±È°_¤F¤@°}µu¶ZÂ÷µL½u³q°Tªº¼ö¼é¡A¥»¹êÅ窺¥Øªº¦b©ó¨Ï¦P¾Ç
a.
¤F¸ÑÂŪ޳q°T¶Ç¿éªº°ò¥»Æ[©À
b.
¦b¹ê§@¤¤´x´¤ÂŪ޳q°Tªº¬ÛÃö§Þ³N³]­p

¡@

001-08

¶}µo±Ð®v¡G±i°a±l

½Òµ{¦WºÙ¡G¨t²Î´¹¤ù¤§´O¤J¦¡§Y®É§@·~¨t²Î

¾Ç®Õ¨t©Ò¡G¤¤¿³¤j¾Ç¸ê°T¬ì¾Ç¨t

¥D¼f©e­û¡GÁ鸭«C

¹q¸Ü¡G04- 22840497#603

¦a§}¡G402¥x¤¤¥««n°Ï°ê¥ú¸ô250¸¹
°ê¥ß¤¤¿³¤j¾Ç²z¾Ç¤j¼Ó 1003«Ç

ú¥æ¤é´Á¡G2005/8/23

Content:

7 Lab Modules

¡@

Platform: NET-Start evaluation ARM S3C4510B

¡@

Lab1: Use I/O port to control LED, DIP Switch, 7segment

¸g¥ÑDIP Switch»P7-Segmentªº±±¨î¡A¤F¸Ñ¦p¦óÂǥѯS©wªº¼È¦s¾¹¤Îmemory map¨Ó¹F¨ìInput¡BOutputªº¥\¯à¡C

¡@

Lab2: Add SWI, IRQ Handler

SWI¥D­nªº¥Î³B¬O¦b©ó´£¨Ñsystem call¡A¨Ò¦p¡Aprintf()¡Bgetchar()µ¥µ¥¡AÅýuser program¥i¥Hª½±µ¨Ï¥Î¨t²ÎªºªA°È¡A²¤Æµ{¦¡ªº­t¾á¡CIRQ«h¬O¥Î¦b»PµwÅéµ¥¶gÃä°t³Æ»P¨t²Î°µ·¾³q¡C¸g¥Ñ¥»¶µ¹êÅç¡A¤F¸Ñ¦p¦ó¥h³]­p¡B­×§ïSWI¤ÎIRQªºhandler¡A©MIRQ¡BSWI¤§¶¡ªºÃö«Y¡C

¡@

Lab3: Porting uC/OS II, Modify Message Queue

Providing Non-Destructive-Read Message API for Message Queue Management in MicroC/OS-II¡C

¡@

Lab4: Add API Flush() ¡V Modify Semaphores

Providing Flush( ) API for Semaphore Operating in MicroC/OS-II

¡@

Lab5: Modify scheduler ¡V Ready list

§ó§ïMicroC/OS-II ¤¤Ready ListªºMapping¤è¦¡

¡@

Lab6: Modify scheduler ¡V Round Robin

Providing Round-Robin Scheduling for MicroC/OS-II

¡@

Lab7: Modify scheduler ¡V Multi-level Queue Scheduling

Providing Multi-level Queue Scheduling for MicroC/OS-II(¢º)

¡@

001-09

¶}µo±Ð®v¡G§d¾å¥ú

½Òµ{¦WºÙ¡G¨t²Î´¹¤ùºô¸ôÀ³¥Î¤§´O¤J¦¡
§Y®ÉLinux§@·~¨t²Î

¾Ç®Õ¨t©Ò¡G¤¤¥¡¤j¾Ç¸ê°T¤uµ{¾Ç¨t

¥D¼f©e­û¡G³¯¿o¥­

¹q¸Ü¡G03-4227151#35329

¦a§}¡G®ç¶é¿¤¤¤Ãc¥«¤­Åv¨½2¾F¤¤¤j¸ô300¸¹
¤¤¥¡¤j¾Ç¤u¤­À] 309«Ç

ú¥æ¤é´Á¡G2005/9/10

¡@

Content:

4 Lab Modules

¡@

Lab1: Install Simulator of ARM Embedded Linux System on PC

The objective of this hand-on lab is to train students to be familiar with basic concepts for ARM simulator and be able to install an emulator of ARM embedded Linux system. In this lab, a student will learn to operate ARM simulators also.

¡@

Lab2: Install Simulator of ARM Embedded Linux System on PC II

The objective of this hand-on lab is to train students to be familiar with basic concepts for ARM simulator. In this lab, a student will learn to install and operate ARM simulators and run some programs on these simulators.

 

Platform: Creator S3C4510B

¡@

Lab3: Setup Network environment of Embedded Linux(uClinux)

The objective of this hand-on lab is to train students to use two kinds of interface to setup network environment of uClinux and be able to run the program on the creator board.

¡@

Lab4: Boot Loader Installation Create Kernel Image

The objective of this hand-on lab is to train students to be familiar with basic concepts for
1. OS of embedded system
2. Boot Loader Installation
3. Create Kernel Image (ex. uClinux)
and be able to build image of uClinux . Then let student learn to burn the image into the target board .
¡@

001-10

¶}µo±Ð®v¡G·¨¤¤¥­

½Òµ{¦WºÙ¡G¨t²Î´¹¤ù¤§´O¤J¦¡§Y®É§@·~¨t²Î

¾Ç®Õ¨t©Ò¡G¦¨¥\¤j¾Ç¸ê°T¤uµ{¨t

¥D¼f©e­û¡G±ç¤åÄ£

¹q¸Ü¡G 06-275-7575 ext.62551

¦a§}¡G¥x«n¥«¤j¾Ç¸ô¤@¸¹
¦¨¥\®Õ°Ï¸ê°T¤uµ{¾Ç¨t4286 «Ç

ú¥æ¤é´Á¡G 2005/9/10

Content:

4 Lab Modules

¡@

Platform: VIAEPIA MII

¡@

Lab1: Embedded Linux on VIA EPIA

Linux is the kernel and freely available open source. We will learn how to put Linux on an embedded device from this project. Part I we will introduce the development environment, and some basic tools we use. Part II we will learn how to port Linux on a VIA EPIA MII, and boot from a USB disk. Part III we will learn how to build a GUI project on our embedded system. Part VI we will learn how to build a web server on our embedded system.

¡@

Platform: ARM7 EV40

¡@

Lab2: uCLinux on ARM7 with HiTool

The objective of this lab is to train students with the process of porting the Embedded operating system ( uClinux, non MMU ) onto an ARM-based embedded platform. Student should build his own kernel and filesystem. Student will know how micro os work. It is a good way to know micro kernel, device driver, debug tool, and etc. Hitool is a useful debug tool for ARM7 EV40 board. We can use it to drive some IO.

¡@

Platform: EZ-USB SX2

¡@

Lab3: USB Device Firmware Framework

The objective of this hands-on lab is to train students with the process of developing USB device firmware framework. In Part1 we first introduce the USB protocol. In Part2 we teach you how to use Cypress development kit to download USB device firmware into Cypress SX2 board. And in Part3 we look the USB Firmware Framework that is a process of developing USB Device Firmware. The last in Part4 we take a look some packets about USB audio device enumeration.

¡@

Platform: VIAEPIA ML

¡@

Lab4: Windows CE on VIA EPIA ML

The object is to let the students know 1. What is Windows CE and its development tools. 2. How to use Platform Builder to build a CE image. 3. How to add an application and a device driver to the CE image. 4. How to download the image to target platform by using debug mode. 5. How to port CE image to EPIA ML board.
After finishing this lab, students will know the progress of building and customizing the CE image.
¡@

002-01

¶}µo±Ð®v¡G±iºa¶Q

½Òµ{¦WºÙ¡G´O¤J¦¡³nÅé¶}µo¤u¨ã

¾Ç®Õ¨t©Ò¡G¤¤¥¿¤j¾Ç¸ê¤u¨t

¥D¼f©e­û¡GÁ鸭«C

¹q¸Ü¡G05-2720411 ext.33121

¦a§}¡G¹Å¸q¿¤¥Á¶¯¶m¤j¾Ç¸ô168¸¹¸ê¤u¨t

ú¥æ¤é´Á¡G2005/9/30

¡@

Content:

5 Lab Modules

¡@

Lab1: Build ARM cross compiler

¦bLinuxÀô¹Ò¤U¦w¸ËGCC¤ÎBinutils¡C­º¥ý¡A¦w¸ËARM-Binutils¡ABinutils¸Ì¥]§tassembler¡Blinker©M¤@¨Ç¨ú¥Xbinary code¸ê°Tªº¤u¨ã¡C±µµÛ¦w¸ËGCC¡A¦¹®É©Ò¦w¸ËªºcompilerºÙ¬°bootstrap compiler¡A¥Ñ©óruntime libraries¥H¤Îheader files¥²¶·¨Ï¥ÎARMªºcompiler¨Ó²£¥ÍARMªº²Õ¦X»y¨¥¡A©Ò¥H­n¥ý«Ø¥ßbootstrap compiler¨Ó½sĶruntime libraries©Mheader files¡C³o¨ÇÀÉ®×¥]§t¦bnewlib¤¤¡C±µµÛ½sĶ¥]§t§¹¾ãlibraryªºcompiler¡C³Ì«á©Ò«Ø¥ßªºcompiler¡A´N¬O¥i§¹¾ã½sĶ¥XARM²Õ¦X»y¨¥ªºARM cross compiler¡C¦b¦¹¹êÅç¾Ç²ß¦p¦ó¦bLinux¥­¥x¤W¡A¦w¸ËBinutils¡BNewlib¥H¤ÎGCC¡A¨ÃÅý¦w¸Ë§¹ªº½s;¹¤u¨ã²Õ¯à°÷²£¥ÍARMªºbinary codes¡C

¡@

Lab2: Porting GCC to ARM (Machine Description)

¦¹¹êÅçÂÇ¥ÑCompare branch¤ÎConditional instruction«ü¥O·í¨Ò¤l¡A»¡©úMachine Descriptionªº¤j­Pµ²ºc¤Î¦p¦ó½s¼g¡A¨Ã¤¶²ÐARMªºConditional instruction«ü¥O¬O¦p¦ó¦bGCC¤¤²£¥Í¡CLab3: Install GDB/insight 6.1

¡@

Lab3: Building GDB and Insight to ARM

GDB¥þ¦W¬°GNU Project Debugger¡CÂÇ¥ÑGDB¡A·í´ú¸Õµ{¦¡®É¡A¥i¥H¿ï¾Üµ{¦¡ªì©l­È¥H¤Î¤¤Â_ÂI¡A¥H³\¦h¤£¦Pªºª¬ºA¨ÓÆ[¹î¼È¦s¾¹¤Î°O¾ÐÅ餤¼Æ­ÈÅܤơAÀˬdµ{¦¡¬O§_¥¿½T¡C¦¹¹êÅç·|»¡©ú¦p¦ó¦bLinux¥­¥x¤W¡A¦w¸ËGDB¥H¤Î¨ä¹Ï«¬¤¶­±ªºdebugger -- GDB-Insight for arm-elf¡C

¡@

Lab4: Porting GCC to TI C6X  (Application Binary Interface Setting)

Porting GCC¨ì·s¥­¥x¦b³]©w¤è­±­n°µ¤@¨Ç­×§ï¡A¦p«ü©w¼È¦s¾¹ªº­Ó¼Æ¡B¾A¥Îªº§@·~¨t²Î¡Kµ¥¡A¨Ï±oGCC¯à°÷«Ü¥­¶¶ªº¦b·s¥­¥x¤W¹B§@¡A¦¹¹êÅç·|Á¿¸ÑPorting GCC¨ì·s¥­¥xªº¬yµ{¡C¦b¦¹¹êÅ礤¾Ç²ß¸Ó¦p¦ó§ï¼gGCCªºMakefileÅýGCC¥i¥H½sĶ¥X·s¼Wªº¥­¥x¡C¨Ã¤F¸Ñ¦p¦ó³]©w·sªº¥­¥xÀô¹Ò°Ñ¼Æ¨ÑGCC¨Ï¥Î¡C
¡@

Lab5: Porting GCC to TI C6X (Add new instructions)

¨C­Ó¤£¦Pªº³B²z¾¹³£·|¾Ö¦³¦Û¤vªº«ü¥O¶°¡Agcc½s;¹¥D­nªº¥\¯à¦b©ó±N©Ò¼¶¼gªºc/c++µ{¦¡Âন¸Ó³B²z¾¹ªº«ü¥O¡A¤]´N¬O¸Ó³B²z¾¹ªº²Õ¦X»y¨¥¡AMachine Description´N¬O©w¸q¸Ó³B²z¾¹¥i¥H¤ä´©ªº«ü¥O¡C¦¹¹êÅç·|¤¶²Ð¦p¦ó½s¼gMachine Description¡A¼W¥[·s«ü¥O¡C

¡@

003-01

¶}µo±Ð®v¡G¤ý³Ó¼w

½Òµ{¦WºÙ¡G¿é¥X¤J¸Ë¸m»PÅX°Êµ{¦¡³]­p

¾Ç®Õ¨t©Ò¡G¥xÆW¤j¾Ç¹q¾÷¤uµ{¾Ç¨t

¥D¼f©e­û¡G±ç¤åÄ£

¹q¸Ü¡G02-3366-3579

¦a§}¡G¥_¥«¥x¤j¹q¾÷¨t³Õ²zÀ]523«Ç

ú¥æ¤é´Á¡G2005/9/30

¡@

Content:

7 Lab Modules

¡@

Platform: NET-Start evaluation ARM S3C4510B

¡@

Lab1: Setup GCC tool chain and uClibc for uClinux on NeT-Start..

Application ¡V Hello world, switch and 7 segment

¡@

Lab3: Using and Debugging ARM Assembly Language

To understand the use of the ARM assembly language in IO control and debugging the program using

arm-elf-gdb

¡@

Lab5: uCLinux barcode scanner and LCD module
½m²ß¦p¬°´O¤J¦¡¨t²Îµo®i§@·~¨t²Î®Ö¤ß¥H¤ÎÅX°Êµ{¦¡¡A¦P®É¾Ç²ß¤@¨Ç¦³Ãö´O¤J¦¡¨t²Îªº°ò¥»ª¾ÃÑ¡C

¡@

Lab8: Embedding a packet detection module into Linux Kernel
¼ô±xLinux®Ö¤ß²Õ®M¡B®Ö¤ßºô¸ô¬[ºc¡A¥H¤Î¤F¸Ñ«Ê¥]ªº³B²z¹Lµ{¡C
¡@

Lab2: Configure, Build and Install a Linux kernel on Boot-disk or Boot-CD

¦bLinuxÀô¹Ò¤U¡A«Ø¥ß¤@¤ù boot-disk or boot-CD ¡A¨Ã¹ê²ßLinux booting ªºÆ[©À»P¹Lµ{¡C

¡@

Platform: Creator S3C4510B

¡@

Lab4: Trace interrupt and device driver flow using ICE

¨Ï¥ÎJTAG ICEÀô¹Ò¡A¹ê²ßLinux kernel debugging ªºÆ[©À»P¹Lµ{¡A¶i¤@¨B¤F¸Ñinterrupt¡A»P device driverªº¹B§@¬yµ{¡C

¡@

Lab6: Using Platform Builder
After completing this lab, you will be able to:
n Create a platform
n Localize, build and download an operating system image
n Boot the operating system

¡@

Lab7: Implementing a Stream Interface Driver

After completing this lab, you will be able to develop a stream interface device driver.

¡@

004-01

¶}µo±Ð®v¡GÁ鸭«C

½Òµ{¦WºÙ¡G連ºô«¬¨t²Î´¹¤ù¨t²Î¤§´O¤J¦¡³nÅé

¾Ç®Õ¨t©Ò¡G²MµØ¤j¾Ç¸ê°T¤uµ{¾Ç¨t

¥D¼f©e­û¡G ³¯¿o¥­

¹q¸Ü¡G03-571-5131 x 34182

¦a§}¡G·s¦Ë¥«¥ú復路¤G¬q101 ¸¹
²MµØ¤j¾Çºî¤G館719 «Ç

ú¥æ¤é´Á¡G2005/10/13

Content:

10 Lab Modules

¡@

Platform: PCM7230

¡@

Lab1: Run a demo program for PCM7230 and PPRK
1. To be familiar with PPRK, pcm7230 and the cross compiler.
2. To understand how to write a program to control the PPRK.

¡@

Lab2: Real-Time Monitor/Sensing
The goal of this lab is to develop a program using the sensors on PPRK (GP2D12) to collect the environment information. In the lab, you will put the PPRK in the provided LEGO castle, and your program shall estimate the shape of the castle.
¡@

Lab3: Real-Time Control
The goal of this lab is (1) to understand how the PPRK moves and (2) to control the PPRK to move the way you want. In the lab, you will develop a program to control the PPRK to move to the given direction and distance.

¡@

Lab4: Chase one object with single thread
The goal of this lab is to develop a program that controls the PPRK to chase an object. In the lab, we will put a ball in front of your PPRK, and your program shall chase the ball for a certain amount of time.

¡@

Lab5: Chase with Multi-thread
The goals of this lab are (1) to develop a multithread program, (2) to control RS232 serial port device, and (3) to observe the result of the scheduling of the threads with different periods.
In the lab, you will create two threads (thread A and B) to control two RS232 port registers (register 1 and 2) separately, When thread A starts execute, it sets register 1 to high. When it completes, it sets register 1 to low. You have to use mutex to ensure only one thread could be executed at the same time. Finally, you will observe the scheduling results of the threads on the oscilloscope.
¡@

Lab6: Real-Time Application
The goal of this lab is to develop a multithread program to control your PPRK so that it can follow TA¡¦s PPRK. In the I/O program, you will need to follow the target and to avoid collision.

¡@

Lab7: Practicing Dynamic Clock/Voltage Scaling (DVS) for Embedded Processors
To practice how to configure embedded operating systems, implement a new system call, and dynamically adjust the clock rate/voltage of an embedded processor.

¡@

Lab8: Networking via 802.11 Infrastructure Mode
The goal of this lab is to build an intelligent traffic coordination system. You will design an intelligent vehicle that communicates with server to receive the traffic control command, and cross the intersection without any accident.

¡@

Lab9: Networking via 802.11 Ad-HocMode
n To build an intelligent traffic coordination system. The PPRK should not get any car accident on the way.
n This lab works in non-infrastructure mode.

¡@

Lab10: Embedded OS configuration

The goal of this lab is to practice how to configure embedded operating systems and build your own ramdisk image. You will be guided to set up a new IP address for your pcm7230 and install a packet generator for your embedded systems. You also need to change the password of the root.

¡@

005-01

¶}µo±Ð®v¡G¬I¦Nª@

½Òµ{¦WºÙ¡G´O¤J¦¡§@·~¨t²Î¹ê§@

¾Ç®Õ¨t©Ò¡G¥xÆW¤j¾Ç¸ê°T¤uµ{¾Ç¨t

¥D¼f©e­û¡G ±ç¤åÄ£

¹q¸Ü¡G 02-23625336 ext. 426

¦a§}¡G¥x¥_¥«Ã¹´µºÖ¸ô¥|¬q¤@¸¹
¸ê°T¤uµ{¬ã¨s©Ò 436 «Ç

ú¥æ¤é´Á¡G2005/11/24

Content:

4 Lab Modules

¡@

Platform: PCM7230

¡@

Lab1: Dynamic Voltage Scaling on Embedded Linux
The objective of this hand-on lab is to train students with how to change cpu frequency in arm-linux. To achieve this goal, students should first understand how power manager works. Second, we will introduce two methods: system call and kernel module, to run our program in privilege mode. Students may choose one to implement their DVS.

¡@

Lab2: uC/OS II Porting on PCM-7230

This Lab let you have the experience of developing embedded software. All the lab related files are under pcm7230_lab directory.
This project is to port MicroC/OSII onto the developing board, PCM-7230. The main processor on this board is PXA255 using ARM v5TE instruction set. ARM core family is popular in embedded systems, and MicroC/OSII is a real-time system with portable, ROMable, scalable, preemptive, multitasking, and deterministic features. Based on this porting, we do some experiment to verify our theories in real-time systems. The goal of this project is to enable the MicroC/OSII to run on PCM-7230 without any other bootloader, and still can run on top of some other bootloader at the same time. Of course, this port of MicroC/OSII can run from any memory location of PCM-7230.
In this project, the only debugging tool is the console through a serial port since the designer of the developing board PCM-7230 if you don¡¦t have any PROBE or ICE on hand.

¡@

Lab3: £gC/OS-II Operating System Scheduler Implementation
The objective to this hand-out lab is to help students be familiar with the task scheduling within an operating system. This lab picks £gC/OS-II as its platform, and ask student to rewrite the scheduling module for £gC/OS-II.

¡@

Platform: S3C2410TK

¡@

Lab4:Building and Congfiguring Windows CE OS for Samsung S3C2410TK
The objective of this hand-on lab is to train students with the process of porting the Windows CE operating system onto an ARM-based embedded platform. To achieve this goal, students should be first familiar with the Windows CE Platform Builder. A student will learn to create, customize, build, download, and debug a Windows CE image on an embedded platform. In addition, you will learn how to setup a bootloader in Samsung S3C2410TK and download an image from a host PC.

¡@

006-01

¶}µo±Ð®v¡G李¬F±X

½Òµ{¦WºÙ¡G¤º´O¦¡½s;¹

¾Ç®Õ¨t©Ò¡G²MµØ¤j¾Ç¸ê°T¤uµ{¾Ç¨t

¥D¼f©e­û¡G ¬I¦Nª@

¹q¸Ü¡G03-571-5131 x 3519

¦a§}¡G·s¦Ë¥«¥ú復路¤G¬q101¸¹
²MµØ¤j¾Ç¸ê¹q館744«Ç

ú¥æ¤é´Á¡G2005/9/30

Content:

4 Lab Modules

¡@

Platform: TI OMAP 1510

¡@

Lab1: constant propagation

Lab2: if-conversion

Lab3: loop invariant

Lab4: loop unrolling

The objective of these hand-on labs is to train students with the compiler optimization phases of constant propagation, if-conversion, loop invariant and loop unrolling optimization. We target on dual-core embedded platform which contain an arm. To achieve this goal, students should be first familiar with the TI-OMAP Platform, Code Composer Studio and SUIF. A student will learn to build, execute, download, and debug a program on an embedded platform. A student will learn the optimization skills of compiler by adding new passes into SUIF.

¡@

007-01

¶}µo±Ð®v¡G«J§Ê°¶

½Òµ{¦WºÙ¡G´O¤J¦¡¨t²Îµ{¦¡³]­p

¾Ç®Õ¨t©Ò¡G¦¨¥\¤j¾Ç¤uµ{¬ì¾Ç©Ò

¥D¼f©e­û¡G¬I¦Nª@

¹q¸Ü¡G06-2757575 ext. 63334

¦a§}¡G¥x«n¥«ªF°Ï¤j¾Ç¸ô1¸¹¤u¬ì¨t41505«Ç

ú¥æ¤é´Á¡G2005/9/10

¡@

Content:

4 Lab Modules

¡@

Platform: Hybus Xhyper 255B-TKU III

¡@

Lab1: MP3 Player
³o­Ó¹êÅ窺¥D­n¥Øªº¬OÅý¾Ç¥Í¾Ç²ß(1)¦p¦ó¨Ï¥Î¶}©ñ·½½XªºMP3¨ç¦¡®w(JLayer), (2)¦p¦ó¦b²{¦³¨ç¦¡®w¤¤¥[¤JÃB¥~¥\¯à, (3)¦p¦óÅýJava¼ÒÀÀ¦Û­q§Îª¬µøµ¡, (4)¤Î°t¦XJava GUI¨Óµo®i¤@­ÓMP3 Playerªº¤H¾÷¤¶­±¡C
¦¹¹êÅ窺MP3 Player¥\¯à¦³°ò¥»ªº¥\¯à(¼½©ñ¡B¼È°±¡B¤W¤@­º¡B¤U¤@­º)¤Î¦Û­q¯S®í§Îª¬ªºµøµ¡¡C
¡@

Lab2: Developing a Basic MP3 Player on Embedded Systems
³o­Ó¹êÅ窺¥D­n¥Øªº¬OÅý¾Ç¥Í¾Ç²ß(1)¦p¦ó¦bPC¥­¥x¤W¶}µo´O¤J¦¡¥­¥x¤W¹B¦æªºÀ³¥Îµ{¦¡¡A(2)¦p¦ó¨Ï¥Î¶}©ñ·½½XªºMP3¨ç¦¡®w(MAD©MID3Tag)¡A(3)¦p¦ó¦b²{¦³ªºMAD Playerµ{¦¡¤¤¥[¤JÃB¥~¥\¯à¡A(4)¦p¦ó°t¦X´O¤J¦¡¥­¥x¤WªºI/O¶gÃäµo®i¤@­ÓMP3 Playerªº¤H¾÷¤¶­±¡C
¦¹¹êÅ窺MP3 Player¥\¯à¦³°ò¥»ªº¥\¯à(¼½©ñ¡B°±¤î¡B¼È°±¡B¤W¤@­º¡B¤U¤@­º)¡C

¡@

Lab3: Developing an Advance MP3 Player on Embedded Systems
³o­Ó¹êÅ窺¥D­n¥Øªº¬OÅý¾Ç¥Í¾Ç²ß(1)¦p¦ó¦bPC¥­¥x¤W¶}µo´O¤J¦¡¥­¥x¤W¹B¦æªºÀ³¥Îµ{¦¡¡A(2)¦p¦ó¨Ï¥Î¶}©ñ·½½XªºMP3¨ç¦¡®w(MAD©MID3Tag)¡A(3)¦p¦ó¦b²{¦³ªºMAD Playerµ{¦¡¤¤¥[¤JÃB¥~¥\¯à¡A(4)¦p¦ó°t¦X´O¤J¦¡¥­¥x¤WªºI/O¶gÃäµo®i¤@­ÓMP3 Playerªº¤H¾÷¤¶­±¡C
¦¹¹êÅ窺MP3 Player¥\¯à¬°©µÄò¼Ò²Õ1ªº°ò¥»¥\¯à(¼½©ñ¡B°±¤î¡B¼È°±¡B¤W¤@­º¡B¤U¤@­º)¡A¥[¤J¶i¶¥ªº¥\¯à(¦±¥Ø½s¿è²M³æ¡BMP3¸ê°T¿é¥X)¡A¦]¦¹¦b«e¤T­ÓPartªº¤º®e·|¦A±Ô­z¤@¦¸¡C

Lab4: Calling a DLL via C# PInvoke on Windows XP]
The objective of this lab and the next lab is to let students gain experience on (1) making use of heterogeneous programming languages, (2) utilizing and adapting software packages distributed freely and publicly, (3) calling the open source software in the form of a DLL via the C# PInvoke mechanism, and (4) porting the implementation from a .NET Framework platform to a .NET Compact Framework platform. To achieve this goal, students will adapt the the specified open source library and compile it into a dynamic linked library (DLL) on the two platforms. The created DLL will be invoked by a C# main program on both a Windows host (.NET Framework) and a Smartphone emulator (.NET Compack Framework).

¡@

008-01

¶}µo±Ð®v¡GÁé©ú¬F

½Òµ{¦WºÙ¡GUSBÅX°Êµ{¦¡³]­p

¾Ç®Õ¨t©Ò¡G«n¶}§Þ³N¾Ç°|¹q³q¾Ç¨t

¥D¼f©e­û¡G±ä§µòR

¹q¸Ü¡G049-2563-489 x 3567

¦a§}¡G«n§ë¿¤¯ó¤ÙÂí¤¤¥¿¸ô568¸¹

ú¥æ¤é´Á¡G2005/9/30

Content:

6 Lab Modules

Platform: DMA USB_FX

¡@

Lab1: USBµo®i¨t²Îµ{¦¡¿N¿ý¹êÅç
The objective of this hand-on lab is to train students with the process of downloading the HEX executable program to EEPROM on the USB development. To achieve this goal, students should be first download a file, name is ¡§vend_ax.hex¡¨, and will change eight bytes number.

¡@

Lab2: USBµo®i¨t²Îµ{¦¡¿N¿ý¸Ñ°£¹êÅç
The objective of this hand-on lab is to train students with the process of releasing the program from EEPROM on the USB development. To achieve this goal, students should be first download a file, name is ¡§vend_ax.hex¡¨, and will change eight bytes number.

¡@

Lab3: LED±±¨î¹êÅç
The objective of this hand-on lab is to train students with the process of downloading the HEX executable program to EEPROM on the USB development. To design a C program that can display the LED and control the delay time. By handling the display time, the program can handle the LED lamp the left shift or right shift.

¡@

Lab4: ¤C¬qÅã¥Ü¾¹¹êÅç
The objective of this hand-on lab is to train students with the process of downloading the HEX executable program to EEPROM on the USB development. To design a C program that can display the LED and. as is shown a decimal number is indicated by lighting a particular combination of the LED's or LCD's elements .

¡@

Lab5: ¥¨¶q¿é¥X±±¨î¹êÅç

The objective of this hand-on lab is to train students with the process of downloading the HEX executable

program to EEPROM on the USB development. To design a C program that can bulk transfer the data and.

display the data on the LED monitor.

¡@

Lab6: ²G´¹(LCD)Åã¥Ü¾¹¹êÅç

The objective of this hand-on lab is to train students with the process of downloading the HEX executable

program to EEPROM on the USB development. To design a C program that can display the ASCII code

string to LCD monitor.

¡@

009-01

¶}µo±Ð®v¡G³\©s¶W

½Òµ{¦WºÙ¡G´O¤J¦¡·L³B²z¾¹¨t²Î

¾Ç®Õ¨t©Ò¡G¥xÆW¬ì§Þ¤j¾Ç¹q¤l¤uµ{¾Ç¨t

¥D¼f©e­û¡G¬I¦Nª@

¹q¸Ü¡G02-2733-3141 x 7149

¦a§}¡G¥x¥_¥«¤j¦w°Ï°ò¶©¸ô¥|¬q43¸¹
¥xÆW¬ì§Þ¤j¾Ç¹q¸ê¤j¼Ó751«Ç

ú¥æ¤é´Á¡G2005/10

Content:

1 Lab Module

Platform: S3C4510B01 board

 

Lab: uClinux OS and U-boot Porting on Samsung S3C4510B01
¦b¹êÅç¹Lµ{¤¤§Ú­Ì¤À§O·|¹ê§@¹êÅ祭¥xªº«Ø¥ß¡A¥Øªº¬O°V½m¾Ç¥Í¦p¦ó¦b«Ø¥ß¹êÅ祭¥xªº¹Lµ{¤¤¡A¼ô±x¦p¦ó¦bSamsung S3C4510B01¤¤³]©w¤@­Óbootloader¡A¥H¤Î¦b¥HARM7¬°°ò¦ªº´O¤J¦¡¥­¥x¤W°õ¦æuClinux¡C¦b¹ê§@¥|­Ó¹êÅç¼Ò²Õ¤è­±¡A«h¬O§Æ±æ¥i¥HÂǵۦb¹êÅç¹Lµ{¤¤¡A¼ô±x¦p¦ó¦b§Ú­Ì©Ò«Ø¥ßªº¥­¥x¤¤°µ¹ê»ÚªºÀ³¥Î¡C

¡@

001-11

¶}µo±Ð®v¡G±i¥ß¥­

½Òµ{¦WºÙ¡G´O¤J¦¡§Y®É§@·~¨t²Î
¾Ç®Õ¨t©Ò¡G¥æ³q¤j¾Ç¸ê°T¤uµ{¾Ç¨t

¥D¼f©e­û¡Gù²ß¤­

¹q¸Ü¡G0963-226-617¡B0972-309-960

¦a§}¡G·s¦Ë¥«¤j¾Ç¸ô1001¸¹¸ê°T¤uµ{(©Ò)

     ¹q¸ê¤j¼Ó701«Ç

ú¥æ¤é´Á¡G2005/8/2

¡@

Content:

2 Lab modules

Platform: Altera NIOS-II evaluation board

 

Lab1: Deadline-driven real-time scheduler design and implementation

³o­Ó¹êÅç±Ð§Ú­Ì¦p¦ó¦buC/OS-II¤W¹ê§@¤@­ÓEDF±Æµ{¾¹¡C¡@

 

Lab2: Real-time scheduling algorithms for apreiodic/sporadic jobs: Constant Utilization Servers

To implement scheduling algorithms for aperiodic jobs

 

003-02

¶}µo±Ð®v¡G¶À連¶i

½Òµ{¦WºÙ¡G¿é¥X¤J¸Ë¸m»PÅX°Êµ{¦¡³]­p
¾Ç®Õ¨t©Ò¡G²H¦¿¤j¾Ç¸ê°T¤uµ{¾Ç¨t

¥D¼f©e­û¡G±i¥ß¥­

¹q¸Ü¡G02-26215656 ext 2741

¦a§}¡G²H¤ôÂí­^±M路151 ¸¹²H¦¿¤j¾Ç

¸ê°T¤uµ{¾Ç¨t

ú¥æ¤é´Á¡G2005/7/30

¡@

Content:

4 Lab modules

Platform: SBC-2410X

 

Lab1: ¦r¤¸¼Ò²Õ¤§¹ê§@»P´ú¸Õ

¦¹¹êÅç¥D­n¬°¦p¦ó¼¶¼g¤@Character Device Driver¡C

¡@

Lab2: ¼ô±x´O¤J¦¡¨t²Î¥­¥x»Pµo®iÀô¹Ò

¤¶²Ð¦p¦ó§Q¥ÎLinux On PC¨Ó¶}µoFor ARMªºµ{¦¡¡A§Y§Q¥ÎCross Compiler¨Ó½sĶ¥XFor ARMªºObject Code¡A¨Ã¤¶²ÐCross Compiler¤¤ªº©Ò¦³°õ¦æÀɥγB¬°¦ó¡C

¡@

Lab3: CCD ÅX°Êµ{¦¡¤§²¾´Ó»P¦w¸Ë

¹êÅ笰±NCCD¼Ò²Õ²¾´Ó¦ÜSBC-2410X¤W¨Ï¥Î¡C

¡@

Lab4: ²³æ¼Ò²Õ¤§¹ê§@»P´ú¸Õ

¦¹¹êÅ笰¾Ç²ß¦p¦ó½s¼g»P´ú¸ÕLinux Module¡A¨Ã¦p¦ó±¾¸ü¤Î²¾°£Module¡C¦b½s¼gModuleªº¬yµ{¬°¦ó¡A¥H¤Î¦bModuleªì©l¤Æ¡B¤Î²¾°£®ÉFunctionªº­q©w¡C¥H¤Î¼Ò²Õ¬Û¨Ì©Ê¡Aª©¥»¬Û®e©Êµ¥µ¥ªº¤¶²Ð¤Î»¡©ú¡C

 

003-03

¶}µo±Ð®v¡G¶¾¥ßµX

½Òµ{¦WºÙ¡G¿é¥X¤J¸Ë¸m»PÅX°Êµ{¦¡³]­p

¾Ç®Õ¨t©Ò¡Gªø©°¤j¾Ç¸ê°T¤uµ{¬ã¨s©Ò

¥D¼f©e­û¡G±i¥ß¥­

¹q¸Ü¡G03-211-8700 x 5714

¦a§}¡G®ç¶é¿¤Àt¤s¶m¤å¤Æ¤@¸ô259 ¸¹

ªø©°¤j¾ÇºÞ²z¾Ç°|¥|¼Ó­pºâ¾÷¨t²Î

¹êÅç«Ç

ú¥æ¤é´Á¡G2005/7/30

¡@

Content:

7 Lab modules

Platform: OMAP5912 Starter Kit (OSK)

 

Lab1: Bootloader U-boot install & build embedded Linux image  

³o­Ó³¡¥÷ªº¹êÅç¥Øªº¥D­n¬°Àô¹Òªº«Ø¥ß¡A¦]¬°©Ò¨Ï¥Îªº¶}µoª©¬°OMAP5912¡A¦]¦¹»Ý­n½sͤ@­Ókernel¨Ã±N¥L¸ü¤J¨ìªO¤l¤W¡A¤~¥i¶i¦æ±µ¤U¨Óªº¹êÅ糡¥÷¡C

¡@

Lab2: bulid a pseudo memory device and Read/write data for the device  

³o­Ó³¡¤À¥D­n¬°¼Ò²Õ«Ø¥ß¡A¥Ñ¸û©ö¤W¤âªºchar device driver °t¦XscullªºÅX°Êµ{¦¡¨Ó¹ê§@¨Ã±q¤¤¾Ç²ß¡Cscull¥i°t¸m¤@¶ô°O¾ÐÅé¡AÅý§Ú­Ì¼g¤J¸ê®Æ¥ç¥iŪ¨ú¸ê®Æ¡C¦b¦¹¹êÅ礤±N³z¹L¹ê»Úªº¾Þ§@¨Ó¾Ç²ßchar device driverªº¹B§@¡C

¡@

Lab3: Understanding module construct and implement a module in kernel

³o­Ó³¡¥÷ªº¥D­n¬°¸ü¤J¤Î¨ø¸ümodule¡C

¡@

Lab4: Using the Linux proc Filesystem in Embedded Systems

¦¹¹êÅç¥D­n¬°¦p¦ó¾Þ§@¡B¨Ï¥ÎLinux Proc Filesystem

¡@

Lab5: WinCE Platform builder development & load kernel image to start

¤¶²Ð¦p¦ó§Q¥ÎMicrosoft©Ò±À¥XªºPlatform Builder¡A«Ø¥ßfor OMAP 5912¶}µoªO¤WªºWinCE Kernel¡A¨Ã¿N¨ìOMAP 5912¤W°õ¦æ¡C

¡@

Lab6: Implement a WinCE Stream Interface Driver

¦¹¹êÅ笰§Q¥ÎPlatform Builder¡A¶}µoWinCEªºStream Interface Driver¡CÂǦ¹¥i¥H¤F¸Ñ¦b¤£¦Pªº¥­¥x¤W¡A³z¹L¤§«eLinux Driver¶}µoªºÆ[©À¡A¨Ó¶}µoWinCEªºDevice Driver¡C

 

Lab7: Kernel Device Driver Debug and Lauterbach Trace32 Demo

³o¦¸¹êÅç¥D­n¬OÅý¦P¾Ç¨ã³Æ¼¶¼gDebug Device Driver ªº¯à¤O¡C

 

003-04

¶}µo±Ð®v¡G·¨¤¤¥­

½Òµ{¦WºÙ¡G¿é¥X¤J¸Ë¸m»PÅX°Êµ{¦¡³]­p

¾Ç®Õ¨t©Ò¡G¦¨¥\¤j¾Ç¸ê°T¤uµ{¾Ç¨t

¥D¼f©e­û¡G«J§Ê°¶

¹q¸Ü¡G06-2757575 x 62551

¦a§}¡G¥x«n¥«¤j¾Ç路1¸¹¸ê°T¤uµ{¨t

ú¥æ¤é´Á¡G2006/7/31

¡@

Content:

4 Lab modules

Platform: PCM-7230 XScale PXA255

 

Lab1: Interrupt, memory and timer of the INTEL XScale platform

l   To make students know how to write ARM assembly language to control the interrupt and the timer of the Intel Xscale Platform.

l   To learn how to use the arm-linux-gcc to compile the assembly language into a binary file.

l   To write a program which could run and control the interrupt service routine (ISR).

l   The complete program architecture concepts.

¡@

Lab2: Linux Character device driver on XScale PXA255

Block Device Driver¬O¥H©T©w¤j¤pªø«×¨Ó¶Ç°eÂಾ¸ê®Æ¡A¦ÓCharacter Device Driver¬O¥H¤£©wªø«×ªº¦r¤¸¶Ç°e¸ê®Æ¡CBlock Device¤j­P¬°ÀH¾÷¦s¨ú¸ê®Æªº³]³Æ¡A¦pµwºÐ¾÷¡B¥úºÐ¾÷¡F¦ÓCharacter Device«h¨Ì¥ý«á¶¶§Ç¦s¨ú¸ê®Æ¡A¦p¦Lªí¾÷¡B²×ºÝ¾÷µ¥¡C¾Ç²ß Linux device driver À³¥Ñ character device driver °_¨B¡A¦]¬°³\¦h­«­nªº¤JªùÆ[©À§¡¥iÂÇ¥Ñ character device driver ¾Ç±o¡C

 

Lab3: Block Device Driver

¦¹¹êÅçÅý¾Ç¥Í¯à¾Ç·|¦p¦ó¥h¼g¤@­ÓBlock Device Driver, ¨Ã¨Ï¥Îmemory¸ÌªºªÅ¶¡¨Ó«Ø¥ß¤@­Ó¼ÒÀÀªºblock device, ¦Ó¦¹Block Device, ¯à°÷³Q®æ¦¡¤Æ¨Ã±¾¸ü¥Î¨Ó«Ø¥ß¤@­ÓµêÀÀªÅ¶¡, ¥i¨ÑLinux User¶i¦æÅª¼g.  ¨Ã¾Ç·|¦p¦óµù¥U¸Ë¸mÀɵ¥. ³Ì«á´ú¸Õ®É·|±¾¸ü¦¹¸Ë¸mÀÉ, ¶i¦æÅª¼gªº°Ê§@¥HÅçÃÒµ{¦¡½X.

¡@

Lab4: PCI Device Driver

¦¹¹êÅçÅý¾Ç¥Í¯à¾Ç·|¦p¦ó¥h¼g¤@­ÓPCI Device Driver, ¨Ã§Q¥ÎLinux Kernel¸Ì©Ò´£¨ÑªºAPI¥h¹ê§@¤@­ÓPCI Device Driver, ¥D­n¥]¬A¤F°O¾ÐÅé¦ì¸m, I/O port, Configuration registers³o¤T³¡¥÷, ¦¹Driver·|¸òKernelµù¥U¤@­ÓPCI Driver, ¨Ã¥B¥i¥H¥hŪ¨úPCI Driver ªºInformation.¡@

 

003-05

¶}µo±Ð®v¡G½²°êÞk

½Òµ{¦WºÙ¡G¨t¿é¥X¤J¸Ë¸m»PÅX°Êµ{¦¡³]­p

¾Ç®Õ¨t©Ò¡G®ü¬v¤j¾Ç¸ê°T¤uµ{¾Ç¨t

¥D¼f©e­û¡G±i¥ß¥­

¹q¸Ü¡G02-2462-2192 # 6650

¦a§}¡G°ò¶©¥«¤¤¥¿°Ï¥_¹ç¸ô2¸¹®ü¬v¤j¾Ç¹q¾÷¤GÀ]505«Ç

ú¥æ¤é´Á¡G2006/7/30

¡@

Content:

5 Lab modules

Platform: S3C2410

 

Lab1: Build and Test of Linux on target  

³o­Ó¹êÅç±Ð§Ú­Ì§Q¥Î Domingo for Linux ´£¨Ñªº Load module ¥\¯à±N Linux kernel image¡BRoot Filesystem ¤U¸ü¨ì Linux Target ºÝªº RAM ¤¤¡A¦A±Ò°Ê Linux Target ºÝªº Embedded Linux

¡@

Lab2: Debugging by Domingo  

¬°¹F¨ì¦bTARGETºÝµ{¦¡°£¿ùªº¥Øªº,§Ú­Ì¨Ï¥Îdomigo³o®M¨ã¦³±j¤j¥\¯àªºÀ³¥Îµ{¦¡¾ã¦X¶}µo°£¿ù¤u¨ã,¥i¥H´£¨Ñ¦bGUIªºÀô¹Ò¤¤,»´©ö¹F¦¨µ{¦¡ªºµo®i¤Î°£¿ù.¥»¹êÅçÅý¦P¾Ç¯à¾Ç²ß¦p¦ó¥¿½Tªº¨Ï¥Îdomigo°£¿ù

¡@

Lab3: Interrupts on S3C2410

Interrupt ¦b§@·~¨t²Î¤è­±¬O«Ü­«­nªº¤@Àôªº, ¤@¶}©l±N¥ý»¡©ú¦UºØ¤¤Â_¨Ó·½¤Î¤¤Â_°T¸¹§PÂ_, ¦Ó³oÃä±N¤¶²Ð¦p¦ó¦bDomigo ¾Þ§@¥­¥x¸Ì¨Ï¥Î¤¤Â_, ¨Ã¥B¥i¥H¦b°õ¦æµ{¦¡®É, «ü©w°±¤î¦b¬Y¤@¦æ©Î¬O¬Y­Ó¬q¸¨, ¼W¥[µ{¦¡ªº¥iÅܰʩÊ

¡@

Lab4: Samba»PNFS¦øªA¾¹ªº¦w¸Ë

¬°¤F¯à°÷¦bS3C2410ªO¤l¤W¨Ï¥Î¾Þ§@§Ú­Ìªº¤u¨ã,¥²¶·±N¨Ï¥ÎªÌ¥­¥x¤Î¬ÛÃö®M¥ó¦w¸Ë§¹¦¨,¦Ó¥»¦¸¹ê¥Î±N¨Ï¥ÎLinux system ·í§@®Ö¤ß¨t²Î,©Ò¥H¦w¸Ësamba ¤Î NFS ¬O¬°¤F¯à°÷±NÀɮפÀ¨Éµ¹¨ä¥L¥­¥x¨Ï¥Îªº¡C

¡@

Lab5: §Q¥ÎVMWare¦w¸ËLinux§@·~¨t²Î

¬°¤F¯à°÷¦bS3C2410ª©¤l¤W¨Ï¥Î§Ú­Ì©Ò¼g¦nªºµ{¦¡,¥²¶·¦bLinux§@·~¨t²Î¤U¥ý±Nµ{¦¡make§¹¦¨,¦Ó¬°¤F¦b­ì¥»¬°windows¨t²Îªºpc¤W¦w¸ËLinux¨t²Î,§Ú­Ì»Ý­n¥ý¦w¸ËVMware¥H¹F¨ì¨âºØOS¨Ã¦sªº¥Øªº¡@

 

004-02

¶}µo±Ð®v¡G¶À¤h®ï

½Òµ{¦WºÙ¡G³sºô«¬¨t²Î´¹¤ù¤§´O¤J¦¡³nÅé

¾Ç®Õ¨t©Ò¡G¤¸´¼¤j¾Ç¸ê°T¤uµ{¾Ç¨t

¥D¼f©e­û¡G¤ý³Ó¼w

¹q¸Ü¡G03-463-8800 x 2364

¦a§}¡G®ç¶é¿¤¤¤Ãc¥« 320 »·ªF¸ô135¸¹

¤¸´¼¤j¾Ç¤@À]1705B

ú¥æ¤é´Á¡G2006/7/31

¡@

Content:

9 Lab modules

Platform: VIPER

 

Lab1: Setting up VIPER board

l   To be familiar with PPRK, VIPER and the cross compiler.

l   To understand how to write a program to control the PPRK.

 

Lab2: Real-Time Control

The goal of this lab is

l   to understand how the PPRK moves.

l   to control the PPRK to move the way you want.

In the lab, you will develop a program to control the PPRK to move to the given direction and distance.

¡@

Lab3: Real-Time Monitor

The objectives of this lab is to develop a program using the infrared sensors on PPRK (GP2D12) to collect the environmental information. In the lab, your PPRK will be put in the provided LEGO castle, and you will be asked to write a program to estimate the shape of the castle.

¡@

Lab4: Chase with Single Thread

¥»¹êÅ窺¥Øªº¥D­n³]­p¤@µ{¦¡¡A±±¨îPalm Pilot Robot Kit(PPRK)°lÂܨÃÂê©wª«Åé¡A¦b³o­Ó¹êÅ礤¡APPRK­±«e·|³Q©ñ¸m¤@Áû²y¡A§@¬°°l³vªº¹ï¶H¡A·íPPRKÂê©w¦¹ª«Åé«á¡A·|§Q¥Îsensor¥h·PÀ³ª«Å骺¶ZÂ÷¡A¦Ó¶i¦æ²¾°Ê¡C

¡@

Lab5: Chase with Multi-Thread

¥»¹êÅ窺¥Ø­n¨D¾Ç¥Í³]­p¤@µ{¦¡¡AÅýPalm Pilot Robot Kit(PPRK)°l³vª«Åé¡C¦b³o­Ó¹êÅ礤¡APPRK­±«e·|³Q©ñ¸m¤@Áû²y¡A§@¬°°l³vªºª«Åé¡A·íPPRKÂê©w¦¹ª«Åé«á¡A·|§Q¥Îsensor¥h·PÀ³ª«Å骺¶ZÂ÷¡A¦Ó¶i¦æ²¾°Ê¡C¦¹¹êÅ礣¦P©óSingle Thread¡A¾Ç­û¥²»Ý¨Ï¥ÎMulti-Threadªº¤è¦¡¹F¨ìReal-Time¡C

¡@

Lab6: Power Saving

¹êÅç¥Øªº¬°¤F¸Ñtarget system:VIPER§@·~¨t²Î¤§¹B§@¡A¨Ã¼¶¼gµ{¦¡¨Ó±±¨îVIPER®É¯ß³t«×»P¹qÀ£¡A¨Ã³z¹L¼ÒÀÀµ{¦¡¤F¸Ñ®É¯ß°ª§C¹ï°õ¦æ®Ä²vªº¼vÅT¡C¦b¨t²Î¶¢¸m®É¥i¥H±N®É¯ß»P¹qÀ£­°§C¥H¸`¬Ù¹q¤Oªº®ø¯Ó¡A¤Ï¤§·í¨t²Î»Ý­n³B²z¤j¶q¸ê®Æ®É¡A¥i¥H¸û°ª®É¯ß»P¹qÀ£´«¨ú¸û¦nªº©Ê¯à¡C

¡@

Lab7: Traffic(server)

¦¹¦¸ªºlab¡A¥D­n¬O¦b­n¨D¾Ç¥Í¯à§Q¥Î¦Û¦æ³Ð§@ªº¤è¦¡¡A±N¦¹¦¸labªº¥Øªº¹F¨ì¡C¾Ç¥Í¥²¶·¦Û¦æ½s¼gµ{¦¡¡A¼ÒÀÀ¦b¤Q¦r¸ô¤fµ¥¬õºñ¿OªºPPRK¡A³z¹L©Msever¤¬¶Çmessageªº³q°T¤è¦¡¡A¨Ó±oª¾¬O§_¥i¥H³q¹L¦¹¸ô¤f¡C¦b¹Lµ{¤¤¤£¤¹³\¦³¥ô¦óªº¨®º×µo¥Í¡A¨Ã¥B¦b¤@¤èªºPPRK³q¹L«á¡A¥t¤@¤è§YÅܬ°ºñ¿O¡AµM«á¥t¤@¥xPPRK±µµÛ³q¹L¡Aµ²§ô¦¹¦¸lab©Ò­n¨Dªº¬yµ{¡C

¡@¡@

Lab8: Traffic(Ad Hoc)

¦¹¦¸ªºlab©µÄòLab7¡A¦P¼Ë¬O­n¨D¾Ç¥Í¯à§Q¥Î¦Û¦æ³Ð§@ªº¤è¦¡¡A±N¦¹¦¸labªº¥Øªº¹F¨ì¡C¾Ç¥Í¥²¶·¦Û¦æ½s¼gµ{¦¡¡A¼ÒÀÀ¦b¤Q¦r¸ô¤fµ¥¬õºñ¿OªºPPRK¡A¦ý³o¦¸¹êÅç©MLab7ªº¤£¦P¦b©ó¡APPRK©MPPRK¶¡ªº³q°T¤£¬O³z¹Lsever¡A¦Ó¬O§Q¥ÎPPRK¶¡ad-hocªº¤è¦¡¨Ó±oª¾¬O§_¥i¥H³q¹L¦¹¸ô¤f¡C¦P¼Ëªº¡A¦b¹Lµ{¤¤¤£¤¹³\¦³¥ô¦óªº¨®º×µo¥Í¡A¨Ã½T«OPPRK¯à¶¶§Q³q¹L¡C

¡@

Lab9: Traffic(both)

¦¹¦¸lab¦P¼Ë­n¨D¾Ç¥Í¯à§Q¥Î¦Û¦æ³Ð§@ªº¤è¦¡¡A±N¦¹¦¸labªº¥Øªº¹F¨ì¡C¾Ç¥Í¥²¶·¦Û¦æ½s¼gµ{¦¡¡A¼ÒÀÀ¦b¤Q¦r¸ô¤fµ¥¬õºñ¿OªºPPRK¡CµM¦Ó³o¦¸¹êÅçµ²¦X¤F«e¨â¦¸¹êÅç¡A¸ô¤fªº³q°T¤è¦¡±q­ì¥»ªº³æ¤@ºØÅܦ¨¨âºØ¡A¤]´N¬O³z¹L©Msever¤¬¶Çmessageªº³q°T¤è¦¡¡A¥H¤ÎPPRK¶¡ad-hocªº³q°T¼Ò¦¡¡A¨Ó±oª¾¬O§_¥i¥H³q¹L¦¹¸ô¤f¡A¦b¹Lµ{¤¤¦P¼Ë¤£¤¹³\¦³¥ô¦óªº¨®º×µo¥Í¡C

 

004-03

¶}µo±Ð®v¡G¬I¦Nª@

½Òµ{¦WºÙ¡G連ºô«¬¨t²Î´¹¤ù¨t²Î¤§´O¤J¦¡³nÅé

¾Ç®Õ¨t©Ò¡G¥xÆW¤j¾Ç¸ê°T¤uµ{¾Ç¨t/

ºô¸ô»P¦h´CÅé¬ã¨s©Ò

¥D¼f©e­û¡G³\©s¶W

¹q¸Ü¡G02-33664927

¦a§}¡G¥x¥_¥«Ã¹´µºÖ¸ô¥|¬q¤@¸¹¸ê°T¤uµ{¨t523«Ç

ú¥æ¤é´Á¡G2006/7/30

¡@

Content:

11 Lab modules

Platform: PCM7230

 

Lab1: Setting Up

To be familiar with PPRK, PCM-7230 and the cross compiler.

To understand how to write a program to control the PPRK.

¡@

Lab2: Real-Time Control