SlideShare une entreprise Scribd logo
1  sur  37
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

Contenu connexe

Similaire à 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 UbuntuWirabumi Software
 
Pemrograman Bergerak Pertemuan 9.pdf
Pemrograman Bergerak Pertemuan 9.pdfPemrograman Bergerak Pertemuan 9.pdf
Pemrograman Bergerak Pertemuan 9.pdfHendroGunawan8
 
Linux Booting Process
Linux Booting ProcessLinux Booting Process
Linux Booting ProcessLusiana 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.pptxBBXSQUAD
 
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 - ngangguridsecconf
 
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.pdfJurnal IT
 
Jamal aplikasicrud
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrudmales 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 LTSKangmas Zekon
 
Wawan tutorial-zend-bagian-1-3
Wawan tutorial-zend-bagian-1-3Wawan tutorial-zend-bagian-1-3
Wawan tutorial-zend-bagian-1-3Haswi Haswi
 
Pertemuan14 linux booting proses
Pertemuan14   linux booting prosesPertemuan14   linux booting proses
Pertemuan14 linux booting prosesSyaiful 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 SwitchLusiana Diyan
 
Integrasi slims atau eprints dengan dspace
Integrasi slims atau eprints dengan dspaceIntegrasi slims atau eprints dengan dspace
Integrasi slims atau eprints dengan dspaceDwi Fajar Saputra
 
Pembahasansoallks2013
Pembahasansoallks2013Pembahasansoallks2013
Pembahasansoallks2013dedd_simbolon
 

Similaire à 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
 

Dernier

Togel Online: Panduan Lengkap tentang Dkitoto, Dkitogel, dan Situs Togel
Togel Online: Panduan Lengkap tentang Dkitoto, Dkitogel, dan Situs TogelTogel Online: Panduan Lengkap tentang Dkitoto, Dkitogel, dan Situs Togel
Togel Online: Panduan Lengkap tentang Dkitoto, Dkitogel, dan Situs TogelHaseebBashir5
 
Presentasi Root Cause Diagram bandung ppt
Presentasi Root Cause Diagram bandung pptPresentasi Root Cause Diagram bandung ppt
Presentasi Root Cause Diagram bandung pptAkuatSupriyanto1
 
Teknik Proyeksi Bisnis (Peramalan Bisnis)
Teknik Proyeksi Bisnis (Peramalan Bisnis)Teknik Proyeksi Bisnis (Peramalan Bisnis)
Teknik Proyeksi Bisnis (Peramalan Bisnis)DenniPratama2
 
Judul: Memahami Jabrix4D: Situs Togel dan Slot Online Terpercaya di Indonesia
Judul: Memahami Jabrix4D: Situs Togel dan Slot Online Terpercaya di IndonesiaJudul: Memahami Jabrix4D: Situs Togel dan Slot Online Terpercaya di Indonesia
Judul: Memahami Jabrix4D: Situs Togel dan Slot Online Terpercaya di IndonesiaHaseebBashir5
 
CONTOH RUK PPI TAHUNAN PUSKESMAS 00.docx
CONTOH RUK PPI TAHUNAN PUSKESMAS 00.docxCONTOH RUK PPI TAHUNAN PUSKESMAS 00.docx
CONTOH RUK PPI TAHUNAN PUSKESMAS 00.docxKartikaFebrianti1
 
Contoh contoh soal dan jawaban persediaan barang
Contoh contoh soal dan jawaban persediaan barangContoh contoh soal dan jawaban persediaan barang
Contoh contoh soal dan jawaban persediaan barangRadhialKautsar
 
RISK BASED INTERNAL AUDIT - AUDITING .pptx
RISK BASED INTERNAL AUDIT - AUDITING .pptxRISK BASED INTERNAL AUDIT - AUDITING .pptx
RISK BASED INTERNAL AUDIT - AUDITING .pptxerlyndakasim2
 
1.-Ruang-Lingkup-Studi-Kelayakan-Bisnis-2.pptx
1.-Ruang-Lingkup-Studi-Kelayakan-Bisnis-2.pptx1.-Ruang-Lingkup-Studi-Kelayakan-Bisnis-2.pptx
1.-Ruang-Lingkup-Studi-Kelayakan-Bisnis-2.pptxAndiAzhar9
 
saw method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
saw method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaasaw method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
saw method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNovaRuwanti
 
MANAJEMEN-ASET SEKTOR PUBLIK1111111-.ppt
MANAJEMEN-ASET SEKTOR PUBLIK1111111-.pptMANAJEMEN-ASET SEKTOR PUBLIK1111111-.ppt
MANAJEMEN-ASET SEKTOR PUBLIK1111111-.pptnugrohoaditya12334
 
KELOMPOK 7_ANALISIS INVESTASI PUBLIK.pdf
KELOMPOK 7_ANALISIS INVESTASI PUBLIK.pdfKELOMPOK 7_ANALISIS INVESTASI PUBLIK.pdf
KELOMPOK 7_ANALISIS INVESTASI PUBLIK.pdfPritaRatuliu
 
WA/TELP : 0822-3006-6162, Toko Box Delivery Sayur, Toko Box Delivery Donat, T...
WA/TELP : 0822-3006-6162, Toko Box Delivery Sayur, Toko Box Delivery Donat, T...WA/TELP : 0822-3006-6162, Toko Box Delivery Sayur, Toko Box Delivery Donat, T...
WA/TELP : 0822-3006-6162, Toko Box Delivery Sayur, Toko Box Delivery Donat, T...gamal imron khoirudin
 
Cimahitoto: Situs Togel Online Terpercaya untuk Penggemar Judi
Cimahitoto: Situs Togel Online Terpercaya untuk Penggemar JudiCimahitoto: Situs Togel Online Terpercaya untuk Penggemar Judi
Cimahitoto: Situs Togel Online Terpercaya untuk Penggemar JudiHaseebBashir5
 
005 ppt elastisitas-permintaan-dan-penawaran.ppt
005 ppt elastisitas-permintaan-dan-penawaran.ppt005 ppt elastisitas-permintaan-dan-penawaran.ppt
005 ppt elastisitas-permintaan-dan-penawaran.pptIjlalMaulana1
 
10. (D) LEASING (PSAK-73-Sewa-20012020) .pptx
10. (D)  LEASING (PSAK-73-Sewa-20012020) .pptx10. (D)  LEASING (PSAK-73-Sewa-20012020) .pptx
10. (D) LEASING (PSAK-73-Sewa-20012020) .pptxerlyndakasim2
 
[BEST PRICE] Senapan Angin Dengan Teleskopik Kalimantan Barat
[BEST PRICE] Senapan Angin Dengan Teleskopik Kalimantan Barat[BEST PRICE] Senapan Angin Dengan Teleskopik Kalimantan Barat
[BEST PRICE] Senapan Angin Dengan Teleskopik Kalimantan Baratsenapananginterbaik2
 
PROGRAM WALI KELAS TAHUN PELAJARAN 2023 2024
PROGRAM WALI KELAS TAHUN PELAJARAN 2023 2024PROGRAM WALI KELAS TAHUN PELAJARAN 2023 2024
PROGRAM WALI KELAS TAHUN PELAJARAN 2023 2024DarmiePootwo
 
PPT DENIES SUSANTO AHLI MADYA BANGUNAN PERAWATAN GEDUNG 1.pptx
PPT  DENIES SUSANTO AHLI MADYA BANGUNAN PERAWATAN GEDUNG 1.pptxPPT  DENIES SUSANTO AHLI MADYA BANGUNAN PERAWATAN GEDUNG 1.pptx
PPT DENIES SUSANTO AHLI MADYA BANGUNAN PERAWATAN GEDUNG 1.pptxvickrygaluh59
 
10. (C) MERGER DAN AKUISISI Presentation.pptx
10. (C) MERGER DAN AKUISISI Presentation.pptx10. (C) MERGER DAN AKUISISI Presentation.pptx
10. (C) MERGER DAN AKUISISI Presentation.pptxerlyndakasim2
 
"Melompati Ramtoto: Keterampilan dan Kebahagiaan Anak-anak"
"Melompati Ramtoto: Keterampilan dan Kebahagiaan Anak-anak""Melompati Ramtoto: Keterampilan dan Kebahagiaan Anak-anak"
"Melompati Ramtoto: Keterampilan dan Kebahagiaan Anak-anak"HaseebBashir5
 

Dernier (20)

Togel Online: Panduan Lengkap tentang Dkitoto, Dkitogel, dan Situs Togel
Togel Online: Panduan Lengkap tentang Dkitoto, Dkitogel, dan Situs TogelTogel Online: Panduan Lengkap tentang Dkitoto, Dkitogel, dan Situs Togel
Togel Online: Panduan Lengkap tentang Dkitoto, Dkitogel, dan Situs Togel
 
Presentasi Root Cause Diagram bandung ppt
Presentasi Root Cause Diagram bandung pptPresentasi Root Cause Diagram bandung ppt
Presentasi Root Cause Diagram bandung ppt
 
Teknik Proyeksi Bisnis (Peramalan Bisnis)
Teknik Proyeksi Bisnis (Peramalan Bisnis)Teknik Proyeksi Bisnis (Peramalan Bisnis)
Teknik Proyeksi Bisnis (Peramalan Bisnis)
 
Judul: Memahami Jabrix4D: Situs Togel dan Slot Online Terpercaya di Indonesia
Judul: Memahami Jabrix4D: Situs Togel dan Slot Online Terpercaya di IndonesiaJudul: Memahami Jabrix4D: Situs Togel dan Slot Online Terpercaya di Indonesia
Judul: Memahami Jabrix4D: Situs Togel dan Slot Online Terpercaya di Indonesia
 
CONTOH RUK PPI TAHUNAN PUSKESMAS 00.docx
CONTOH RUK PPI TAHUNAN PUSKESMAS 00.docxCONTOH RUK PPI TAHUNAN PUSKESMAS 00.docx
CONTOH RUK PPI TAHUNAN PUSKESMAS 00.docx
 
Contoh contoh soal dan jawaban persediaan barang
Contoh contoh soal dan jawaban persediaan barangContoh contoh soal dan jawaban persediaan barang
Contoh contoh soal dan jawaban persediaan barang
 
RISK BASED INTERNAL AUDIT - AUDITING .pptx
RISK BASED INTERNAL AUDIT - AUDITING .pptxRISK BASED INTERNAL AUDIT - AUDITING .pptx
RISK BASED INTERNAL AUDIT - AUDITING .pptx
 
1.-Ruang-Lingkup-Studi-Kelayakan-Bisnis-2.pptx
1.-Ruang-Lingkup-Studi-Kelayakan-Bisnis-2.pptx1.-Ruang-Lingkup-Studi-Kelayakan-Bisnis-2.pptx
1.-Ruang-Lingkup-Studi-Kelayakan-Bisnis-2.pptx
 
saw method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
saw method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaasaw method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
saw method aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
MANAJEMEN-ASET SEKTOR PUBLIK1111111-.ppt
MANAJEMEN-ASET SEKTOR PUBLIK1111111-.pptMANAJEMEN-ASET SEKTOR PUBLIK1111111-.ppt
MANAJEMEN-ASET SEKTOR PUBLIK1111111-.ppt
 
KELOMPOK 7_ANALISIS INVESTASI PUBLIK.pdf
KELOMPOK 7_ANALISIS INVESTASI PUBLIK.pdfKELOMPOK 7_ANALISIS INVESTASI PUBLIK.pdf
KELOMPOK 7_ANALISIS INVESTASI PUBLIK.pdf
 
WA/TELP : 0822-3006-6162, Toko Box Delivery Sayur, Toko Box Delivery Donat, T...
WA/TELP : 0822-3006-6162, Toko Box Delivery Sayur, Toko Box Delivery Donat, T...WA/TELP : 0822-3006-6162, Toko Box Delivery Sayur, Toko Box Delivery Donat, T...
WA/TELP : 0822-3006-6162, Toko Box Delivery Sayur, Toko Box Delivery Donat, T...
 
Cimahitoto: Situs Togel Online Terpercaya untuk Penggemar Judi
Cimahitoto: Situs Togel Online Terpercaya untuk Penggemar JudiCimahitoto: Situs Togel Online Terpercaya untuk Penggemar Judi
Cimahitoto: Situs Togel Online Terpercaya untuk Penggemar Judi
 
005 ppt elastisitas-permintaan-dan-penawaran.ppt
005 ppt elastisitas-permintaan-dan-penawaran.ppt005 ppt elastisitas-permintaan-dan-penawaran.ppt
005 ppt elastisitas-permintaan-dan-penawaran.ppt
 
10. (D) LEASING (PSAK-73-Sewa-20012020) .pptx
10. (D)  LEASING (PSAK-73-Sewa-20012020) .pptx10. (D)  LEASING (PSAK-73-Sewa-20012020) .pptx
10. (D) LEASING (PSAK-73-Sewa-20012020) .pptx
 
[BEST PRICE] Senapan Angin Dengan Teleskopik Kalimantan Barat
[BEST PRICE] Senapan Angin Dengan Teleskopik Kalimantan Barat[BEST PRICE] Senapan Angin Dengan Teleskopik Kalimantan Barat
[BEST PRICE] Senapan Angin Dengan Teleskopik Kalimantan Barat
 
PROGRAM WALI KELAS TAHUN PELAJARAN 2023 2024
PROGRAM WALI KELAS TAHUN PELAJARAN 2023 2024PROGRAM WALI KELAS TAHUN PELAJARAN 2023 2024
PROGRAM WALI KELAS TAHUN PELAJARAN 2023 2024
 
PPT DENIES SUSANTO AHLI MADYA BANGUNAN PERAWATAN GEDUNG 1.pptx
PPT  DENIES SUSANTO AHLI MADYA BANGUNAN PERAWATAN GEDUNG 1.pptxPPT  DENIES SUSANTO AHLI MADYA BANGUNAN PERAWATAN GEDUNG 1.pptx
PPT DENIES SUSANTO AHLI MADYA BANGUNAN PERAWATAN GEDUNG 1.pptx
 
10. (C) MERGER DAN AKUISISI Presentation.pptx
10. (C) MERGER DAN AKUISISI Presentation.pptx10. (C) MERGER DAN AKUISISI Presentation.pptx
10. (C) MERGER DAN AKUISISI Presentation.pptx
 
"Melompati Ramtoto: Keterampilan dan Kebahagiaan Anak-anak"
"Melompati Ramtoto: Keterampilan dan Kebahagiaan Anak-anak""Melompati Ramtoto: Keterampilan dan Kebahagiaan Anak-anak"
"Melompati Ramtoto: Keterampilan dan Kebahagiaan Anak-anak"
 

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