您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > ThreadXUserGuide-中文手册
ThreadXExpressLogicCThreadXThreadXThreadXThreadXI/OThreadXThreadXAThreadXAPIBThreadXCThreadXDThreadEASCIIThreadXThreadXCCtx_port.hThreadXUINT81632ULONG32VOIDCHAR8ThreadXtx_port.h1ThreadXThreadXPicokernelANSICThreadXThreadXThreadXThreadXRISCreducedinstructionsetcomputerDSPDigitalSignalProcessingThreadXThreadXCThreadXThreadX2Kbyte15KbytePicokernellayeringkernelfunctionsThreadXPicokernelANSICThreadXANTICThreadXThreadXCThreadXThreadXThreadXpicokernelThreadXThreadXThreadXThreadXtask2ThreadXThreadXThreadXThreadXIDIBM-PCUNIXRS-232BDM(BackgroundDebugMonitor),ICEIn-CircuitEmulatorICEThreadXASCII1对ThreadXROM(read-onlymemory)2K15KRAM(randomaccessmemory)1K2KThreadXThreadXCD-ROMThreadXReadme.txtThreadXTx_api.hCequates,Tx_port.hCDemo.cCBuild_ap.batMS-DOSThreadXBuild_tx.batMS-DOSThreadXCTx.libThreadXCThreadXThreadXThreadXThreadX将ThreadXThreadX,Build_tx.batThreadXThreadXThreadXThreadXtx.libtx_api.hThreadXtx_api.hThreadXCmainmaintx_kernel_enterThreadXThreadXThreadXtx_kernel_entertx_application_defineThreadXThreadXtx.lib2.13#includetx_api.hunsignedlongmy_thread_counter=0;TX_THREADmy_thread;main(){/*EntertheThreadXkernel.*/tx_kernel_enter();}voidtx_application_define(void*first_unused_memory){/*Createmy_thread!*/tx_thread_create(&my_thread,MyThread,my_thread_entry,0x1234,first_unused_memory,1024,3,3,TX_NO_TIME_SLICE,TX_AUTO_START);}voidmy_thread_entry(ULONGthread_input){/*Enterintoaforeverloop.*/while(1){/*Incrementthreadcounter.*/my_thread_counter++;/*Sleepfor1tick.*/tx_thread_sleep(1);}}ThreadXbuild_up.bat1.2.ThreadXbypassservicecallerrorCTX_DISABLE_ERROR_CHECKING30%ThreadXAPIAPITX_DISABLE_ERROR_CHECKING3ThreadXThreadXISRmaintx_kernel_enterRound-RobinTX_THREADReentrancyTX_QUEUETX_SEMAPHOREDeadlyEmbraceTX_EVENT_FLAG_GROUP(MemoryBlockPools)TX_BLOCK_POOL(MemoryBytePools)TX_BYTE_POOLTX_TIMERThreadXISRThreadX3.1ThreadXwhile()ThreadXThreadXThreadXISRISRwatchdogISRThreadXThreadX3.2ROMRAMROMRAMThreadXISRTX_THREADThreadXThreadXCMainmainThreadXtx_kernel_enterThreadXtx_kernel_entertx_kernel_enterThreadXtx_application_define.tx_application_definetx_application_definetx_application_defineRAM3.3----------------------------------------------------------------------------------------------------------------------ThreadXtx_thread_createThreadX3.4ThreadXThreadXtx_thread_terminateThreadX031031ThreadXFIFORound-RobinThreadXtx_thread_relinquishtx_thread_relinquishThreadXThreadXstarvationThreadX20152020150140TX_THREADtx_api.hCtx_run_counttx_stateTX_READY(0x00)TX_COMPLETED(0x01)TX_TERMINATED(0x02)TX_SUSPENDED(0x03)TX_SLEEP(0x04)TX_QUEUE_SUSP(0x05)TX_SEMAPHORE_SUSP(0x06)TX_EVENT_FLAG(0x07)TX_BLOCK_MEMORY(0x08)TX_BYTE_MEMORY(0x09)TX_IO_DRIVER(0x0A)tx_thread_identifyThread_X_tx_thread_current_ptrNULLThread_XC3.5RAMTX_MINIMUM_STACK,Thread_X0xEFEF3.60xEFEFjumpingintotheweedsReentrancyCCCCstrtokThread_Xthread_1,thread_2,thread_3thread_1thread_2thread_3thread_2thread_1thread_3thread_2tx_queue_sendThreadX_tx_thread_current_ptr,ThreadXThreadXtx_queue_send,tx_queue_receiveThreadX12481632-bit16410025QueueMemoryAreaThreadXRAM(time-outs)BlockTX_QUEUEtx_api.h!ThreadX3204,294,967,295tx_semaphore_gettx_semaphore_putThreadXMutualExclusion101-00TX_SEMAPHONEtx_api.hDeadlyEmbrace3.7:3232tx_event_flags_settx_event_flags_get//tx_event_flags_setgetrequesttx_event_flags_getTX_OR_CLEARTX_AND_CLEAR0ThreadX0TX_EVENT_FLAGS_GROUPtx_api.hThreadXThreadXThreadXCThreadXThreadXI/OThreadXTX_BLOCK_POOLtx_api.hThreadXCmallocfirst-fitThreadXISRCThreadXTX_BYTE_POOLtx_api.h2000100010001000ThreadXC(expire).one-shottimer,periodictimerThreadXThreadXtimertick.timertick10msThreadXtickticktimerticktick10ms10ms10ms1ms32tx_api.h0tickThreadX32tickticktx_time_gettx_time_set32tickThreadXticktx_interrupt_controlThreadXThreadXThreadXISRtx_block_allocatetx_block_releasetx_event_flags_settx_event_flags_gettx_interrupt_controltx_queue_sendtx_queue_receivetx_semaphore_gettx_semaphore_puttx_thread_identifytx_thread_resumetx_time_gettx_time_settx_timer_activatetx_timer_changetx_timer_deactivateISRISRISRISRThreadXreadme.txtThreadXISRISRISRThreadXISRThreadX4ThreadXThreadXAPITX_DISABLE_ERROR_CHECKINGAPItx_block_allocateUINTtx_block_allocate(TX_BLOCK_POOL*pool_ptr,VOID**block_ptr,ULONGwait_option)pool_ptrblock_ptrwait_optionwait_optionTX_NO_WAIT(0x00000000)TX_WAIT_FOREVER(0xFFFFFFFF)timeoutvalue(0x00000001through0xFFFFFFFE)TX_NO_WAITISRTX_WAIT_FOREVERtimer-ticks00xFFFFFFFETX_SUCCESS(0x00)TX_DELETED(0x01)TX_NO_MEMORY(0x10)TX_POOL_ERROR(0x02)TX_PTR_ERROR(0x03)TX_WAIT_ERROR(0x04)TX_NO_WAITInitialization,threads,timers,andISRstx_block_pool_createUINTtx_block_pool_create(TX_BLOCK_POOL*pool_ptr,CHAR*name_ptr,ULONGblock_size,VOID*pool_start,ULONGpool_size)=/+sizeof(*)sizeof(*)pool_ptrname_ptrblock_sizepool_startpool_sizeTX_SUCCESS(0x00)TX_POOL_ERROR(0x02)NULLTX_PTR_ERROR(0x03)TX_SIZE_ERROR(0x05)TX_CALLER_ERROR(0x13)Initializationandthreadstx_block_pool_deleteUINTtx_block_pool_delete(TX_BLOCK_POOL*pool_ptr)TX_DELETEDpool_ptrTX_SUCCESS(0x00)TX_POOL_ERROR(0x02)TX_CALLER_ERROR(0x13)Threadstx_block_releaseUINTtx_block_re
本文标题:ThreadXUserGuide-中文手册
链接地址:https://www.777doc.com/doc-5645703 .html