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

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

?? xdma_channel.c

?? u-boot1.3.0的原碼,從配了網絡驅動和FLASH的驅動,并該用ESC竟如
?? C
?? 第 1 頁 / 共 2 頁
字號:
/********************************************************************************     Author: Xilinx, Inc.***     This program is free software; you can redistribute it and/or modify it*     under the terms of the GNU General Public License as published by the*     Free Software Foundation; either version 2 of the License, or (at your*     option) any later version.***     XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A*     COURTESY TO YOU. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS*     ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION OR STANDARD,*     XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION IS FREE*     FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE FOR OBTAINING*     ANY THIRD PARTY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.*     XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO*     THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY*     WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM*     CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND*     FITNESS FOR A PARTICULAR PURPOSE.***     Xilinx hardware products are not intended for use in life support*     appliances, devices, or systems. Use in such applications is*     expressly prohibited.***     (c) Copyright 2002-2004 Xilinx Inc.*     All rights reserved.***     You should have received a copy of the GNU General Public License along*     with this program; if not, write to the Free Software Foundation, Inc.,*     675 Mass Ave, Cambridge, MA 02139, USA.** FILENAME:** xdma_channel.c** DESCRIPTION:** This file contains the DMA channel component. This component supports* a distributed DMA design in which each device can have it's own dedicated* DMA channel, as opposed to a centralized DMA design. This component* performs processing for DMA on all devices.** See xdma_channel.h for more information about this component.** NOTES:** None.*******************************************************************************//***************************** Include Files *********************************/#include "xdma_channel.h"#include "xbasic_types.h"#include "xio.h"/************************** Constant Definitions *****************************//**************************** Type Definitions *******************************//***************** Macros (Inline Functions) Definitions *********************//************************** Function Prototypes ******************************//******************************************************************************** FUNCTION:** XDmaChannel_Initialize** DESCRIPTION:** This function initializes a DMA channel.  This function must be called* prior to using a DMA channel.  Initialization of a channel includes setting* up the registers base address, and resetting the channel such that it's in a* known state.  Interrupts for the channel are disabled when the channel is* reset.** ARGUMENTS:** InstancePtr contains a pointer to the DMA channel to operate on.** BaseAddress contains the base address of the registers for the DMA channel.** RETURN VALUE:** XST_SUCCESS indicating initialization was successful.** NOTES:** None.*******************************************************************************/XStatusXDmaChannel_Initialize(XDmaChannel * InstancePtr, u32 BaseAddress){	/* assert to verify input arguments, don't assert base address */	XASSERT_NONVOID(InstancePtr != NULL);	/* setup the base address of the registers for the DMA channel such	 * that register accesses can be done	 */	InstancePtr->RegBaseAddress = BaseAddress;	/* initialize the scatter gather list such that it indicates it has not	 * been created yet and the DMA channel is ready to use (initialized)	 */	InstancePtr->GetPtr = NULL;	InstancePtr->PutPtr = NULL;	InstancePtr->CommitPtr = NULL;	InstancePtr->LastPtr = NULL;	InstancePtr->TotalDescriptorCount = 0;	InstancePtr->ActiveDescriptorCount = 0;	InstancePtr->IsReady = XCOMPONENT_IS_READY;	/* initialize the version of the component	 */	XVersion_FromString(&InstancePtr->Version, (s8 *)"1.00a");	/* reset the DMA channel such that it's in a known state and ready	 * and indicate the initialization occured with no errors, note that	 * the is ready variable must be set before this call or reset will assert	 */	XDmaChannel_Reset(InstancePtr);	return XST_SUCCESS;}/******************************************************************************** FUNCTION:** XDmaChannel_IsReady** DESCRIPTION:** This function determines if a DMA channel component has been successfully* initialized such that it's ready to use.** ARGUMENTS:** InstancePtr contains a pointer to the DMA channel to operate on.** RETURN VALUE:** TRUE if the DMA channel component is ready, FALSE otherwise.** NOTES:** None.*******************************************************************************/u32XDmaChannel_IsReady(XDmaChannel * InstancePtr){	/* assert to verify input arguments used by the base component */	XASSERT_NONVOID(InstancePtr != NULL);	return InstancePtr->IsReady == XCOMPONENT_IS_READY;}/******************************************************************************** FUNCTION:** XDmaChannel_GetVersion** DESCRIPTION:** This function gets the software version for the specified DMA channel* component.** ARGUMENTS:** InstancePtr contains a pointer to the DMA channel to operate on.** RETURN VALUE:** A pointer to the software version of the specified DMA channel.** NOTES:** None.*******************************************************************************/XVersion *XDmaChannel_GetVersion(XDmaChannel * InstancePtr){	/* assert to verify input arguments */	XASSERT_NONVOID(InstancePtr != NULL);	XASSERT_NONVOID(InstancePtr->IsReady == XCOMPONENT_IS_READY);	/* return a pointer to the version of the DMA channel */	return &InstancePtr->Version;}/******************************************************************************** FUNCTION:** XDmaChannel_SelfTest** DESCRIPTION:** This function performs a self test on the specified DMA channel.  This self* test is destructive as the DMA channel is reset and a register default is* verified.** ARGUMENTS:** InstancePtr is a pointer to the DMA channel to be operated on.** RETURN VALUE:** XST_SUCCESS is returned if the self test is successful, or one of the* following errors.**	XST_DMA_RESET_REGISTER_ERROR 		Indicates the control register value*										after a reset was not correct** NOTES:** This test does not performs a DMA transfer to test the channel because the* DMA hardware will not currently allow a non-local memory transfer to non-local* memory (memory copy), but only allows a non-local memory to or from the device* memory (typically a FIFO).*******************************************************************************/#define XDC_CONTROL_REG_RESET_MASK  0x98000000UL	/* control reg reset value */XStatusXDmaChannel_SelfTest(XDmaChannel * InstancePtr){	u32 ControlReg;	/* assert to verify input arguments */	XASSERT_NONVOID(InstancePtr != NULL);	XASSERT_NONVOID(InstancePtr->IsReady == XCOMPONENT_IS_READY);	/* reset the DMA channel such that it's in a known state before the test	 * it resets to no interrupts enabled, the desired state for the test	 */	XDmaChannel_Reset(InstancePtr);	/* this should be the first test to help prevent a lock up with the polling	 * loop that occurs later in the test, check the reset value of the DMA	 * control register to make sure it's correct, return with an error if not	 */	ControlReg = XDmaChannel_GetControl(InstancePtr);	if (ControlReg != XDC_CONTROL_REG_RESET_MASK) {		return XST_DMA_RESET_REGISTER_ERROR;	}	return XST_SUCCESS;}/******************************************************************************** FUNCTION:** XDmaChannel_Reset** DESCRIPTION:** This function resets the DMA channel. This is a destructive operation such* that it should not be done while a channel is being used.  If the DMA channel* is transferring data into other blocks, such as a FIFO, it may be necessary* to reset other blocks.  This function does not modify the contents of a* scatter gather list for a DMA channel such that the user is responsible for* getting buffer descriptors from the list if necessary.** ARGUMENTS:** InstancePtr contains a pointer to the DMA channel to operate on.** RETURN VALUE:** None.** NOTES:** None.*******************************************************************************/voidXDmaChannel_Reset(XDmaChannel * InstancePtr){	/* assert to verify input arguments */	XASSERT_VOID(InstancePtr != NULL);	XASSERT_VOID(InstancePtr->IsReady == XCOMPONENT_IS_READY);	/* reset the DMA channel such that it's in a known state, the reset	 * register is self clearing such that it only has to be set	 */	XIo_Out32(InstancePtr->RegBaseAddress + XDC_RST_REG_OFFSET,		  XDC_RESET_MASK);}/******************************************************************************** FUNCTION:** XDmaChannel_GetControl** DESCRIPTION:** This function gets the control register contents of the DMA channel.** ARGUMENTS:** InstancePtr contains a pointer to the DMA channel to operate on.** RETURN VALUE:** The control register contents of the DMA channel. One or more of the* following values may be contained the register.  Each of the values are* unique bit masks.**	XDC_DMACR_SOURCE_INCR_MASK	Increment the source address*	XDC_DMACR_DEST_INCR_MASK	Increment the destination address*	XDC_DMACR_SOURCE_LOCAL_MASK Local source address*	XDC_DMACR_DEST_LOCAL_MASK	Local destination address*	XDC_DMACR_SG_ENABLE_MASK	Scatter gather enable*	XDC_DMACR_GEN_BD_INTR_MASK	Individual buffer descriptor interrupt*	XDC_DMACR_LAST_BD_MASK		Last buffer descriptor in a packet** NOTES:** None.*******************************************************************************/u32XDmaChannel_GetControl(XDmaChannel * InstancePtr){	/* assert to verify input arguments */	XASSERT_NONVOID(InstancePtr != NULL);	XASSERT_NONVOID(InstancePtr->IsReady == XCOMPONENT_IS_READY);	/* return the contents of the DMA control register */	return XIo_In32(InstancePtr->RegBaseAddress + XDC_DMAC_REG_OFFSET);}/******************************************************************************** FUNCTION:** XDmaChannel_SetControl** DESCRIPTION:** This function sets the control register of the specified DMA channel.** ARGUMENTS:*

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青草视频一区| av电影在线观看完整版一区二区| 色综合色狠狠综合色| 亚洲最新在线观看| 4438x亚洲最大成人网| 麻豆国产精品视频| 中文字幕一区二区三区不卡| 91浏览器入口在线观看| 精品成人免费观看| 精品一区二区三区免费视频| 青青草91视频| 免费日韩伦理电影| 国产精品久久福利| 欧美日韩在线一区二区| 成人一区二区三区视频在线观看| 亚洲韩国一区二区三区| 亚洲国产精品成人综合色在线婷婷| 91黄色激情网站| 久久精品国产亚洲5555| 亚洲综合视频网| 国产精品萝li| 久久精品一区蜜桃臀影院| 欧美一级艳片视频免费观看| 91同城在线观看| 成人美女视频在线观看18| 日本女人一区二区三区| 亚洲精品成a人| 亚洲三级免费观看| 一区二区三区四区亚洲| 亚洲精品日韩一| 中文字幕综合网| 亚洲激情校园春色| 亚洲一区在线观看免费| 一区二区三区中文字幕精品精品| 国产精品国产馆在线真实露脸| 久久人人97超碰com| 2021国产精品久久精品| www国产精品av| 亚洲欧美综合网| 亚洲午夜av在线| 麻豆国产精品视频| 不卡电影一区二区三区| 欧美日本在线播放| 国产精品久久久久久久久久久免费看 | 亚洲私人黄色宅男| 免费高清在线一区| 国产精品亚洲午夜一区二区三区| 成人午夜免费av| 欧美日韩国产成人在线免费| 精品第一国产综合精品aⅴ| 成人免费一区二区三区视频| 日韩精品一卡二卡三卡四卡无卡| 国产成人超碰人人澡人人澡| 欧美美女一区二区三区| 亚洲精品一区二区三区福利| 国产亚洲一二三区| 亚洲制服丝袜av| 国产成人免费在线观看不卡| 精品久久人人做人人爽| 亚洲天堂精品在线观看| 国产精品一色哟哟哟| 欧美日韩精品三区| 亚洲综合无码一区二区| 91久久线看在观草草青青 | 欧美在线免费播放| 日韩你懂的电影在线观看| 亚洲精品视频免费看| 日本电影亚洲天堂一区| 1024成人网色www| 色欲综合视频天天天| 中文字幕中文字幕一区| 99视频一区二区| 亚洲另类在线视频| 色狠狠色狠狠综合| 三级欧美韩日大片在线看| 91精品国产入口| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲成a人片综合在线| 91精品福利视频| 亚洲另类色综合网站| 欧美午夜影院一区| 美女一区二区久久| 欧美经典三级视频一区二区三区| 久久99精品久久久久久久久久久久| 欧美成人乱码一区二区三区| 国产一区三区三区| 亚洲美女屁股眼交| 日韩欧美在线不卡| 一本到高清视频免费精品| 日本一不卡视频| 国产精品久久久久久久久动漫| 色综合色综合色综合| 久久精品国产一区二区三区免费看| 国产亚洲欧美激情| 在线播放中文字幕一区| 国产一区二区成人久久免费影院 | 精品黑人一区二区三区久久| 99精品欧美一区| 国内精品免费**视频| 日韩中文字幕麻豆| 一区二区三区不卡视频在线观看| 日本一区二区高清| 日韩免费高清av| 日韩视频在线永久播放| 91官网在线免费观看| 99视频热这里只有精品免费| 黄一区二区三区| 极品瑜伽女神91| 国产麻豆精品一区二区| 激情文学综合网| 麻豆精品在线视频| 粉嫩aⅴ一区二区三区四区 | 国产精品久久久久久久岛一牛影视 | 亚洲午夜一二三区视频| 亚洲欧美另类久久久精品2019| 久久精品人人爽人人爽| 国产午夜精品久久久久久免费视 | 国产在线不卡一区| 国产精品18久久久久久久久久久久 | 美国av一区二区| 国产在线不卡一区| 成a人片亚洲日本久久| 91啪在线观看| 欧美成人精品1314www| 亚洲欧洲三级电影| 免费人成黄页网站在线一区二区| 国产一区二区三区观看| 成人少妇影院yyyy| 777色狠狠一区二区三区| 欧美成人乱码一区二区三区| 国产精品私房写真福利视频| 亚洲特级片在线| 麻豆一区二区在线| 波多野结衣的一区二区三区| 欧美色大人视频| 国产精品二三区| 久久 天天综合| 欧美撒尿777hd撒尿| 中文字幕精品一区二区精品绿巨人| 秋霞午夜鲁丝一区二区老狼| 水蜜桃久久夜色精品一区的特点| 国产一区二区三区在线观看精品| 日本精品一区二区三区四区的功能| 国产精品国产自产拍高清av王其| 亚洲精品五月天| 色国产综合视频| 国产精品久久久久9999吃药| 五月激情丁香一区二区三区| 在线亚洲精品福利网址导航| 国产精品色哟哟网站| 国产成人精品三级| 久久午夜老司机| 久久国内精品自在自线400部| 欧美影视一区在线| 亚洲最色的网站| 在线视频综合导航| 专区另类欧美日韩| 国产精品原创巨作av| 国产丝袜在线精品| 成人黄色在线看| 中文字幕一区二区三区蜜月| 成人免费毛片片v| 国产精品麻豆99久久久久久| 91美女蜜桃在线| 亚洲国产精品一区二区久久| 欧美挠脚心视频网站| 日本aⅴ精品一区二区三区| 91精品久久久久久蜜臀| 蜜臀久久99精品久久久久宅男| 日韩视频免费直播| 成人sese在线| 免费成人在线观看| 欧美成人vps| www.综合网.com| 九九久久精品视频| 一区二区三区免费网站| 国产日本亚洲高清| 欧美系列一区二区| 国产成人夜色高潮福利影视| 亚洲午夜精品在线| 久久久久久久久久美女| 欧美羞羞免费网站| 色综合一个色综合亚洲| 国产麻豆一精品一av一免费| 亚洲靠逼com| 欧美国产综合一区二区| 日韩精品一区国产麻豆| 欧美亚洲高清一区二区三区不卡| 国产麻豆精品theporn| 日本免费新一区视频| 丝袜美腿高跟呻吟高潮一区| 一区二区三区蜜桃网| 中文字幕在线观看一区| 国产精品女同互慰在线看| 国产亚洲va综合人人澡精品| 欧美精品一区二区三区高清aⅴ| 欧美男人的天堂一二区| 精品视频一区三区九区| 在线播放国产精品二区一二区四区 | 自拍偷拍亚洲综合|