SlideShare a Scribd company logo
Workshop On eCos R. VLSI - LabTek VIII STEI ITB , 19 Maret 2008
eCos  adalah sebuah  embedded   real   time   kernel  yang lengkap eCos  tidak seperti  Linux  atau  MS Windows  yang mempunyai  user interface  sebagai media interaksi dengan pemakai dimana pemakai dapat menjalankan aplikasi yang diinginkan Aplikasi yang berjalan di  eCos  harus di  lingking  dengan kernel  eCos  kemudian di  burning  ke  boot ROM  supaya dapat berfungsi
Tools apa saja yang diperlukan ??? ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Cygwin  untuk developer yang menggunakan MS Windows sebagai host , bisa download langsung install dari cygwin.com : http://cygwin.com/setup.exe
Proses Instalasi ...... ,[object Object],[object Object],[object Object]
Configuring  eCos command line :  ecosconfig gui :  configtool
Workflow select  template adding  package editing configuration build  tree build  library build  test
ecosconfig listing  modul : ecosconfig --srcdir=/usr/local/ecos/ecos-rep/packages/ list select  template  : ecosconfig --srcdir=/usr/local/ecos/ecos-rep/packages/ new sparc_leon3 net adding  package  : ecosconfig --srcdir=/usr/local/ecos/ecos-rep/packages/ add CYGPKG_DEVS_ETH_SPARC_LEON3 ecosconfig --srcdir=/usr/local/ecos/ecos-rep/packages/ add CYGPKG_DEVS_ETH_SMSC_LAN91CXX checking  config : ecosconfig --srcdir=/usr/local/ecos/ecos-rep/packages/ check
ecosconfig build  tree  : ecosconfig --srcdir=/usr/local/ecos/ecos-rep/packages/ tree build  library  : make make  test  : make test that's it
configtool – select  template
configtool – adding  package
configtool –  edit  config
configtool – last three build  lib build  test make build  tree
http://ecos.sourceware.org/docs-latest/user-guide/ecos-user-guide.html drill down deeper
Aplikasi  eCos void cyg_user_start(void) { cyg_mutex_init(&cliblock); cyg_thread_create(4, simple_program, (cyg_addrword_t) 0, "Thread A", (void *) stack[0], 4096, &simple_threadA, &thread_s[0]); cyg_thread_create(4, simple_program, (cyg_addrword_t) 1, "Thread B", (void *) stack[1], 4096,  &simple_threadB, &thread_s[1]); cyg_thread_resume(simple_threadA); cyg_thread_resume(simple_threadB); } void simple_program(cyg_addrword_t data) { for (;;) { } }
Building  aplikasi eCos jalankan :  make INSTALL_DIR=/path/to/ecos/install copy makefile dari example dan edit sesuai dengan aplikasi kita /path/to/ecos/install  adalah direktori dimana ecos library berada yang dihasilkan pada waktu build tree
Fitur eCos thread counter clock alarm mutex condition variable semaphore mailboxes flag interrupt   handling
Thread prepare create control terminate
Yang harus disiapkan entry  function : void thread_entry_function(cyg_addrword_t data) stack  allocation : static unsigned char mystack[CYGNUM_HAL_STACK_SIZE_MINIMUM]; priority  level #define MYPRIORITY  10 thread  handle cyg_handle_t threadhandle; thread  structure cyg_thread threadstructure;
Creation prototype : cyg_thread_create(cyg_addrword_t sched_info,  cyg_thread_entry_t* entry,  cyg_addrword_t entry_data,  char* name, void* stack_base,  cyg_ucount32 stack_size,  cyg_handle_t* handle, cyg_thread* thread) fungsi  cyg_thread_create  akan menginisialisasi sebuah thread dalam kondisi  suspend  bukan run. Supaya thread berjalan aplikasi harus memanggil  cyg_thread_resume prototype : cyg_thread_resume(cyg_handle_t handle)
contoh : cyg_thread_create(MYPRIORITY, &thread_entry_function,  &entry_data,  “ MYTHREAD”, mystack,  CYGNUM_HAL_STACK_SIZE_MINIMUM,  &threadhandle, &threadstructure); cyg_thread_resume(threadhandle);
Control ,[object Object],[object Object],[object Object],[object Object]
Termination ,[object Object],[object Object],[object Object]
Flag Flag  adalah binary event yang statusnya hanya set atau unset Semaphore  adalah conting event yang statusnya akan selalu bertambah setiap di-post dan berkurang setiap ada thread yang menunggu. thread yang menunggu  flag  akan segera return apabila flag bersangkutan  berstatus set , sementara thread yang menunggu  semaphore  akan langsung return setiap semaphore mempunyai  nilai lebih dari nol  dan akan mengurangi nilai semaphore
Inisialisasi void cyg_flag_init(cyg_flag_t* flag) Penghapusan void cyg_flag_destroy(cyg_flag_t* flag) Manipulasi flag set  bit tertentu dari flag : operasi OR void cyg_flag_setbits(cyg_flag_t* flag, cyg_flag_value_t value) clear  bit tertentu dari flag :  void cyg_flag_maskbits(cyg_flag_t* flag, cyg_flag_value_t value)
cek  kodisi tertentu dari flag cyg_flag_poll(cyg_flag_t* flag,    cyg_flag_value_t pattern,    cyg_flag_mode_t mode) Tunggu  flag pada kondisi tertentu tanpa batas waktu cyg_flag_wait(cyg_flag_t* flag,    cyg_flag_value_t pattern,    cyg_flag_mode_t mode) Tunggu flag pada kondisi tertentu dengan  batas waktu cyg_flag_timed_wait(cyg_flag_t* flag,    cyg_flag_value_t pattern,    cyg_flag_mode_t mode,   cyg_tick_count_t abstime) abstime should be cyg_current_time()+number
Mode Event ,[object Object],[object Object],[object Object]
Mutex dengan  mutex  memungkinkan suatu thread  mengunci  penggunaan suatu resource. thread lain harus menunggu dahulu sampai kuncinya dilepas kembali Live time init lock unlock destroy trylock
Prototype ,[object Object],[object Object],[object Object],[object Object],[object Object]
Interrupt Handling ,[object Object],[object Object],[object Object],live time create attach detach delete
ISR creation void cyg_interrupt_create(cyg_vector_t vector,  cyg_priority_t priority, cyg_addrword_t data,  cyg_ISR_t* isr, cyg_DSR_t* dsr,  cyg_handle_t* handle, cyg_interrupt* intr); ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Controlling Interrupt ,[object Object],[object Object],[object Object]
Template ISR cyg_uint32 isr_function(cyg_vector_t vector, cyg_addrword_t data) { cyg_bool_t dsr_required = 0; cyg_interrupt_acknowledge(vectornum); cyg_interrupt_mask(vectornum); return dsr_required ? (CYG_ISR_CALL_DSR | CYG_ISR_HANDLED) : CYG_ISR_HANDLED; }
Template DSR void dsr_function(cyg_vector_t vector, cyg_ucount32 count, cyg_addrword_t data) { //data access etc //or transfer to other thread }
Topik menarik lainnya filesystem POSIX compatibility Porting Device drivers httpd snmp USB ethernet bridging firewall SSL ssh
http://ecos.sourceware.org/docs-latest/ref/ecos-ref.html drill down deeper
WiMAX driver packages ecos.db devs eth idwman sparc current cdl include src idwman_drivers.cdl if_idwman.h if_idwman.c current cdl include src leon3_idwman_drivers.cdl devs_eth_sparc_idwman_leon3.inl if_sparc_idwman.c idwman leon3

More Related Content

Similar to Workshop On eCos

Cara Install Openbravo 2.50 MP 43 di Ubuntu
Cara Install Openbravo 2.50 MP 43 di UbuntuCara Install Openbravo 2.50 MP 43 di Ubuntu
Cara Install Openbravo 2.50 MP 43 di Ubuntu
Wirabumi Software
 
Pemrograman Bergerak Pertemuan 9.pdf
Pemrograman Bergerak Pertemuan 9.pdfPemrograman Bergerak Pertemuan 9.pdf
Pemrograman Bergerak Pertemuan 9.pdf
HendroGunawan8
 
Linux Booting Process
Linux Booting ProcessLinux Booting Process
Linux Booting Process
Lusiana Diyan
 
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptxPEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
BBXSQUAD
 
PostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
PostgreSQL BootCamp : Manajemen Master Data dengan SkyToolsPostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
PostgreSQL BootCamp : Manajemen Master Data dengan SkyToolsWildan Maulana
 
How to hack #IDSECCONF2014 ctf online challenge - nganggur
How to hack #IDSECCONF2014 ctf online challenge - nganggurHow to hack #IDSECCONF2014 ctf online challenge - nganggur
How to hack #IDSECCONF2014 ctf online challenge - nganggur
idsecconf
 
FreeBSD Traffic Monitoring
FreeBSD Traffic MonitoringFreeBSD Traffic Monitoring
FreeBSD Traffic Monitoring
Telkom Institute of Management
 
Nutch dan Solr
Nutch dan SolrNutch dan Solr
Nutch dan Solr
Bowo Prasetyo
 
JENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdf
JENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdfJENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdf
JENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdf
Jurnal IT
 
FreeBSD Proxy Server
FreeBSD Proxy ServerFreeBSD Proxy Server
FreeBSD Proxy Server
Telkom Institute of Management
 
Jamal aplikasicrud
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrud
males Aja
 
Instalasi Asterisk dan FreePBX di Ubuntu Server 10.04 LTS
Instalasi Asterisk dan FreePBX di Ubuntu Server 10.04 LTSInstalasi Asterisk dan FreePBX di Ubuntu Server 10.04 LTS
Instalasi Asterisk dan FreePBX di Ubuntu Server 10.04 LTS
Kangmas Zekon
 
Wawan tutorial-zend-bagian-1-3
Wawan tutorial-zend-bagian-1-3Wawan tutorial-zend-bagian-1-3
Wawan tutorial-zend-bagian-1-3
Haswi Haswi
 
Yii2 fundamentals bagian 1
Yii2 fundamentals   bagian 1Yii2 fundamentals   bagian 1
Yii2 fundamentals bagian 1
Akhmad Khanif Zyen
 
Pertemuan14 linux booting proses
Pertemuan14   linux booting prosesPertemuan14   linux booting proses
Pertemuan14 linux booting proses
Syaiful Ahdan
 
Instalasi mikrotik-router os
Instalasi mikrotik-router osInstalasi mikrotik-router os
Instalasi mikrotik-router oscabikhosting
 
Konfigurasi Dasar Switch
Konfigurasi Dasar SwitchKonfigurasi Dasar Switch
Konfigurasi Dasar Switch
Lusiana Diyan
 
Integrasi slims atau eprints dengan dspace
Integrasi slims atau eprints dengan dspaceIntegrasi slims atau eprints dengan dspace
Integrasi slims atau eprints dengan dspace
Dwi Fajar Saputra
 
Pembahasansoallks2013
Pembahasansoallks2013Pembahasansoallks2013
Pembahasansoallks2013
dedd_simbolon
 
FreeBSD web-based MUA
FreeBSD web-based MUAFreeBSD web-based MUA
FreeBSD web-based MUA
Telkom Institute of Management
 

Similar to Workshop On eCos (20)

Cara Install Openbravo 2.50 MP 43 di Ubuntu
Cara Install Openbravo 2.50 MP 43 di UbuntuCara Install Openbravo 2.50 MP 43 di Ubuntu
Cara Install Openbravo 2.50 MP 43 di Ubuntu
 
Pemrograman Bergerak Pertemuan 9.pdf
Pemrograman Bergerak Pertemuan 9.pdfPemrograman Bergerak Pertemuan 9.pdf
Pemrograman Bergerak Pertemuan 9.pdf
 
Linux Booting Process
Linux Booting ProcessLinux Booting Process
Linux Booting Process
 
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptxPEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
PEMORGRAMAN BERORIENTASI OBJEK-02 Teknologi JAVA.pptx
 
PostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
PostgreSQL BootCamp : Manajemen Master Data dengan SkyToolsPostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
PostgreSQL BootCamp : Manajemen Master Data dengan SkyTools
 
How to hack #IDSECCONF2014 ctf online challenge - nganggur
How to hack #IDSECCONF2014 ctf online challenge - nganggurHow to hack #IDSECCONF2014 ctf online challenge - nganggur
How to hack #IDSECCONF2014 ctf online challenge - nganggur
 
FreeBSD Traffic Monitoring
FreeBSD Traffic MonitoringFreeBSD Traffic Monitoring
FreeBSD Traffic Monitoring
 
Nutch dan Solr
Nutch dan SolrNutch dan Solr
Nutch dan Solr
 
JENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdf
JENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdfJENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdf
JENI-J2ME-Bab02-Memulai Pemrograman Mobile.pdf
 
FreeBSD Proxy Server
FreeBSD Proxy ServerFreeBSD Proxy Server
FreeBSD Proxy Server
 
Jamal aplikasicrud
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrud
 
Instalasi Asterisk dan FreePBX di Ubuntu Server 10.04 LTS
Instalasi Asterisk dan FreePBX di Ubuntu Server 10.04 LTSInstalasi Asterisk dan FreePBX di Ubuntu Server 10.04 LTS
Instalasi Asterisk dan FreePBX di Ubuntu Server 10.04 LTS
 
Wawan tutorial-zend-bagian-1-3
Wawan tutorial-zend-bagian-1-3Wawan tutorial-zend-bagian-1-3
Wawan tutorial-zend-bagian-1-3
 
Yii2 fundamentals bagian 1
Yii2 fundamentals   bagian 1Yii2 fundamentals   bagian 1
Yii2 fundamentals bagian 1
 
Pertemuan14 linux booting proses
Pertemuan14   linux booting prosesPertemuan14   linux booting proses
Pertemuan14 linux booting proses
 
Instalasi mikrotik-router os
Instalasi mikrotik-router osInstalasi mikrotik-router os
Instalasi mikrotik-router os
 
Konfigurasi Dasar Switch
Konfigurasi Dasar SwitchKonfigurasi Dasar Switch
Konfigurasi Dasar Switch
 
Integrasi slims atau eprints dengan dspace
Integrasi slims atau eprints dengan dspaceIntegrasi slims atau eprints dengan dspace
Integrasi slims atau eprints dengan dspace
 
Pembahasansoallks2013
Pembahasansoallks2013Pembahasansoallks2013
Pembahasansoallks2013
 
FreeBSD web-based MUA
FreeBSD web-based MUAFreeBSD web-based MUA
FreeBSD web-based MUA
 

Recently uploaded

BUKU ADMINISTRASI GURU KELAS SD 2024 /2025
BUKU ADMINISTRASI GURU KELAS SD 2024 /2025BUKU ADMINISTRASI GURU KELAS SD 2024 /2025
BUKU ADMINISTRASI GURU KELAS SD 2024 /2025
Redis Manik
 
COMPANY PROFILE PT. WELLMAN DENYO DEVELOPMENT.pptx
COMPANY PROFILE PT. WELLMAN DENYO DEVELOPMENT.pptxCOMPANY PROFILE PT. WELLMAN DENYO DEVELOPMENT.pptx
COMPANY PROFILE PT. WELLMAN DENYO DEVELOPMENT.pptx
RezvaniDanumihardja2
 
ATRIUM GAMING : Slot Gacor Mudah Menang Terbaru 2024
ATRIUM GAMING : Slot Gacor Mudah Menang  Terbaru 2024ATRIUM GAMING : Slot Gacor Mudah Menang  Terbaru 2024
ATRIUM GAMING : Slot Gacor Mudah Menang Terbaru 2024
sayangkamuu240203
 
COMPANY PROFILE PT. BOGOR SERVICIA INTEGRA.pdf
COMPANY PROFILE PT. BOGOR SERVICIA INTEGRA.pdfCOMPANY PROFILE PT. BOGOR SERVICIA INTEGRA.pdf
COMPANY PROFILE PT. BOGOR SERVICIA INTEGRA.pdf
MuhammadRijalulamin
 
ATP & CP PPKn KELAS 5 (WEBSITEEDUKASI.COM) (1).docx
ATP & CP PPKn KELAS 5 (WEBSITEEDUKASI.COM) (1).docxATP & CP PPKn KELAS 5 (WEBSITEEDUKASI.COM) (1).docx
ATP & CP PPKn KELAS 5 (WEBSITEEDUKASI.COM) (1).docx
inekesarupy62
 
PENYUSUNAN POHON KINERJA ORGANISASI.pptx
PENYUSUNAN POHON KINERJA ORGANISASI.pptxPENYUSUNAN POHON KINERJA ORGANISASI.pptx
PENYUSUNAN POHON KINERJA ORGANISASI.pptx
dyanamaniz78
 
0851 5645 4808 Info Lowongan PKL Jurusan TKJ Temanggung, Info Persyaratan PKL...
0851 5645 4808 Info Lowongan PKL Jurusan TKJ Temanggung, Info Persyaratan PKL...0851 5645 4808 Info Lowongan PKL Jurusan TKJ Temanggung, Info Persyaratan PKL...
0851 5645 4808 Info Lowongan PKL Jurusan TKJ Temanggung, Info Persyaratan PKL...
perusahaan704
 
Modul 2.1.a.4 Refleksi Eksplorasi Konsep.pdf.pptxModul 2.1.a.4 Refleksi Ekspl...
Modul 2.1.a.4 Refleksi Eksplorasi Konsep.pdf.pptxModul 2.1.a.4 Refleksi Ekspl...Modul 2.1.a.4 Refleksi Eksplorasi Konsep.pdf.pptxModul 2.1.a.4 Refleksi Ekspl...
Modul 2.1.a.4 Refleksi Eksplorasi Konsep.pdf.pptxModul 2.1.a.4 Refleksi Ekspl...
YoseSuprapman3
 
Pertemuan 7_Penetapan Produk Unggul dan Manajemen Inovasi.pdf
Pertemuan 7_Penetapan Produk Unggul dan Manajemen Inovasi.pdfPertemuan 7_Penetapan Produk Unggul dan Manajemen Inovasi.pdf
Pertemuan 7_Penetapan Produk Unggul dan Manajemen Inovasi.pdf
classroomastitiani
 
sertifikat pembelajaran merdeka mengajar.pdf
sertifikat pembelajaran merdeka mengajar.pdfsertifikat pembelajaran merdeka mengajar.pdf
sertifikat pembelajaran merdeka mengajar.pdf
lilis056
 
materi tahun 2024 dan 2023 materi power point
materi tahun 2024 dan 2023 materi power pointmateri tahun 2024 dan 2023 materi power point
materi tahun 2024 dan 2023 materi power point
phbawaslujambi
 
MODERN!!! WA 0821 7001 0763 (ALUMINOS) Pintu Kaca Aluminium di Buleleng.pptx
MODERN!!! WA 0821 7001 0763 (ALUMINOS) Pintu Kaca Aluminium di Buleleng.pptxMODERN!!! WA 0821 7001 0763 (ALUMINOS) Pintu Kaca Aluminium di Buleleng.pptx
MODERN!!! WA 0821 7001 0763 (ALUMINOS) Pintu Kaca Aluminium di Buleleng.pptx
FORTRESS
 
PAPARAN JATIM CM SURABAYA PROVINSI JAWA TIMUR
PAPARAN JATIM CM SURABAYA PROVINSI JAWA TIMURPAPARAN JATIM CM SURABAYA PROVINSI JAWA TIMUR
PAPARAN JATIM CM SURABAYA PROVINSI JAWA TIMUR
jhanchoek885
 
UNIKBET : Link Slot Gacor Pragmatic Play Bisa Deposit Memakai Bank BPD DIY Ad...
UNIKBET : Link Slot Gacor Pragmatic Play Bisa Deposit Memakai Bank BPD DIY Ad...UNIKBET : Link Slot Gacor Pragmatic Play Bisa Deposit Memakai Bank BPD DIY Ad...
UNIKBET : Link Slot Gacor Pragmatic Play Bisa Deposit Memakai Bank BPD DIY Ad...
unikbetslotbankmaybank
 
UNIKBET : Bandar Slot Pragmatic Play Ada Deposit Via Bank Aceh Syariah Resmi ...
UNIKBET : Bandar Slot Pragmatic Play Ada Deposit Via Bank Aceh Syariah Resmi ...UNIKBET : Bandar Slot Pragmatic Play Ada Deposit Via Bank Aceh Syariah Resmi ...
UNIKBET : Bandar Slot Pragmatic Play Ada Deposit Via Bank Aceh Syariah Resmi ...
unikbetslotbankmaybank
 

Recently uploaded (15)

BUKU ADMINISTRASI GURU KELAS SD 2024 /2025
BUKU ADMINISTRASI GURU KELAS SD 2024 /2025BUKU ADMINISTRASI GURU KELAS SD 2024 /2025
BUKU ADMINISTRASI GURU KELAS SD 2024 /2025
 
COMPANY PROFILE PT. WELLMAN DENYO DEVELOPMENT.pptx
COMPANY PROFILE PT. WELLMAN DENYO DEVELOPMENT.pptxCOMPANY PROFILE PT. WELLMAN DENYO DEVELOPMENT.pptx
COMPANY PROFILE PT. WELLMAN DENYO DEVELOPMENT.pptx
 
ATRIUM GAMING : Slot Gacor Mudah Menang Terbaru 2024
ATRIUM GAMING : Slot Gacor Mudah Menang  Terbaru 2024ATRIUM GAMING : Slot Gacor Mudah Menang  Terbaru 2024
ATRIUM GAMING : Slot Gacor Mudah Menang Terbaru 2024
 
COMPANY PROFILE PT. BOGOR SERVICIA INTEGRA.pdf
COMPANY PROFILE PT. BOGOR SERVICIA INTEGRA.pdfCOMPANY PROFILE PT. BOGOR SERVICIA INTEGRA.pdf
COMPANY PROFILE PT. BOGOR SERVICIA INTEGRA.pdf
 
ATP & CP PPKn KELAS 5 (WEBSITEEDUKASI.COM) (1).docx
ATP & CP PPKn KELAS 5 (WEBSITEEDUKASI.COM) (1).docxATP & CP PPKn KELAS 5 (WEBSITEEDUKASI.COM) (1).docx
ATP & CP PPKn KELAS 5 (WEBSITEEDUKASI.COM) (1).docx
 
PENYUSUNAN POHON KINERJA ORGANISASI.pptx
PENYUSUNAN POHON KINERJA ORGANISASI.pptxPENYUSUNAN POHON KINERJA ORGANISASI.pptx
PENYUSUNAN POHON KINERJA ORGANISASI.pptx
 
0851 5645 4808 Info Lowongan PKL Jurusan TKJ Temanggung, Info Persyaratan PKL...
0851 5645 4808 Info Lowongan PKL Jurusan TKJ Temanggung, Info Persyaratan PKL...0851 5645 4808 Info Lowongan PKL Jurusan TKJ Temanggung, Info Persyaratan PKL...
0851 5645 4808 Info Lowongan PKL Jurusan TKJ Temanggung, Info Persyaratan PKL...
 
Modul 2.1.a.4 Refleksi Eksplorasi Konsep.pdf.pptxModul 2.1.a.4 Refleksi Ekspl...
Modul 2.1.a.4 Refleksi Eksplorasi Konsep.pdf.pptxModul 2.1.a.4 Refleksi Ekspl...Modul 2.1.a.4 Refleksi Eksplorasi Konsep.pdf.pptxModul 2.1.a.4 Refleksi Ekspl...
Modul 2.1.a.4 Refleksi Eksplorasi Konsep.pdf.pptxModul 2.1.a.4 Refleksi Ekspl...
 
Pertemuan 7_Penetapan Produk Unggul dan Manajemen Inovasi.pdf
Pertemuan 7_Penetapan Produk Unggul dan Manajemen Inovasi.pdfPertemuan 7_Penetapan Produk Unggul dan Manajemen Inovasi.pdf
Pertemuan 7_Penetapan Produk Unggul dan Manajemen Inovasi.pdf
 
sertifikat pembelajaran merdeka mengajar.pdf
sertifikat pembelajaran merdeka mengajar.pdfsertifikat pembelajaran merdeka mengajar.pdf
sertifikat pembelajaran merdeka mengajar.pdf
 
materi tahun 2024 dan 2023 materi power point
materi tahun 2024 dan 2023 materi power pointmateri tahun 2024 dan 2023 materi power point
materi tahun 2024 dan 2023 materi power point
 
MODERN!!! WA 0821 7001 0763 (ALUMINOS) Pintu Kaca Aluminium di Buleleng.pptx
MODERN!!! WA 0821 7001 0763 (ALUMINOS) Pintu Kaca Aluminium di Buleleng.pptxMODERN!!! WA 0821 7001 0763 (ALUMINOS) Pintu Kaca Aluminium di Buleleng.pptx
MODERN!!! WA 0821 7001 0763 (ALUMINOS) Pintu Kaca Aluminium di Buleleng.pptx
 
PAPARAN JATIM CM SURABAYA PROVINSI JAWA TIMUR
PAPARAN JATIM CM SURABAYA PROVINSI JAWA TIMURPAPARAN JATIM CM SURABAYA PROVINSI JAWA TIMUR
PAPARAN JATIM CM SURABAYA PROVINSI JAWA TIMUR
 
UNIKBET : Link Slot Gacor Pragmatic Play Bisa Deposit Memakai Bank BPD DIY Ad...
UNIKBET : Link Slot Gacor Pragmatic Play Bisa Deposit Memakai Bank BPD DIY Ad...UNIKBET : Link Slot Gacor Pragmatic Play Bisa Deposit Memakai Bank BPD DIY Ad...
UNIKBET : Link Slot Gacor Pragmatic Play Bisa Deposit Memakai Bank BPD DIY Ad...
 
UNIKBET : Bandar Slot Pragmatic Play Ada Deposit Via Bank Aceh Syariah Resmi ...
UNIKBET : Bandar Slot Pragmatic Play Ada Deposit Via Bank Aceh Syariah Resmi ...UNIKBET : Bandar Slot Pragmatic Play Ada Deposit Via Bank Aceh Syariah Resmi ...
UNIKBET : Bandar Slot Pragmatic Play Ada Deposit Via Bank Aceh Syariah Resmi ...
 

Workshop On eCos

  • 1. Workshop On eCos R. VLSI - LabTek VIII STEI ITB , 19 Maret 2008
  • 2. eCos adalah sebuah embedded real time kernel yang lengkap eCos tidak seperti Linux atau MS Windows yang mempunyai user interface sebagai media interaksi dengan pemakai dimana pemakai dapat menjalankan aplikasi yang diinginkan Aplikasi yang berjalan di eCos harus di lingking dengan kernel eCos kemudian di burning ke boot ROM supaya dapat berfungsi
  • 3.
  • 4.
  • 5.
  • 6. Configuring eCos command line : ecosconfig gui : configtool
  • 7. Workflow select template adding package editing configuration build tree build library build test
  • 8. ecosconfig listing modul : ecosconfig --srcdir=/usr/local/ecos/ecos-rep/packages/ list select template : ecosconfig --srcdir=/usr/local/ecos/ecos-rep/packages/ new sparc_leon3 net adding package : ecosconfig --srcdir=/usr/local/ecos/ecos-rep/packages/ add CYGPKG_DEVS_ETH_SPARC_LEON3 ecosconfig --srcdir=/usr/local/ecos/ecos-rep/packages/ add CYGPKG_DEVS_ETH_SMSC_LAN91CXX checking config : ecosconfig --srcdir=/usr/local/ecos/ecos-rep/packages/ check
  • 9. ecosconfig build tree : ecosconfig --srcdir=/usr/local/ecos/ecos-rep/packages/ tree build library : make make test : make test that's it
  • 12. configtool – edit config
  • 13. configtool – last three build lib build test make build tree
  • 15. Aplikasi eCos void cyg_user_start(void) { cyg_mutex_init(&cliblock); cyg_thread_create(4, simple_program, (cyg_addrword_t) 0, "Thread A", (void *) stack[0], 4096, &simple_threadA, &thread_s[0]); cyg_thread_create(4, simple_program, (cyg_addrword_t) 1, "Thread B", (void *) stack[1], 4096, &simple_threadB, &thread_s[1]); cyg_thread_resume(simple_threadA); cyg_thread_resume(simple_threadB); } void simple_program(cyg_addrword_t data) { for (;;) { } }
  • 16. Building aplikasi eCos jalankan : make INSTALL_DIR=/path/to/ecos/install copy makefile dari example dan edit sesuai dengan aplikasi kita /path/to/ecos/install adalah direktori dimana ecos library berada yang dihasilkan pada waktu build tree
  • 17. Fitur eCos thread counter clock alarm mutex condition variable semaphore mailboxes flag interrupt handling
  • 18. Thread prepare create control terminate
  • 19. Yang harus disiapkan entry function : void thread_entry_function(cyg_addrword_t data) stack allocation : static unsigned char mystack[CYGNUM_HAL_STACK_SIZE_MINIMUM]; priority level #define MYPRIORITY 10 thread handle cyg_handle_t threadhandle; thread structure cyg_thread threadstructure;
  • 20. Creation prototype : cyg_thread_create(cyg_addrword_t sched_info, cyg_thread_entry_t* entry, cyg_addrword_t entry_data, char* name, void* stack_base, cyg_ucount32 stack_size, cyg_handle_t* handle, cyg_thread* thread) fungsi cyg_thread_create akan menginisialisasi sebuah thread dalam kondisi suspend bukan run. Supaya thread berjalan aplikasi harus memanggil cyg_thread_resume prototype : cyg_thread_resume(cyg_handle_t handle)
  • 21. contoh : cyg_thread_create(MYPRIORITY, &thread_entry_function, &entry_data, “ MYTHREAD”, mystack, CYGNUM_HAL_STACK_SIZE_MINIMUM, &threadhandle, &threadstructure); cyg_thread_resume(threadhandle);
  • 22.
  • 23.
  • 24. Flag Flag adalah binary event yang statusnya hanya set atau unset Semaphore adalah conting event yang statusnya akan selalu bertambah setiap di-post dan berkurang setiap ada thread yang menunggu. thread yang menunggu flag akan segera return apabila flag bersangkutan berstatus set , sementara thread yang menunggu semaphore akan langsung return setiap semaphore mempunyai nilai lebih dari nol dan akan mengurangi nilai semaphore
  • 25. Inisialisasi void cyg_flag_init(cyg_flag_t* flag) Penghapusan void cyg_flag_destroy(cyg_flag_t* flag) Manipulasi flag set bit tertentu dari flag : operasi OR void cyg_flag_setbits(cyg_flag_t* flag, cyg_flag_value_t value) clear bit tertentu dari flag : void cyg_flag_maskbits(cyg_flag_t* flag, cyg_flag_value_t value)
  • 26. cek kodisi tertentu dari flag cyg_flag_poll(cyg_flag_t* flag, cyg_flag_value_t pattern, cyg_flag_mode_t mode) Tunggu flag pada kondisi tertentu tanpa batas waktu cyg_flag_wait(cyg_flag_t* flag, cyg_flag_value_t pattern, cyg_flag_mode_t mode) Tunggu flag pada kondisi tertentu dengan batas waktu cyg_flag_timed_wait(cyg_flag_t* flag, cyg_flag_value_t pattern, cyg_flag_mode_t mode, cyg_tick_count_t abstime) abstime should be cyg_current_time()+number
  • 27.
  • 28. Mutex dengan mutex memungkinkan suatu thread mengunci penggunaan suatu resource. thread lain harus menunggu dahulu sampai kuncinya dilepas kembali Live time init lock unlock destroy trylock
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. Template ISR cyg_uint32 isr_function(cyg_vector_t vector, cyg_addrword_t data) { cyg_bool_t dsr_required = 0; cyg_interrupt_acknowledge(vectornum); cyg_interrupt_mask(vectornum); return dsr_required ? (CYG_ISR_CALL_DSR | CYG_ISR_HANDLED) : CYG_ISR_HANDLED; }
  • 34. Template DSR void dsr_function(cyg_vector_t vector, cyg_ucount32 count, cyg_addrword_t data) { //data access etc //or transfer to other thread }
  • 35. Topik menarik lainnya filesystem POSIX compatibility Porting Device drivers httpd snmp USB ethernet bridging firewall SSL ssh
  • 37. WiMAX driver packages ecos.db devs eth idwman sparc current cdl include src idwman_drivers.cdl if_idwman.h if_idwman.c current cdl include src leon3_idwman_drivers.cdl devs_eth_sparc_idwman_leon3.inl if_sparc_idwman.c idwman leon3