Dokumen tersebut membahas tentang eCos, yaitu kernel real-time embedded yang lengkap. Dokumen ini menjelaskan tools yang dibutuhkan untuk mengkonfigurasi dan membangun aplikasi menggunakan eCos, serta fitur-fitur utama eCos seperti thread, interrupt handling, mutex, dan flag.
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
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
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)
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
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