版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
手機軟件結構設計說明書1、手機軟件概述MediaTekinc.GSM軟件方案提供電路交換。可以實現(xiàn)語言和數(shù)據(jù)應用。本方案提供兩種帶寬的訪問(GSM900和DCS1800)本方案由五部分組成:L1協(xié)議、設備驅動、協(xié)議棧、MMI和WAP應用。MediaTek同時提供三種工具給用戶:Catcher,META和MCT。如下圖所示。Figure1軟件結構圖軟件方安由三個組件構成.MS的可執(zhí)行軟件,這是在手機上運行的部分,包括以下模塊:—OS:NucleusOS.一L1協(xié)議棧:GSM的物理層。一Drivers:設備驅動,象SIM,URAT,GPIO,等等。L2/L3協(xié)議棧:GSM協(xié)議棧層。一MMI:人機界面。一WAP:無線應用協(xié)議。JAVA:J2ME軟件。2手機工程測試結構,即所謂的META.3Catcher這些組件以下做簡要的描述。2005.04.14Lihuaadd總體講手機軟件就是通訊軟件(協(xié)議棧)和GUI(MMI)的聯(lián)合體。.手機軟件結構說明OSMediaTek采用NucleusOS真正的實時操作系統(tǒng)。AKALOS適配層被用來使MediaTek的軟件適應NucleusOS。這個API提供一系列的系統(tǒng)服務函數(shù)給其他的task,象primitives,timers,queue,memorymanagement,event,等等。OS提供的用戶接口nucleus.h/*Thisfilecontainssystemconstantscommontoboththe*//*applicationandtheactualNucleusPLUScomponents.Thisfile*//*alsocontainsdatastructuredefinitionsthathideinternal*//*informationfromtheapplication.*/#defineNU_Create_TaskTCCE_Create_Task#defineNU_Delete_TaskTCCE_Delete_Task#defineNU_Reset_TaskTCCE_Reset_Task#defineNU_Terminate_TaskTCCE_Terminate_Task#defineNU_Resume_TaskTCCE_Resume_Service#defineNU_Suspend_TaskTCCE_Suspend_Service#defineNU_RelinquishTCCE_Relinquish#defineNU_SleepTCCE_Task_Sleep#defineNU_Change_PriorityTCSE_Change_Priority#defineNU_Change_PreemptionTCSE_Change_Preemption#defineNU_Change_Time_SliceTCSE_Change_Time_Slice#defineNU_Check_StackTCT_Check_Stack#defineNU_Current_Task_PointerTCC_Current_Task_Pointer#defineNU_Established_TasksTCF_Established_Tasks#defineNU_Task_InformationTCF_Task_Information#defineNU_Task_PointersTCF_Task_Pointers#defineNU_Create_MailboxMBCE_Create_Mailbox#defineNU_Delete_MailboxMBCE_Delete_Mailbox#defineNU_Reset_MailboxMBSE_Reset_Mailbox#defineNU_Send_To_MailboxMBCE_Send_To_Mailbox#defineNU_Broadcast_To_MailboxMBSE_Broadcast_To_Mailbox#defineNU_Receive_From_MailboxMBCE_Receive_From_Mailbox#defineNU_Established_MailboxesMBF_Established_Mailboxes#defineNU_Mailbox_InformationMBF_Mailbox_Information#defineNU_Mailbox_PointersMBF_Mailbox_Pointers#defineNU_Create_QueueQUCE_Create_Queue
#defineNU_Delete_QueueQUCE_Delete_Queue#defineNU_Reset_QueueQUSE_Reset_Queue#defineNU_Send_To_QueueQUCE_Send_To_Queue#defineNU_Send_To_Front_Of_QueueQUSE_Send_To_Front_Of_Queue#defineNU_Broadcast_To_QueueQUSE_Broadcast_To_Queue#defineNU_Receive_From_QueueQUCE_Receive_From_Queue#defineNU_Established_QueuesQUF_Established_Queues#defineNU_Queue_InformationQUF_Queue_Information#defineNU_Queue_PointersQUF_Queue_Pointers#defineNU_Create_PipePICE_Create_Pipe#defineNU_Delete_PipePICE_Delete_Pipe#defineNU_Reset_PipePISE_Reset_Pipe#defineNU_Send_To_Front_Of_PipePISE_Send_To_Front_Of_Pipe#defineNU_Send_To_PipePICE_Send_To_Pipe#defineNU_Broadcast_To_PipePISE_Broadcast_To_Pipe#defineNU_Receive_From_PipePICE_Receive_From_Pipe#defineNU_Established_PipesPIF_Established_Pipes#defineNU_Pipe_InformationPIF_Pipe_Information#defineNU_Pipe_PointersPIF_Pipe_Pointers#defineNU_Create_SemaphoreSMCE_Create_Semaphore#defineNU_Delete_SemaphoreSMCE_Delete_Semaphore#defineNU_Reset_SemaphoreSMSE_Reset_Semaphore#defineNU_Obtain_SemaphoreSMCE_Obtain_Semaphore#defineNU_Release_SemaphoreSMCE_Release_Semaphore#defineNU_Established_SemaphoresSMF_Established_Semaphores#defineNU_Semaphore_InformationSMF_Semaphore_Information#defineNU_Semaphore_PointersSMF_Semaphore_Pointers#defineNU_Create_Event_GroupEVCE_Create_Event_Group#defineNU_Delete_Event_GroupEVCE_Delete_Event_Group#defineNU_Set_EventsEVCE_Set_Events#defineNU_Retrieve_EventsEVCE_Retrieve_Events#defineNU_Established_Event_GroupsEVF_Established_Event_Groups#defineNU_Event_Group_InformationEVF_Event_Group_Information#defineNU_Event_Group_PointersEVF_Event_Group_Pointers#defineNU_Create_Partition_PoolPMCE_Create_Partition_Pool#defineNU_Delete_Partition_PoolPMCE_Delete_Partition_Pool#defineNU_Allocate_PartitionPMCE_Allocate_Partition#defineNU_Deallocate_PartitionPMCE_Deallocate_Partition#defineNU_Established_Partition_P001sPMF_Established_Partition_P001s#defineNU_Partition_Pool_InformationPMF_Partition_Pool_Information#defineNU_Partition_Pool_PointersPMF_Partition_Pool_Pointers#defineNU_Create_Memory_PoolDMCE_Create_Memory_Pool#defineNU_Delete_Memory_PoolDMCE_Delete_Memory_Pool#defineNU_Allocate_MemoryDMCE_Allocate_Memory
#defineNU_Deallocate_MemoryDMCE_Dea11ocate_Memory#defineNU_Established_Memory_P001sDMF_Estab1ished_Memory_P001s#defineNU_Memory_Poo1_InformationDMF_Memory_Poo1_Information#defineNU_Memory_Poo1_PointersDMF_Memory_Poo1_Pointers#defineNU_Contro1_Signa1sTCSE_Contro1_Signa1s#defineNU_Receive_Signa1sTCSE_Receive_Signa1s#defineNU_Register_Signa1_Hand1erTCSE_Register_Signa1_Hand1er#defineNU_Send_Signa1sTCSE_Send_Signa1s#defineNU_Setup_VectorINT_Setup_Vector#defineNU_Register_LISRTCC_Register_LISR#defineNU_Activate_HISRTCCE_Activate_HISR#defineNU_Create_HISRTCCE_Create_HISR#defineNU_De1ete_HISRTCCE_De1ete_HISR#defineNU_Current_HISR_PointerTCC_Current_HISR_Pointer#defineNU_Estab1ished_HISRsTCF_Estab1ished_HISRs#defineNU_HISR_PointersTCF_HISR_Pointers#defineNU_HISR_InformationTCF_HISR_Information#defineNU_ProtectTCT_Protect#defineNU_UnprotectTCT_Unprotect#defineNU_Contro1_InterruptsTCT_Contro1_Interrupts#defineNU_Loca1_Contro1_InterruptsTCT_Loca1_Contro1_Interrupts#defineNU_Restore_InterruptsTCT_Restore_Interrupts#defineNU_Set_C1ockTMT_Set_C1ock#defineNU_Retrieve_C1ockTMT_Retrieve_C1ock#defineNU_Create_TimerTMSE_Create_Timer#defineNU_De1ete_TimerTMSE_De1ete_Timer#defineNU_Contro1_TimerTMSE_Contro1_Timer#defineNU_Reset_TimerTMSE_Reset_Timer#defineNU_Estab1ished_TimersTMF_Estab1ished_Timers#defineNU_Timer_PointersTMF_Timer_Pointers#defineNU_Timer_InformationTMF_Timer_Information#defineNU_Get_Remaining_TimeTMF_Get_Remaining_Time#defineNU_Re1ease_InformationRLC_Re1ease_Information#defineNU_License_InformationLIC_License_Information#defineNU_Disab1e_History_SavingHIC_Disab1e_History_Saving#defineNU_Enab1e_History_SavingHIC_Enab1e_History_Saving#defineNU_Make_History_EntryHIC_Make_History_Entry_Service#defineNU_Retrieve_History_EntryHIC_Retrieve_History_Entry#defineNU_Create_DriverIOCE_Create_Driver#defineNU_De1ete_DriverIOCE_De1ete_Driver#defineNU_Request_DriverIOCE_Request_Driver#defineNU_Resume_DriverIOCE_Resume_Driver#defineNU_Suspend_DriverIOCE_Suspend_Driver#defineNU_Estab1ished_DriversIOF_Estab1ished_Drivers#defineNUDriverPointerslOFDriverPointersOS提供的功能接口說明這是個標準的商用#defineNUDriverPointerslOFDriverPointersOS提供的功能接口說明這是個標準的商用OS用!功能很強大。足以完成手機上的復雜應L1協(xié)議棧物理層或L1物理層或L1支持在無線媒質上傳輸比特流根據(jù)05系列技術規(guī)。它向上層提供服務和控制物理信道和邏輯信道的匹配。執(zhí)行TDMA幀和無線控制部分。上層。、供服務和控制物理信道和邏輯信道的匹配。執(zhí)行TDMA幀和無線控制部分。上層。、Surroundingcellengine:處理相鄰蜂窩功率測量和同步信息獲2得。3、Layer1控制:處理TDMA的無線環(huán)境時序安排表,包括來自服務基站的預定時和公控。、Layer1driver:處理DSP和無線管理。驅動設備驅動支持所有的MCU外圍設備的控制功能。這個模塊處理許多用戶可觀察的手機行為,例如鍵盤處理和LCD顯示。它和L4實體交互通過訪問設備寄存器來提供必要的控制功能。Figure3MCU外圍設備驅動5例:用戶定義的模塊UAR-通用異步收發(fā)設備SPI:串口接口LCD:液晶顯示器GPIO:通用輸入輸出GP-通用計時器RTC:實時計時器WDT:看門狗計時器PWM:脈沖寬度調(diào)制Alerter:報警???Keypad:鍵盤按鍵處理PMIC電源管理芯片BMT:電池充電管理taskAUXtask:耳機taskADCSched:模數(shù)轉換表USBtask:USB1.1協(xié)議和驅動IRDAtask:IRDA和驅動Camera:整合了第三部分Camera模塊的Camera驅動MSDC:存卡驅動,支持SD,MMC卡和存片JPEGDecoder:控制硬件JPEG解碼器的軟件
L2/L3/L4協(xié)議棧這部分包括許多GSM/GPRS要求和為有應用提供一個優(yōu)秀的GSM/GPRS平臺。這個軟件平臺易于實現(xiàn)本地MMI或遠程PC控制通過ATcommand。詳細結構是:RMI:遠程MMI,例如,PC端。通過UART口和協(xié)議棧通信。FMI:FeaturerichMMI,以上部分描述。這個產(chǎn)品是和PIXTEL合作的。L4:L4是一個1人5人通過它FMI和RMI和協(xié)議棧進行通信。L4task包括幾個子模塊。ATCI:ATCommand解釋器。解釋來自PC端的AT命令同時命令L4c執(zhí)行相應的動作。L4A:FMI的L4適配層,F(xiàn)MI和L4A服務節(jié)點是最基本的。L4C:L4的控制實體。處理所有應用請求和響應。UEM:用戶設備適配。Driver的適配,象KEYPAD,LED,GPIO,AUDIO等PHB:本管理。處理本的相關操作。SMU:SIM管理單元。處理安全管理和STK。CSM:電路交換協(xié)議棧管理。RAC:注冊訪問控制。SMSAL:短消息服務應用層TMC:上下文管理NVRAM:非易失RAM。這是flash存儲器的適配層。5川:用戶指定的模塊。處理SIM行為例如:ETSI11.1描述。DATA:電路數(shù)據(jù)交換服務。數(shù)據(jù)task包括幾個子模塊。FAX:組三傳真TDT:透明電路交換數(shù)據(jù)L2R:針對非透明電路交換數(shù)據(jù)的L2延遲協(xié)議。RLP:非透明電路交換數(shù)據(jù)的資源連接協(xié)議。CC:電路交換控制。SS:增加服務SMS:短消息服務SM:會議管理MM/GMM:移動管理/GPRS移動性管理SNDCP:子網(wǎng)依靠轉換協(xié)議LLC:邏輯鏈路管理RR:無線資源管理。RRtask包括幾個子模塊RRM:處理蜂窩選擇和PLMN選擇RMPC:處理空閑或檢測狀態(tài)包括周圍小區(qū)的配置和測量報告LAPDM:處理GSML2定義的過程MAC:媒質訪問控制協(xié)議MPAI:無線資源和L1A的適配層。?PPP:點對點協(xié)議層。這個是客戶PPP層。1.5.MMI這部分包括了用戶接口framework,application和協(xié)議棧通信。MMI和L4的接口是最基本的。Figure5MMI結構Framework:它包括OSL:OS適配層Task:和14層通信Filesystem:和存儲設備通信GUI:包括以下方面主題UI元素類屏幕字體編輯T9或£21輸入法訪問LCD驅動用戶化工具應用本消息(短消息,增強型短消息4.0,CB)呼叫歷史設置(設置,網(wǎng)絡設置,安全設置)5中用戶模式游戲和娛樂管理服務快捷方式來電管理中斷事件,如充電,警報MMITASK只有外部mail的判斷機制,沒有部mail的判斷機制(這樣做增加了MMI軟件編制的復雜度?),只要是發(fā)現(xiàn)了mail消息就進行判斷,然后派發(fā)執(zhí)行相應的功能函數(shù)和進行相應的顯示處理。
MMITASK作用和地位MMITASK是整個手機軟件的核心調(diào)度TASK,它負責用戶命令的接收判斷和執(zhí)行。MMITASK入口函數(shù)說明/**************************************************************FUNCTIONNAMEPURPOSEINPUTPARAMETERSFUNCTIONNAMEPURPOSEINPUTPARAMETERSOUTPUTPARAMETERSRETURNSREMARKSforwardsittonilvoideventsfromthestackandThisreceivesprotocoltaskMMItask.eventsfromthestackand**************************************************************/等待來自MMI隊列的消息。協(xié)議棧把消息寫入隊列。framework層處理事件framework層觸發(fā)器回調(diào)應用層。應用層利用UI層類函數(shù)和主題顯示屏幕。Frameworkframework層的功能接受來自所有task的事件幫助應用控制屏幕流為應用提供對操作系統(tǒng)的封裝,例如,隊列寫消息。framework的元素EventHandlers一為各種事件注冊和執(zhí)行應用回調(diào)函數(shù)。History一為應用管理屏幕流和存儲中間數(shù)據(jù)。OSL一為應用調(diào)用依靠操作系統(tǒng)的操作提供操作系統(tǒng)封裝NVRAM一為來自NVRAM的數(shù)據(jù)存儲和解析提供封裝。FileSystem—為來自文件系統(tǒng)的數(shù)據(jù)存儲和解析提供封裝。事件處理事件的分類1鍵盤事件一用戶使用鍵盤產(chǎn)生按鍵事件。在目前的Pluto中,這些事件僅通過L4task傳向MMItask。2協(xié)議棧事件一協(xié)議事件用來在底層和MMItask之間通信。例如,如果有一個來電的話,L4層將產(chǎn)生一個INCOMING_CALL_EVET,如果用戶選擇了接聽,MMI應用產(chǎn)生一個CALL_ACCEPT_EVENT事件。3計時器事件一計時器事件用于通知底層開始和結束計時器。計時器終止的表示也來自一個事件。4Highlight事件一Highlightevent是部事件,當一個特定的菜單項被highglight,framework產(chǎn)生一個highlight事件。應用利用這些事件執(zhí)行向高亮度顯示,鍵盤匹配和改變右軟件的標簽。Highlight函數(shù)作為回調(diào)函數(shù)被菜單項的應用注冊。協(xié)議事件處理流程1設置一個協(xié)議事件處理器framework定義一個全局數(shù)組變量protocoleventhandler□來存儲事件和相對應的handler_function。無論何時一個應用調(diào)用setprotocoleventhandler(cback,eventide),一個事件ID和函數(shù)的條目被加入這個數(shù)組。其中,數(shù)組值是協(xié)議棧事件(timerandhardwareevent)的處理函數(shù),其下標是EventID。這個數(shù)組在開機初始化已被賦值2協(xié)議事件回調(diào)MMI_task函數(shù)等待來自MMI隊列的消息。無論何時收到一個消息,回調(diào)protocoleventhandler(),這個函數(shù)調(diào)用Executecurrprotocolhandler()。executecurrprotocolhandler()檢查協(xié)議事件處理器數(shù)組來尋找相應的事件ID的條目。如果一個條目被找到,響應的回調(diào)函數(shù)被調(diào)用,否則事件被忽略。流程如下圖所示:
協(xié)議棧事件處理流程按鍵事件處理流程1設置一個按鍵事件處理器framework利用一個全局數(shù)組currkeyfuncptr□□存儲事件和它響應的處理函數(shù)。無論何時一個應用調(diào)用setkeyhandle(cback,keycode,keytype),一個包括keycode,keytype,cbackfunction條目被加入到這個數(shù)組。其中,數(shù)組值是按鍵處理函數(shù),數(shù)組下標是2按鍵事件回調(diào)L4的鍵處理函數(shù)作為按鍵事件的協(xié)議處理器被注冊。這個鍵事件作為來自L4的協(xié)議事件。因此,無論事件何時發(fā)生,L4keyhandle函數(shù)作為回調(diào)函數(shù)被調(diào)用。這個函數(shù)檢測檢測消息中的keytype和keycode并且調(diào)用currkeyfunction口數(shù)組中回調(diào)函數(shù)。如果keycode不存在或回調(diào)函數(shù)是空的,按鍵事件被忽略。事件回調(diào)流程圖如下所示:
按鍵事件處理流程圖
計算機仿真按鍵事件處理流程顯示處理整個軟件的顯示處理用的GUI的形式,封裝做的很好!有效的封裝了顯示處理復雜性,使用戶對于MMI軟件的顯示部分能夠迅速上手.封裝成voidShowCategory***Screen(參數(shù)1,參數(shù)2,參數(shù)3…)以便MMI用戶調(diào)用
顯示API函數(shù)的調(diào)用時機:在用戶執(zhí)行程序中最后調(diào)用顯示API.基本上實現(xiàn)了狀態(tài)機的原則。STATE1STATE3STATE3輸入1執(zhí)行用戶API調(diào)用顯示處理API執(zhí)行用戶API調(diào)用顯示處理API執(zhí)行用戶API調(diào)用顯示處理API輸入2執(zhí)行用戶API調(diào)用顯示處理API空執(zhí)行執(zhí)行用戶API調(diào)用顯示處理API輸入3執(zhí)行用戶API調(diào)用顯示處理API執(zhí)行用戶API調(diào)用顯示處理API執(zhí)行用戶API調(diào)用顯示處理API輸入4執(zhí)行用戶API調(diào)用顯示處理API執(zhí)行用戶API調(diào)用顯示處理API執(zhí)行用戶API調(diào)用顯示處理API詳細說明詳細見顯示模塊的相關調(diào)查文檔:顯示模塊系統(tǒng)分析.doc2.TASK說明概述整個手機軟件建立在RTOS之上,他負責調(diào)度所有的TASK.整個的手機軟件共有個TASK.他的大致功能如下表:TASKID優(yōu)先級別TASK功能描述1BMTBatteryManagementTask2audiomanagertask3MMItask4mediatask5AUXtask6DSPaudiotask7cameratask8FTtask????9fmttask10recordfilesysteminternaltaskindex11PRTtask????12Protocoltask
13taskdaythemecolor14idletask(空閑task)15OBEXtask???16lmptask????17Javatask18generictask19keypadtask20speechcomponenttask21MEDtask????22media-vtask23CCtask????24Protocoltask25servicedebugtask1.26systemservicedebugtask2.27VRtask(VoiceRecognition)28TASK優(yōu)先級別說明*stack_config.h*Description:*Thisfileprovidesthetaskindexandmoduleindexconfiguration./**************************************************************************2.Componenttask'spriority[optional]*************************************************************************//*Thehighesttaskpriority,NucleusPlustaskpriority3~255*/TASK_PRIORITY_DRIVER_TESTKAL_PRIORITY_CLASS12TASK_PRIORITY_DRIVER_TESTKAL_PRIORITY_CLASS12TASKPRIORITYDUMMYMPALKALPRIORITYCLASS11/*SystemService*/#defineTASK_PRIORITY_SSDEBUG#defineTASK_PRIORITY_L1#defineTASK_PRIORITY_MPAL#defineTASK_PRIORITY_DUMMYPS#defineTASK_PRIORITY_SSDBG1#defineTASK_PRIORITY_SSDBG2#define#define(KAL_PRIORITY_CLASS0+3)KAL_PRIORITY_CLASS1KAL_PRIORITY_CLASS5KAL_PRIORITY_CLASS5KAL_PRIORITY_CLASS10KAL_PRIORITY_CLASS10KAL_PRIORITY_CLASS12KAL_PRIORITY_CLASS12KAL_PRIORITY_CLASS25(KAL_PRIORITY_CLASS20+4)KAL_PRIORITY_CLASS19(KAL_PRIORITY_CLASS25+4)KAL_PRIORITY_CLASS12KAL_PRIORITY_CLASS13#defineTASK_PRIORITY_DUMMYRR#defineTASK_PRIORITY_TSTR#defineTASK_PRIORITY_TST#defineTASK_PRIORITY_TSTR#defineTASK_PRIORITY_TST#defineTASK_PRIORITY_RR#defineTASK_PRIORITY_REASM
#defineTASK_PRIORITY_DRVKBD(KAL_PRIORITY_CLASS13+5)#defineTASK_PRIORITY_MMKAL_PRIORITY_CLASS14#defineTASK_PRIORITY_CCKAL_PRIORITY_CLASS15#defineTASK_PRIORITY_SM(KAL_PRIORITY_CLASS15+5)#defineTASK_PRIORITY_DATAKAL_PRIORITY_CLASS16#defineTASK_PRIORITY_LLC(KAL_PRIORITY_CLASS16+1)#defineTASK_PRIORITY_CISSKAL_PRIORITY_CLASS17#defineTASK_PRIORITY_SMS(KAL_PRIORITY_CLASS17+3)#defineTASK_PRIORITY_SIM(KAL_PRIORITY_CLASS14+5)#defineTASK_PRIORITY_SNDCP(KAL_PRIORITY_CLASS17+5)#defineTASK_PRIORITY_MED(KAL_PRIORITY_CLASS16+9)#defineTASK_PRIORITY_L4KAL_PRIORITY_CLASS18#defineTASK_PRIORITY_BMT(KAL_PRIORITY_CLASS19+5)#defineTASK_PRIORITY_AUX(KAL_PRIORITY_CLASS19+8)#defineTASK_PRIORITY_L1AUDIO(KAL_PRIORITY_CLASS16+2)#defineTASK_PRIORITY_MMIKAL_PRIORITY_CLASS20#defineTASK_PRIORITY_NVRAMKAL_PRIORITY_CLASS24#defineTASK_PRIORITY_IDLE(KAL_PRIORITY_CLASS25+5)#defineTASK_PRIORITY_IRDA(KAL_PRIORITY_CLASS15+1)#defineTASK_PRIORITY_OBEX(KAL_PRIORITY_CLASS19+1)#defineTASK_PRIORITY_IRCOMM(KAL_PRIORITY_CLASS16+5)#defineTASK_PRIORITY_DUMMY_IRDA(KAL_PRIORITY_CLASS18+4)#defineTASK_PRIORITY_USB(KAL_PRIORITY_CLASS16+7)#defineTASK_PRIORITY_FMT(KAL_PRIORITY_CLASS24+5)#defineTASK_PRIORITY_MED_V(KAL_PRIORITY_CLASS20+5)/*Beginofcustomizabletasks*/#defineTASK_PRIORITY_ABM(KAL_PRIORITY_CLASS18+8)#defineTASK_PRIORITY_PPP(KAL_PRIORITY_CLASS24+3)#defineTASK_PRIORITY_PPP_CSD(KAL_PRIORITY_CLASS18+5)#defineTASK_PRIORITY_PPP_GPRS(TASK_PRIORITY_PPP)#defineTASK_PRIORITY_TCPIP(KAL_PRIORITY_CLASS18+6)#defineTASK_PRIORITY_SOC(KAL_PRIORITY_CLASS18+7)#defineTASK_PRIORITY_WAPKAL_PRIORITY_CLASS20#defineTASK_PRIORITY_WPS(KAL_PRIORITY_CLASS19+2)#defineTASK_PRIORITY_JVM(KAL_PRIORITY_CLASS24+2)#defineTASK_PRIORITY_JDAEMON(KAL_PRIORITY_CLASS20+1)#defineTASK_PRIORITY_EMAIL(KAL_PRIORITY_CLASS18+9)3.中斷說明定時器中斷說明外部中斷說明4.重要流程說明4.1.手機上電流程NOconfigureemiDatacopyfromflashtoSRAMAssignSPtovariousoperation
modesdefinedbyARMCPU.4.2.OS啟動流程systemimemoty(EKtemaiandimTerrsJ)DebugrnemctvCreatebufferpglacconing!Dpoolinfo.startflhenrslsenedungcalwaystransferexecutonngpttothenipriorityUsk.accordingtogsystemimemoty(EKtemaiandimTerrsJ)DebugrnemctvCreatebufferpglacconing!Dpoolinfo.startflhenrslsenedungcalwaystransferexecutonngpttothenipriorityUsk.accordingtog5kinfo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度商業(yè)綜合體店鋪裝修一體化服務合同
- 2025年度草莓種植與深加工一體化項目合同3篇
- 課題申報參考:南嶺走廊瑤族傳統(tǒng)建筑壁畫圖像敘事及活化研究
- 課題申報參考:面向患者情緒體驗的大型醫(yī)療設備系統(tǒng)設計策略研究
- 課題申報參考:貿(mào)易面向型人工智能規(guī)則的發(fā)展及其特征研究
- 《短視頻編?。哼x題構想+腳本制作+劇本策劃+鏡頭拍攝》課件全套 第1-11章 選題方向:從賬號定位出發(fā) - 綜合案例:短劇《錯過》
- 二零二五年度車輛抵押借款合同(含提前還款)4篇
- 二零二五版金融科技項目內(nèi)部股東轉讓合同4篇
- 二零二五年度工業(yè)級模具開模設計與制造合同3篇
- 2025年度新型個人汽車抵押借款合同范本
- 妊娠合并低鉀血癥護理查房
- 煤礦反三違培訓課件
- 向流程設計要效率
- 安全文明施工的管理要點
- 2024年中國航空發(fā)動機集團招聘筆試參考題庫含答案解析
- 當代中外公司治理典型案例剖析(中科院研究生課件)
- 動力管道設計手冊-第2版
- 2022年重慶市中考物理試卷A卷(附答案)
- Python繪圖庫Turtle詳解(含豐富示例)
- 煤礦機電設備檢修技術規(guī)范完整版
- 榆林200MWp并網(wǎng)光伏發(fā)電項目可行性研究報告
評論
0/150
提交評論