Real-Time Embedded Multithreading Using ThreadX and MIPS- P23

Chia sẻ: Cong Thanh | Ngày: | Loại File: PDF | Số trang:17

0
65
lượt xem
9
download

Real-Time Embedded Multithreading Using ThreadX and MIPS- P23

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Real-Time Embedded Multithreading Using ThreadX and MIPS- P23:Although the history of embedded systems is relatively short, 1 the advances and successes of this fi eld have been profound. Embedded systems are found in a vast array of applications such as consumer electronics, “ smart ” devices, communication equipment, automobiles, desktop computers, and medical equipment.

Chủ đề:
Lưu

Nội dung Text: Real-Time Embedded Multithreading Using ThreadX and MIPS- P23

  1. Application Timer Services J-13 NOTE: The ThreadX library and application must be built with TX_TIMER_ENABLE_ PERFORMANCE_INFO defined for this service to return performance information. Input Parameters activates Pointer to destination for the total number of activation requests performed on all timers. reactivates Pointer to destination for the total number of automatic reactivation performed on all periodic timers. deactivates Pointer to destination for the total number of deactivation requests performed on all timers. expirations Pointer to destination for the total number of expirations on all timers. expiration_adjusts Pointer to destination for the total number of internal expiration adjustments performed on all timers. These adjustments are done in the timer interrupt processing for timers that are larger than the default timer list size (by default timers with expirations greater than 32 ticks). NOTE: Supplying a TX_NULL for any parameter indicates that the parameter is not required. Return Values TX_SUCCESS (0x00) Successful timer system performance get. TX_FEATURE_NOT_ENABLED (0xFF) The system was not compiled with performance information enabled. Allowed From Initialization, threads, timers, and ISRs w w w.ne w nespress.com Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  2. J-14 Appendix J Example ULONG activates; ULONG reactivates; ULONG deactivates; ULONG expirations; ULONG expiration_adjusts; … /* Retrieve performance information on all previously created timers. */ status tx_timer_performance_system_info_get(&activates, &reactivates, &deactivates, &expirations, &expiration_adjusts); /* If status is TX_SUCCESS the performance information was successfully retrieved. */ See Also tx_timer_activate, tx_timer_change, tx_timer_create, tx_timer_deactivate, tx_timer_delete, tx_ timer_info_get, tx_timer_performance_info_get w ww. n e w n e s p r e s s .c o m Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  3. APPE NDIX K ThreadX API1 ThreadX Entry VOID tx_kernel_enter(VOID); Memory Byte Pool Services UINT tx_byte_allocate(TX_BYTE_POOL *pool_ptr, VOID **memory_ptr, ULONG memory_size, ULONG wait_option); UINT tx_byte_pool_create(TX_BYTE_POOL *pool_ptr, CHAR *name_ptr, VOID *pool_start, ULONG pool_size); UINT tx_byte_pool_delete(TX_BYTE_POOL *pool_ptr); UINT tx_byte_pool_info_get(TX_BYTE_POOL *pool_ptr, CHAR **name, ULONG *available_bytes, ULONG *fragments, TX_THREAD **first_suspended, ULONG *suspended_count, TX_BYTE_POOL **next_pool); 1 ThreadX is a registered trademark of Express Logic, Inc. The ThreadX API, associated data structures, and data types are copyrights of Express Logic, Inc. w w w.ne w nespress.com Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  4. K-2 Appendix K UINT tx_byte_pool_performance_info_get(TX_BYTE_POOL *pool_ptr, ULONG *allocates, ULONG *releases, ULONG *fragments_searched, ULONG *merges, ULONG *splits, ULONG *suspensions, ULONG *timeouts); UINT tx_byte_pool_performance_system_info_get(ULONG *allocates, ULONG *releases, ULONG *fragments_searched, ULONG *merges, ULONG *splits, ULONG *suspensions, ULONG *timeouts); UINT tx_byte_pool_prioritize(TX_BYTE_POOL *pool_ptr); UINT tx_byte_release(VOID *memory_ptr); Memory Block Pool Services UINT tx_block_allocate(TX_BLOCK_POOL *pool_ptr, VOID **block_ptr, ULONG wait_option); UINT tx_block_pool_create(TX_BLOCK_POOL *pool_ptr, CHAR *name_ptr, ULONG block_size, VOID *pool_start, ULONG pool_size); UINT tx_block_pool_delete(TX_BLOCK_POOL *pool_ptr); UINT tx_block_pool_info_get(TX_BLOCK_POOL *pool_ptr, CHAR **name, ULONG *available_blocks, ULONG *total_blocks, TX_THREAD **first_suspended, ULONG *suspended_count, TX_BLOCK_POOL **next_pool); w ww. n e w n e s p r e s s .c o m Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  5. ThreadX API K-3 UINT tx_block_pool_performance_info_get(TX_BLOCK_POOL *pool_ptr, ULONG *allocates, ULONG *releases, ULONG *suspensions, ULONG *timeouts); UINT tx_block_pool_performance_system_info_get(ULONG *allocates, ULONG *releases, ULONG *suspensions, ULONG *timeouts); UINT tx_block_pool_prioritize(TX_BLOCK_POOL *pool_ptr); UINT tx_block_release(VOID *block_ptr); Event Flag Services UINT tx_event_flags_create(TX_EVENT_FLAGS_GROUP *group_ptr, CHAR *name_ptr); UINT tx_event_flags_delete(TX_EVENT_FLAGS_GROUP *group_ptr); UINT tx_event_flags_get(TX_EVENT_FLAGS_GROUP *group_ptr, ULONG requested_flags, UINT get_option, ULONG *actual_flags_ptr, ULONG wait_option); UINT tx_event_flags_info_get(TX_EVENT_FLAGS_GROUP *group_ptr, CHAR **name, ULONG *current_flags, TX_THREAD **first_suspended, ULONG *suspended_count, TX_EVENT_FLAGS_GROUP **next_group); UINT tx_event_flags_performance_info_get(TX_EVENT_FLAGS_GROUP *group_ptr, ULONG *sets, ULONG *gets, ULONG *suspensions, ULONG *timeouts); w w w.ne w nespress.com Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  6. K-4 Appendix K UINT tx_event_flags_performance_system_info_get(ULONG *sets, ULONG *gets,ULONG *suspensions, ULONG *timeouts); UINT tx_event_flags_set(TX_EVENT_FLAGS_GROUP *group_ptr, ULONG flags_to_set, UINT set_option); UINT tx_event_flags_set_notify(TX_EVENT_FLAGS_GROUP *group_ptr, VOID(*events_set_notify)(TX_EVENT_FLAGS_GROUP *)); Interrupt Control Service UINT tx_interrupt_control(UINT new_posture); Message Queue Services UINT tx_queue_create(TX_QUEUE *queue_ptr, CHAR *name_ptr, UINT message_size, VOID *queue_start, ULONG queue_size); UINT tx_queue_delete(TX_QUEUE *queue_ptr); UINT tx_queue_flush(TX_QUEUE *queue_ptr); UINT tx_queue_front_send(TX_QUEUE *queue_ptr, VOID *source_ptr, ULONG wait_option); UINT tx_queue_info_get(TX_QUEUE *queue_ptr, CHAR **name, ULONG *enqueued, ULONG *available_storage, TX_THREAD **first_suspended, ULONG *suspended_count, TX_QUEUE **next_queue); UINT tx_queue_performance_info_get(TX_QUEUE *queue_ptr, ULONG *messages_sent, ULONG *messages_received, w ww. n e w n e s p r e s s .c o m Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  7. ThreadX API K-5 ULONG *empty_suspensions, ULONG *full_suspensions, ULONG *full_errors, ULONG *timeouts); UINT tx_queue_performance_system_info_get(ULONG *messages_sent, ULONG *messages_received, ULONG *empty_suspensions, ULONG *full_suspensions, ULONG *full_errors, ULONG *timeouts); UINT tx_queue_prioritize(TX_QUEUE *queue_ptr); UINT tx_queue_receive(TX_QUEUE *queue_ptr, VOID *destination_ptr, ULONG wait_option); UINT tx_queue_send(TX_QUEUE *queue_ptr, VOID *source_ptr, ULONG wait_option); UINT tx_queue_send_notify(TX_QUEUE *queue_ptr, VOID (*queue_send_notify)(TX_QUEUE *)); Semaphore Services UINT tx_semaphore_ceiling_put(TX_SEMAPHORE *semaphore_ptr, ULONG ceiling); UINT tx_semaphore_create(TX_SEMAPHORE *semaphore_ptr, CHAR *name_ptr, ULONG initial_count); UINT tx_semaphore_delete(TX_SEMAPHORE *semaphore_ptr); UINT tx_semaphore_get(TX_SEMAPHORE *semaphore_ptr, ULONG wait_option); UINT tx_semaphore_info_get(TX_SEMAPHORE *semaphore_ptr, CHAR **name, ULONG *current_value, TX_THREAD **first_suspended, w w w.ne w nespress.com Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  8. K-6 Appendix K ULONG *suspended_count, TX_SEMAPHORE **next_semaphore); UINT tx_semaphore_performance_info_get(TX_SEMAPHORE *semaphore_ptr, ULONG *puts, ULONG *gets, ULONG *suspensions, ULONG *timeouts); UINT tx_semaphore_performance_system_info_get(ULONG *puts, ULONG *gets, ULONG *suspensions, ULONG *timeouts); UINT tx_semaphore_prioritize(TX_SEMAPHORE *semaphore_ptr); UINT tx_semaphore_put(TX_SEMAPHORE *semaphore_ptr); UINT tx_semaphore_put_notify(TX_SEMAPHORE *semaphore_ptr, VOID (*semaphore_put_notify)(TX_SEMAPHORE *)); Mutex Services UINT tx_mutex_create(TX_MUTEX *mutex_ptr, CHAR *name_ptr, UINT inherit); UINT tx_mutex_delete(TX_MUTEX *mutex_ptr); UINT tx_mutex_get(TX_MUTEX *mutex_ptr, ULONG wait_option); UINT tx_mutex_info_get(TX_MUTEX *mutex_ptr, CHAR **name, ULONG *count, TX_THREAD **owner, TX_THREAD **first_suspended, ULONG *suspended_count, TX_MUTEX **next_mutex); UINT tx_mutex_performance_info_get(TX_MUTEX *mutex_ptr, ULONG *puts, ULONG *gets, ULONG *suspensions, w ww. n e w n e s p r e s s .c o m Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  9. ThreadX API K-7 ULONG *timeouts, ULONG *inversions, ULONG *inheritances); UINT tx_mutex_performance_system_info_get(ULONG *puts, ULONG *gets, ULONG *suspensions, ULONG *timeouts, ULONG *inversions, ULONG *inheritances); UINT tx_mutex_prioritize(TX_MUTEX *mutex_ptr); UINT tx_mutex_put(TX_MUTEX *mutex_ptr); Thread Services UINT tx_thread_create(TX_THREAD *thread_ptr, CHAR *name_ptr, VOID(*entry_function)(ULONG), ULONG entry_input, VOID *stack_start, ULONG stack_size, UINT priority, UINT preempt_threshold, ULONG time_slice, UINT auto_start); UINT tx_thread_delete(TX_THREAD *thread_ptr); UINT tx_thread_entry_exit_notify(TX_THREAD *thread_ptr, VOID(*entry_exit_notify)(TX_THREAD *, UINT)); TX_THREAD *tx_thread_identify(VOID); UINT tx_thread_info_get(TX_THREAD *thread_ptr, CHAR **name, UINT *state, ULONG *run_count, UINT *priority, UINT *preemption_threshold, ULONG *time_slice, w w w.ne w nespress.com Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  10. K-8 Appendix K TX_THREAD **next_thread, TX_THREAD **next_suspended_thread); UINT tx_thread_performance_info_get(TX_THREAD *thread_ptr, ULONG *resumptions, ULONG *suspensions, ULONG *solicited_preemptions, ULONG *interrupt_preemptions, ULONG *priority_inversions, ULONG *time_slices, ULONG *relinquishes, ULONG *timeouts, ULONG *wait_aborts, TX_THREAD **last_preempted_by); UINT tx_thread_performance_system_info_get(ULONG *resumptions, ULONG *suspensions, ULONG *solicited_preemptions, ULONG *interrupt_preemptions, ULONG *priority_inversions, ULONG *time_slices, ULONG *relinquishes, ULONG *timeouts, ULONG *wait_aborts, ULONG *non_idle_returns, ULONG *idle_returns); UINT tx_thread_preemption_change(TX_THREAD *thread_ptr, UINT new_threshold, UINT *old_threshold); UINT tx_thread_priority_change(TX_THREAD *thread_ptr, UINT new_priority, UINT *old_priority); VOID tx_thread_relinquish(VOID); UINT tx_thread_reset(TX_THREAD *thread_ptr); UINT tx_thread_resume(TX_THREAD *thread_ptr); UINT tx_thread_sleep(ULONG timer_ticks); UINT tx_thread_stack_error_notify(VOID(*error_handler) (TX_THREAD *)); w ww. n e w n e s p r e s s .c o m Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  11. ThreadX API K-9 UINT tx_thread_suspend(TX_THREAD *thread_ptr); UINT tx_thread_terminate(TX_THREAD *thread_ptr); UINT tx_thread_time_slice_change(TX_THREAD *thread_ptr, ULONG new_time_slice, ULONG *old_time_slice); UINT tx_thread_wait_abort(TX_THREAD *thread_ptr); Time Services ULONG tx_time_get(VOID); VOID tx_time_set(ULONG new_time); Timer Services UINT tx_timer_activate(TX_TIMER *timer_ptr); UINT tx_timer_change(TX_TIMER *timer_ptr, ULONG initial_ticks, ULONG reschedule_ticks); UINT tx_timer_create(TX_TIMER *timer_ptr, CHAR *name_ptr, VOID(*expiration_function)(ULONG), ULONG expiration_input, ULONG initial_ticks, ULONG reschedule_ticks, UINT auto_activate); UINT tx_timer_deactivate(TX_TIMER *timer_ptr); UINT tx_timer_delete(TX_TIMER *timer_ptr); UINT tx_timer_info_get(TX_TIMER *timer_ptr, CHAR **name, UINT *active, ULONG *remaining_ticks, ULONG *reschedule_ticks, TX_TIMER **next_timer); w w w.ne w nespress.com Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  12. K-10 Appendix K UINT tx_timer_performance_info_get(TX_TIMER *timer_ptr, ULONG *activates, ULONG *reactivates, ULONG *deactivates, ULONG *expirations, ULONG *expiration_adjusts); UINT tx_timer_performance_system_info_get(ULONG *activates, ULONG *reactivates, ULONG *deactivates, ULONG *expirations, ULONG *expiration_adjusts); w ww. n e w n e s p r e s s .c o m Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  13. Index A Change priority, 83, 95, H-19 Activation of timer, 159, 174 Change time-slice, 95, H-2 Allocate bytes, 40, 131–2, 135, 281, B-1 CISC, 48, 54 Allocation of a fixed-size block of memory, 142, Clearing event flags, 209, 218, 232 143, 144, A-1 Code density, 47–8, 54 Allocation of memory, 34, 128, 129, 137, 144, 150 Compare Register, 48, 49, 50, 51, 54 Application timer, 36–7, 42, 88–9, 95, 153, 298 Compiler initialization, 58 activation, 157, 159, 268, J-1 Completed state, 80, 86, 90, 95, H-5 activation options, 174 Compute timing performance, 174 attributes, 36, 37, 158 Condition code, H-8 control block, 36, 155, 156 Conditional instruction execution, 55 creation, 157–9 Conditional suspension, 85, H-27, H-32 deactivation, 160–1, J-6 Control loop with polling, 5, 8 deletion, 161, J-7 Cooperative multithreading, 24, 25, 30, 84, expiration time, 154, 198 96 one-shot timer, 36, 173 Count Register, 48, 49, 50, 51, 54 performance information, 161–2 Counting semaphore, 38–9, 177 periodic timer, 36, 153, 174 attributes, 39 services, 156–7, 174, J-1 binary semaphore, 41, 42, 178, 181, 187, 188, system performance information, J-1, J-12 189, 198, 206 timer interrupt, 153, 154, 268 creation, 179, 180–1, 182, G-3 timer tick, 153 current count, 178, 183, 185 Applications definition, 16, 112, 113, 119, 167, 192, deletion, 181–2, G-4 198, 201, 247, 250, 276, 278, 279, 280 event-chaining, 186 Auto start, 95, H-2, H-3 information retrieval, 183–4, G-7 instance, 182–3, G-5 B notification, 186, 198 Binary semaphore, 38, 41, 42, 178, 181, 187, 188, performance information, G-9 189, 206 place an instance, 184–6, G-13 Block pool (memory block pool), 10, 35, 36, 127 put, G-15 Block size calculation, 150 retrieve an instance, 183 Byte pool, See Memory byte pool services, G-1–G-16 suspend on semaphore, 184, 185 C system performance information, G-11 Cause Register, 48, 49, 51, 52, 54 Critical section, 10–11, 14, 99–100, 178, 199 Change preemption-threshold, 83, 95, H-17 Current count, 178, 206 w w w.ne w nespress.com Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  14. Index-2 Current time, 14, 17–18, 19, 113, 155, 163 logical operations, 209, 232 Currently executing thread, 7, 23, 73, 84, H-8 notification, 220, C-13 OR operation, 209, 218 D performance information, C-8–C-10 Data types-primitive: retrieval of event flags, 213–17 CHAR, 32 satisfying a get request, 214 UINT, 32 services, C-1–C-15 ULONG, 32 set, C-12–C-13 VOID, 32 set option, 218 Data types-system: setting event flags, 218–20 TX_BLOCK_POOL, 32 system performance information, C-10–C-12 TX_BYTE_POOL, 32 Event notification, 177, 220 TX_EVENT_FLAGS_GROUP, 32 Exception handling, 56 TX_MUTEX, 32 Exclusive access, 100 TX_QUEUE, 32 Exclusive ownership, 104, E-4 TX_SEMAPHORE, 32 Executing state, 89, 90 TX_THREAD, 32 Execution context, 75 TX_TIMER, 32 Expiration function, 154, 157, 158, 165, 272, 279, Deactivation of timer, 174 282, 284, 286, J-4 Deadlock, 180, 206 Expiration time, 53 Deadly embrace, 107–9, 180 recovery, 108–9 F Decrement count, 107, 177, 206 FIFO order, 106, 135, 146, 179, 184, 244, A-12, De-fragmentation, 34, 128, 137 B-13, E-12, F-14, G-13 Determinism, 2, 25–6 First-fit allocation, 34 Dynamic priority, 21 Fixed length instructions, 46 Fixed-size block, 35 E Flush contents of a message queue, 242 Embedded system, 1, 25, 53 Fragmentation, 34, 128, 137 Entry function input, H-2, H-4 Front of queue, 237 Event-chaining, 186, 220, 245 Function: Event flags group, 39–40 expiration function, 154, 157, 158, 165, 272, 279, AND operation, 209, 218 282, 284, 286, J-4 attributes, 39 reentrant, 76 clearing event flags, 232 thread entry function, 12, 33, 158 control block, 210–11 timeout function, 154, 156 creation, 211–12 deletion, 213 H event-chaining, 220 Heap, 34, 138 get, C-4–C-7, C-12–C-13 get option, 213, 214 I get request, 209, 210, 213, 214, 231 Instance, 38, 177, 182–3 information retrieval, 217–18 Instruction pipeline, 45 initialization, 39, 40 Internal system clock, 153, I-1 w ww. n e w n e s p r e s s .c o m Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  15. Index-3 Interrupt, 7, 60, 68 creation, 238–9 Interrupt control service, D-1, K-4 deletion, 241–2 Interrupt handling, 65 event-chaining, 245 Interrupt service routine (ISR), 7, 27, 69, 87, 88, 128 FIFO discipline, 235 Inter-thread communication, 7, F-2 flush contents, 242 Inter-thread mutual exclusion, 11, E-1 front of queue, 242–3 information retrieval, 243–4 K message capacity, 236 Kernel, 26 message size, 236 Kernel entry, 53 notification, 245 performance information, 244–5 L rear, 236, 242 Logical operations, 211 receive message, 240–1 Low power mode, 47, 53 send message, 239–40 services, 238 M storage space, 237 Mailbox, 40, 235 suspension, 244–5 Memory block pool, 35, 127 system performance information, 238 allocate, 143–4 Message size, 40, 236, 237, 240, F-2 attributes, 36, 143 MIPS architecture, 46, 47, 51, 68, 69 block size calculation, 140 MIPS32, 46, 49 control block, 140–1 MIPS64, 46, 49 creation, 142–3 RISC, 45, 46, 47 deletion, 144–5 MIPS core, 46 information retrieval, 145 MIPS exception handling, 55, 56–9, 65, 68 performance information, 145–6 MIPS instructions, 46 release one block, 146–7 MIPS processor, 45–54 services, 141–2 MIPS processor mode, 52, 53 system performance information, 142 MIPS registers, 46, 48, 49, 50, 51, 52, 60 Memory byte pool, 34, 127 Multiple mutex ownership, 99, 108 allocate, 131–3 Multithreading, 7, 76 attributes, 35, 132 Mutex: control block, 129 attributes, 38, 103 creation, 131 control block, 101 deletion, 133 creation, 102–3 information retrieval, 133–4 deletion, 103 performance information, 134–5 get, E-7, E-9 release bytes, 135–6 information retrieval, 105, 106 services, 130–1 multiple mutex ownership, 99, 108 system performance information, 131 ownership, 104–5, 107 Message capacity, 236, 237 performance information, E-7, E-9 Message queue, 40, 41, 235 priority inheritance, 28–9, 93, 102, 103 attributes, 239 put, 107, E-13 control block, 237 services, 101–2, E-1–E-14, K-6–K-7 w w w.ne w nespress.com Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  16. Index-4 Mutex: (Continued) Retrieval of event flags, 217–18 system performance information, E-9–E-10 Retrieve an instance, 182 wait options, 108–9 RISC, 45, 47 Mutual exclusion, 10, 37, 38, 99 ROMable, 2 Round-robin scheduling, 24–5, 93 N RTOS, 3, 9, 21, 26, 31 Nested interrupt, 69 Run-time performance, 81, 105, 133, 161, 183, 217, Notification callback function, 87, 186, 220, 245, 243 C-13, F-19, G-15, H-6 S O Satisfying a get request, 210, 213, 214 One-shot timer, 36, 153, 157 Scalable, 2 Ownership of mutex, 12, 13, 104–5, 107 Scheduling threads, 10, 59 Semaphore: P get, 199, G-9, G-11 Periodic interrupt, 153 see also Counting semaphore Periodic timer, 36, 153, 173 Send message, 242–3 Pointer overhead, 140 Service call, 32, 61 Preemption, 23, 24 Service return values, 73, 79, 81 Preemption-threshold, 29, 82–3, 92–3 Setting event flags, 218–20 Preemptive scheduling, 6 Shared resource, 100 Priority, 33, 91, 94 Single cycle execution, 47 Priority ceiling, 29 Stack, 74, 75, 136, 147 Priority inheritance, 28–9, 38, 93, 102 Stack size, 74, 75 Priority inversion, 27–8, 92, 180 Static priority, 21 Producer-consumer, 178, 196 Suspend on semaphore, 179, 181, 184 Public resource, 31, 256, 267 Suspend while waiting for memory, 129 Suspended state, 84, 90 Q Suspended thread, 22 Queue storage space, 237 Suspension list, 184 Queue suspension, 236, 244 Suspension of thread, 85, 87, 218 Synchronization of threads, 41, 209 R Synchronize thread behavior, 99 Ready list, 103 System clock services, 154–5, I-1–I-3 Ready state, 89, 90 System-on-Chip, 47 Ready thread, 22, 23, 94 System resource, 32 Real-time kernel, 3–4, 7 Real-time system, 1–7 T Rear of queue, 40, 242, 256 Template for application development, 9 Receive message, 240–1 Terminate thread, 85–6, 89, 90 Recovery from deadly embrace, 108–9 Terminated state, 90 Reentrant function, 76 Thread Relinquish processor control, 24, 84 abort thread suspension, 87 Resume thread execution, 84 attributes, 33, 77 w ww. n e w n e s p r e s s .c o m Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
  17. Index-5 auto start option, 279, 299, H-3 terminate, 85–6, H-28 change preemption-threshold, 83 unconditional suspension, 85 change priority, 83 Thread context: change time-slice, 86, H-30 interrupt, 60, 62, 69 conditional suspension, 85 minimal, 60, 61 control block, 33, 71–3, 95, 110 recovering, 60–1 creation, 74–80, H-2 saving, 61, 65 deletion, 80–1, H-5 solicited, 60, 61, 69 entry function, 13, 33, 114, 115, 164, H-2 Thread design, 90–3, 266–7 event-chaining, 87 Thread entry function, 12, 33, 79 execution context, 75, 87–9 Thread execution state: information retrieval, 81–2, H-9 completed, 79, 89, 90 notification, 87, H-6 executing, 89, 90 performance information, 81–2, H-12 ready, 89, 90 preemption, 24, 82–3, H-17 suspended, 85, 89, 90 priority, 33, 83–4, H-19 terminated, 89, 90 ready list, 22, 23, 90, 94, 95, 116 Thread scheduling, 59–65 ready thread, 22–3, 88, 89, 94 Thread state transition, 89 relinquish processor control, 84, H-20 ThreadX initialization, 56, 58–9 reset, 86, 90, H-22 ThreadX interrupt handling, 65–8, 69 resume thread execution, 84, H-23 Tick counter, 154 run-count, 73, 82, H-10 Time services, K-9 scheduling, 12, 59–65 Time-slice, 26–7, H-3, H-15 scheduling loop, 87–8 Timeout function, 154, 156 services, 73–4 Timer, See Application timer stack, 74, 75, 136 Timer activation options, 159 stack error, 87, H-26 Timer interrupt, 51, 153, 154 stack memory allocation, 147 Timer tick, 26, 37, 51, 153, 154, H-25, I-2 stack size, 75, H-3 start option, 33 U suspended, 22–3, 85, H-24, H-27 Unconditional suspension, 85 suspension, 85, 87, H-31 suspension list, 22–3 W synchronization, 38, 40, 41, 209 Watchdog timer, 37, 89 system performance information, 81, H-14 w w w.ne w nespress.com Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Đồng bộ tài khoản