亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? os_cpu_c.c

?? BF531 for UCOS2.8 + UCGUI3.98工程使用的PPI接口 LCD320*240 16bit,可生執行文件. 絕對可以成功
?? C
字號:
/*******************************************************************************
*							礐OS-II Blackfin port test example
*							Blackfin Applications Team, Analog Devices Inc.,
*								Norwood, MA, US
*
* File: 				os_cpu_c.c
* Author: 				Deep Bodapati 
* Last Modified: 		10-10-2006
* Project:				礐OS-II Blackfin port
* Platform: 			Any (EZKit, custom boards etc.)
* Tools:				VisualDSP++ 4.5 (Updated September 2006)
* 礐OS-II Version: 		v2.83
*																			
* This file is part of the 礐OS-II port to the Blackfin processor. 
******************************************************************************/
/*
Copyright...

This code is placed in the public domain, and can be distributed freely with no restrictions provided that the heading
of each source module file is not modified to remove the credit to the original author.
  
Disclaimer...

This program code is provided "as is". There is no warranty, either expressed or implied as to its fitness for use in
any application. It is provided only as an example of porting the MicroC/OS operating system to the Blackfin processor.
Its use is strictly at the risk of the user. The author will not be liable for any damages direct or consequential related
to the use of this software including, but not limited to loss of profit.
*/

#include <cdefBF53x.h>
#include <sys/exception.h>
#include <ucos_ii.h>
#include <app.h> /* This file included only for the app_Init prototype */

/*
*****************************************************************************
*
*  Global Variables
*
*****************************************************************************
*/


/*
*****************************************************************************
*
*  Function Protoypes
*
*****************************************************************************
*/
EX_INTERRUPT_HANDLER(OSTickISR);	


/*
*********************************************************************************************************
*                                          TASK EXIT HOOK
*
* Description: This function is called when a task exits
*
* Arguments  : none
*
*********************************************************************************************************
*/
void OSTaskExitHook(void)
{
}


/*
*********************************************************************************************************
*                                          TASK CREATION HOOK
*
* Description: This function is called when a task is created.
*
* Arguments  : ptcb   is a pointer to the task control block of the task being created.
*
* Note(s)    : 1) Interrupts are disabled during this call.
*********************************************************************************************************
*/
void OSTaskCreateHook(OS_TCB *ptcb)
{
}

/*
*********************************************************************************************************
*                                           TASK DELETION HOOK
*
* Description: This function is called when a task is deleted.
*
* Arguments  : ptcb   is a pointer to the task control block of the task being deleted.
*
* Note(s)    : 1) Interrupts are disabled during this call.
*********************************************************************************************************
*/
void OSTaskDelHook(OS_TCB *ptcb)
{
#if OS_TASK_CREATE_EXT_EN == 1
	free((void *)ptcb->OSTCBStkBottom);		// Free stack memory used by the task that was just deleted
#endif
}

#if OS_TASK_SW_HOOK_EN
/*
*********************************************************************************************************
*                                           TASK SWITCH HOOK
*
* Description: This function is called when a task switch is performed.  This allows you to perform other
*              operations during a context switch.
*
* Arguments  : none
*
* Note(s)    : 1) Interrupts are disabled during this call.
*              2) It is assumed that the global pointer 'OSTCBHighRdy' points to the TCB of the task that
*                 will be 'switched in' (i.e. the highest priority task) and, 'OSTCBCur' points to the 
*                 task being switched out (i.e. the preempted task).
*********************************************************************************************************
*/
void OSTaskSwHook(void)
{
}
#endif



/*
*********************************************************************************************************
*                                           TCB Init HOOK
*
* Description: 
*
* Arguments  : pointer to TCB
*********************************************************************************************************
*/
void OSTCBInitHook(OS_TCB *ptcb)
{
}

/*
*********************************************************************************************************
*                                           Init HOOK begin & end
*
* Description: 
*
* Arguments  : pointer to TCB
*********************************************************************************************************
*/
void          OSInitHookBegin(void)
{
}

void          OSInitHookEnd(void)
{
	app_init();
	
    // Register the context switch handler for IVG14 and enable Interrupt 14 in IMASK
	register_handler_ex (ik_ivg14, (ex_handler_fn)OSCtxSw, EX_INT_ENABLE);		
}

/*
*********************************************************************************************************
*                                           STATISTIC TASK HOOK
*
* Description: This function is called every second by uC/OS-II's statistics task.  This allows your 
*              application to add functionality to the statistics task.
*
* Arguments  : none
*********************************************************************************************************
*/
void OSTaskStatHook(void)
{
}


#if OS_TIME_TICK_HOOK_EN
/*
*********************************************************************************************************
*                                               TICK HOOK
*
* Description: This function is called every tick.
*
* Arguments  : none
*
* Note(s)    : 1) Interrupts may or may not be ENABLED during this call.
*********************************************************************************************************
*/
void OSTimeTickHook(void)
{
}
#endif



/*
*********************************************************************************************************
*                                               IDLE HOOK
*
* Description: This function is called by uC/OS-ii IDLE Task.
*
* Arguments  : none
*
* Note(s)    : 	1) This hook function is called when the IDLE task executes - place code here that
*				   needs to be done when the processor is 'idle' i.e. no tasks are being executed.
*				2) This function doesn't have to return to the call i.e. while(1) is ok.
*				3) Interrupts may or may not be ENABLED during this call.
*********************************************************************************************************
*/
void OSTaskIdleHook(void)
{
}


/*
*********************************************************************************************************
*                                        INITIALIZE A TASK'S STACK
*
* Description: This function is called by either OSTaskCreate() or OSTaskCreateExt() to initialize the
*              stack frame of the task being created.  This function is highly processor specific.
*
* Arguments  : task          is a pointer to the task code
*
*              pdata         is a pointer to a user supplied data area that will be passed to the task
*                            when the task first executes.
*
*              ptos          is a pointer to the top of stack.  It is assumed that 'ptos' points to
*                            a 'free' entry on the task stack.  If OS_STK_GROWTH is set to 1 then 
*                            'ptos' will contain the HIGHEST valid address of the stack.  Similarly, if
*                            OS_STK_GROWTH is set to 0, the 'ptos' will contains the LOWEST valid address
*                            of the stack.
*
*              opt           specifies options that can be used to alter the behavior of OSTaskStkInit().
*                            (see uCOS_II.H for OS_TASK_OPT_???).
*
* Returns    : Always returns the location of the new top-of-stack' once the processor registers have
*              been placed on the stack in the proper order.
*
* Note(s)    : This function does the following (refer to Porting chapter (Chapter 13 of uCOS-II book)
*			   (1) Simulate a function call to the task with an argument
*			   (2) Simulate an interrupt vector
*			   (3) Setup stack frame to contain desired initial values of all registers
*			   (4) Return top of stack pointer to the caller
*
*			Refer to VisualDSP++ C/C++ Compiler and Library Manual for Blackfin Processors 
*			and ADSP-BF53x/BF56x Blackfin

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲欧美在线| 日韩欧美激情在线| 2021国产精品久久精品| 一区二区久久久| 国产精品自拍毛片| 欧美一区二区福利视频| 亚洲视频在线一区二区| 国产综合久久久久影院| 欧美色网站导航| 国产精品嫩草99a| 韩国毛片一区二区三区| 欧美日韩久久久久久| 亚洲色图视频免费播放| 国产伦精品一区二区三区在线观看| 欧美色网一区二区| 亚洲欧美一区二区三区孕妇| 国产伦精品一区二区三区在线观看| 欧美疯狂性受xxxxx喷水图片| 怡红院av一区二区三区| 成人激情黄色小说| 久久视频一区二区| 美女久久久精品| 欧美久久一二区| 亚洲国产欧美一区二区三区丁香婷| 成人av网在线| 国产欧美一区二区精品婷婷| 精品一区中文字幕| 911精品产国品一二三产区| 艳妇臀荡乳欲伦亚洲一区| 99久久久久久| 国产精品免费观看视频| 国产成人a级片| 久久久美女毛片| 国产一区二区三区国产| 精品1区2区在线观看| 久久精品国产久精国产| 欧美一区中文字幕| 午夜精品一区在线观看| 欧美人动与zoxxxx乱| 五月婷婷综合网| 欧美日韩国产首页在线观看| 亚洲国产日韩一级| 欧美精品亚洲一区二区在线播放| 亚洲国产一区二区视频| 欧美日韩国产综合视频在线观看| 亚洲影院免费观看| 欧美日韩在线精品一区二区三区激情| 一区二区三区在线免费播放| 91年精品国产| 一区二区三区日韩精品| 欧美午夜精品免费| 日韩精品成人一区二区三区| 欧美久久久久久久久中文字幕| 亚洲国产成人高清精品| 欧美色成人综合| 午夜精品久久久久久久| 欧美一级日韩一级| 国产一区二区视频在线| 欧美激情在线免费观看| 99国产欧美久久久精品| 一区二区三区欧美在线观看| 欧美日韩国产综合一区二区三区| 天堂资源在线中文精品| 日韩三级高清在线| 国产精品一区二区在线播放| 中文字幕一区二区三区乱码在线 | 亚洲视频一区在线观看| 99精品桃花视频在线观看| 亚洲精品成人天堂一二三| 欧美三级三级三级| 裸体健美xxxx欧美裸体表演| 国产午夜亚洲精品理论片色戒| 成人毛片在线观看| 亚洲一二三四在线| 日韩欧美在线观看一区二区三区| 国产一区二区三区最好精华液| 中文字幕中文字幕在线一区 | 韩国视频一区二区| 日本一区二区三区高清不卡| 91色在线porny| 日精品一区二区| 26uuuu精品一区二区| 99久久精品国产一区二区三区| 亚洲国产另类av| 精品国产一二三区| 99久久国产免费看| 肉丝袜脚交视频一区二区| 精品国产乱码久久久久久浪潮| 成人免费高清视频| 天天综合日日夜夜精品| 国产亚洲一二三区| 欧洲国内综合视频| 九色|91porny| 亚洲日本护士毛茸茸| 日韩丝袜情趣美女图片| 99热国产精品| 久久精品国产亚洲一区二区三区 | 欧美一区二区在线视频| 高清shemale亚洲人妖| 亚洲国产综合在线| 国产无一区二区| 欧美日韩大陆一区二区| 丁香网亚洲国际| 日日摸夜夜添夜夜添精品视频| 国产午夜精品福利| 制服视频三区第一页精品| 波多野结衣91| 激情综合色综合久久综合| 一区二区三区四区蜜桃| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美在线观看视频一区二区| 国产精品18久久久| 日本成人在线不卡视频| 亚洲免费av高清| 久久久久9999亚洲精品| 欧美日韩国产一级| 99国产精品99久久久久久| 久久99久久精品| 午夜精品123| 亚洲男帅同性gay1069| 国产校园另类小说区| 欧美一区二区三区视频免费播放| 91在线播放网址| 国产成人精品网址| 久久99久久99| 石原莉奈在线亚洲三区| 亚洲女子a中天字幕| 国产欧美日韩三区| 日韩欧美中文字幕公布| 欧美日韩免费视频| 99久精品国产| 成人精品视频一区二区三区尤物| 美女在线视频一区| 日韩在线一二三区| 亚洲午夜精品在线| 亚洲精品第一国产综合野| 欧美国产一区二区在线观看| 精品sm捆绑视频| 精品三级在线观看| 6080日韩午夜伦伦午夜伦| 欧美性受xxxx黑人xyx性爽| 99re成人精品视频| 99在线视频精品| 国产成人av在线影院| 经典三级视频一区| 精品影院一区二区久久久| 蜜臀va亚洲va欧美va天堂| 日韩国产欧美在线观看| 首页国产丝袜综合| 日日摸夜夜添夜夜添国产精品| 亚洲电影一区二区| 亚洲成人高清在线| 亚洲va国产va欧美va观看| 亚洲一区中文在线| 亚洲电影中文字幕在线观看| 亚洲亚洲精品在线观看| 亚洲永久免费视频| 亚洲成人一二三| 亚洲福利视频导航| 五月天欧美精品| 婷婷久久综合九色综合绿巨人 | 国产精品久久久久久久岛一牛影视| 久久久美女毛片| 国产欧美在线观看一区| 国产婷婷色一区二区三区 | 欧美日韩一级片网站| 欧美日韩中文字幕一区| 欧美色偷偷大香| 欧美日韩国产在线播放网站| 欧美久久一二区| 日韩精品一区二区三区四区视频 | 欧美美女黄视频| 欧美一区二区在线免费观看| 日韩精品一区二区三区视频播放| 精品奇米国产一区二区三区| 久久久久久黄色| 国产精品久久精品日日| 亚洲色图制服丝袜| 亚洲精品ww久久久久久p站| 亚洲综合免费观看高清在线观看| 五月天一区二区| 久久aⅴ国产欧美74aaa| 国产999精品久久久久久绿帽| 成人不卡免费av| 欧美在线短视频| 日韩欧美黄色影院| 国产拍欧美日韩视频二区| 亚洲色欲色欲www| 婷婷成人激情在线网| 另类的小说在线视频另类成人小视频在线 | 久久先锋影音av| 亚洲欧洲精品成人久久奇米网| 亚洲欧美二区三区| 日本女人一区二区三区| 国产成人午夜精品影院观看视频| 色www精品视频在线观看| 制服丝袜在线91| 国产欧美一区视频| 亚洲国产中文字幕在线视频综合| 久久精品国产精品亚洲精品 |