网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> EDA >> NIOSII >> 文章正文
  NIOS II中用到的C/C++函数           ★★★ 【字体:
NIOS II中用到的C/C++函数
作者:Free    文章来源:Free    点击数:    更新时间:2008-1-4    

 

IO操作函数

函数原型:IORD(BASE, REGNUM)

输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量

函数说明:从基地址为BASE的设备中读取寄存器中偏移量为REGNUM的单元里面的值。寄存器的值在地址总线的范围之内。

返回值: 

函数原型:IOWR(BASE, REGNUM, DATA)

输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据

函数说明:往偏移量为REGNUM寄存器中写入数据。寄存器的值在地址总线的范围之内。

返回值: 

函数原型:IORD_32DIRECT(BASE, OFFSET)

输入参数:BASE为寄存器的基地址,OFFSET为寄存器的的偏移量

函数说明:从地址位置为BASE+OFFSET的寄存器中直接读取32Bit的数据

返回值: 

函数原型:IORD_16DIRECT(BASE, OFFSET)

输入参数:BASE为寄存器的基地址,OFFSET为寄存器的的偏移量

函数说明:从地址位置为BASE+OFFSET的寄存器中直接读取16Bit的数据

返回值: 

函数原型:IORD_8DIRECT(BASE, OFFSET)

输入参数:BASE为寄存器的基地址,OFFSET为寄存器的的偏移量

函数说明:从地址位置为BASE+OFFSET的寄存器中直接读取8Bit的数据

返回值: 

 

函数原型:IOWR_32DIRECT(BASE, OFFSET, DATA)

输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据

函数说明:往地址位置为BASE+OFFSET的寄存器中直接写入32Bit的数据

返回值: -

函数原型:IOWR_16DIRECT(BASE, OFFSET, DATA)

输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据

函数说明:往地址位置为BASE+OFFSET的寄存器中直接写入16Bit的数据

返回值: -

函数原型:IOWR_8DIRECT(BASE, OFFSET, DATA)

输入参数:BASE为寄存器的基地址,REGNUM为寄存器的偏移量,DATA为要写入的数据

函数说明:往地址位置为BASE+OFFSET的寄存器中直接写入8Bit的数据

返回值: -

Dma

函数原型:int alt_dma_rxchan_close (alt_dma_rxchan rxchan)

输入参数:rxchan为接收信道

函数说明:函数 alt_dma_rxchan_close ()通知系统:应用程序已经完成DMA

          接收信道rxchan,目前执行是成功的

返回值:  成功返回为0,反之为-1

函数原型:alt_dma_rxchan_depth(alt_dma_rxchan dma)

输入参数:dma

函数说明:函数alt_dma_rxchan_depth ()返回传送到特别DMA的最大数量(深度)的接收请求

返回值:  DMA的最大数量

 

函数原型:int alt_dma_rxchan_ioctl (alt_dma_rxchan dma, int req, void* arg)

输入参数:dma直接存储器名, req为请求操作的列举, arg由请求决定

函数说明:通过DMA接收信道执行设备的具体I/O操作

返回值:  成功返回请求具体值,反之返回为负数

请求类型

请求类型        请求类型说明      

ALT_DMA_SET_MODE_8        传输以8Bit为单位的数据,arg值忽略      

ALT_DMA_SET_MODE_16        传输以16Bit为单位的数据,arg值忽略      

ALT_DMA_SET_MODE_32        传输以32Bit为单位的数据,arg值忽略      

ALT_DMA_SET_MODE_64        传输以64Bit为单位的数据,arg值忽略      

ALT_DMA_SET_MODE_128        传输以128Bit为单位的数据,arg值忽略      

ALT_DMA_TX_ONLY_ON (1)        软件控制下只能发送      

ALT_DMA_TX_ONLY_OFF (1)        自定义模式,软件控制下可以接收,发送      

ALT_DMA_RX_ONLY_ON (1)        软件控制下只能接收      

ALT_DMA_RX_ONLY_OFF (1)        自定义模式,软件控制下可以接收,发送      

函数原型:alt_dma_rxchan  alt_dma_rxchan_open (const char* name)

输入参数:name为常数字符指针,如/dev/dma_0

函数说明:为DMA接收信道获得一个alt_dma_rxchan描述符

返回值:  成功返回非0,反之返回为0

函数原型:int alt_dma_rxchan_prepare (alt_dma_rxchan  dma, void* data,

alt_u32 length, alt_rxchan_done * done, void* handle)

输入参数:dma使用的信道;data接收数据位置的指针;length最大的接收数据长度;done一旦数据被接收,调用返回函数;handle,非透明值传到done

函数说明:发送一个接收请求到DMA接收信道,

返回值:  成功返回0,反之返回为负数

函数原型:int alt_dma_rxchan_reg (alt_dma_rxchan_dev * dev)

输入参数:dev接收信道设备名

函数说明:给系统寄存DMA接收信道

返回值:  成功返回0,反之返回为负数

函数原型:int alt_dma_txchan_close (alt_dma_txchan txchan)

输入参数:txchan发送信道名

函数说明:通知系统:应用程序已经完成DMA发送信道txchan

返回值:  成功返回0,反之返回为负数

函数原型:int  alt_dma_txchan_ioctl (alt_dma_txchan dma, int req, void* arg)

输入参数:dma直接存储器名;req为请求操作的列举;arg请求的额外参数,由请求决定

函数说明:通过DMA发送信道执行设备的具体I/O操作

返回值:  成功返回请求具体值,反之返回为负数

函数原型:alt_dma_txchan  alt_dma_txchan_open (const char* name)

输入参数:name为常数字符指针,如/dev/dma_0

函数说明:为DMA发送信道获得一个alt_dma_rxchan描述符

返回值:  成功返回非0,反之返回为0

函数原型:int  alt_dma_txchan_reg (alt_dma_txchan_dev* dev)

输入参数:dev接收信道设备名

函数说明:给系统寄存DMA发送信道

返回值:  成功返回0,反之返回为负数

函数原型:int alt_dma_txchan_send (alt_dma_txchan dma, const void* from,

alt_u32 length, alt_txchan_done* done, void* handle)

输入参数:dma使用的信道;data接收数据位置的指针;length最大的接收数据长度;done一旦数据被接收,调用返回函数;handle,非透明值传到done

函数说明:发送一个发送请求到DMA发送信道,

返回值:  发送成功返回0,反之返回为负数

函数原型:nt alt_dma_txchan_space (alt_dma_txchan dma)

输入参数:dma 直接存储器名

函数说明:返回被传送到具体DMA发送信道的发送请求数目

返回值:  返回发送请求数目

Flash

函数原型:int alt_erase_flash_block(alt_flash_fd* fd, int offset, int length)

输入参数:fd为具体的flash设备;offset擦除的flash模块的偏移量;length擦除的flash模块的长度

函数说明:擦除单独的一个flash模块

返回值:  发送成功返回0,反之返回为负数

函数原型:void  alt_flash_close_dev(alt_flash_fd * fd)

输入参数:fd为具体的flash设备

函数说明:关闭flash设备

返回值: 

函数原型:alt_flash_fd * alt_flash_open_dev(const char* name)

输入参数:

函数说明:打开flash设备。一旦打开,函数alt_write_flash()用来写入,函数alt_read_flash()用来读取数据,或者使用函数alt_get_flash_info(), alt_erase_flash_block(), alt_write_flash_block(),控制单个模块

返回值:  失败返回0,成功其他值

函数原型:int alt_get_flash_info(alt_flash_fd* fd, flash_region ** info,

int* number_of_regions)

输入参数:fd flash设备;info指向flash_region结构体的指针;number_of_regions

函数说明:得到擦除flash区域的细节

返回值:  发送成功返回0,反之返回为负数

函数原型:int alt_read_flash(alt_flash_fd* fd, int offset, void* dest_addr, int length)

输入参数:dest_addr目标地址指针

函数说明:从flash偏移量为offset字节开始读取数据,写入到目标地址dest_addr

返回值:  成功返回0,反之为非0

函数原型:int alt_write_flash(alt_flash_fd* fd, int offset, const void* src_addr,

int length)

输入参数:src_addr源地址;fdflash设备;offset 偏移量;length字节长度

函数说明:写数据到flsah中,要写的数据在源地址src_addr

返回值:  成功返回0,反之为非0

函数原型:int alt_write_flash_block(alt_flash_fd* fd, int block_offset, int data_offset,

const void *data, int length)

输入参数:fddata_offset起始写数据的偏移量;length为要写数据的长度

函数说明:写入到一个已擦除的flash模块

返回值:  成功返回0,反之为非0

Irq

函数原型:alt_irq_context  alt_irq_disable_all (void)

输入参数:void

函数说明:禁止所有中断

返回值:  传递的值作为随后的函数调用的输入参数

 

函数原型:void alt_irq_enable_all (alt_irq_context context)

输入参数:先前调用函数alt_irq_disable_all (void)的返回值,

函数说明:启动所有中断

返回值: 

函数原型:int alt_irq_enabled (void)

输入参数:void

函数说明:启动中断

返回值:  禁止中断返回0,反之为非0

函数原型:int alt_irq_register (alt_u32 id, void* context, void (*isr)(void*, alt_u32))

输入参数:id,32位无符号数,中断使能;contextidisr的两个输入参数;中断激活时调用isr

函数说明:寄存一个isr

返回值:  成功返回0,反之为非0

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    NIOS的用户定义接口逻辑实例
    如何在NIOSII中使用DMA
    基于Nios II内核的SOPC开发板…
    基于Nios II的非一般模式类设…
    基于Nios II的DTMB单频网适配…
    基于Nios II和DDS的雷达信号…
    一种基于Nios II的可重构DSP…
    Nios II IDE软件编译环境探密…
    基于Nios II的非一般模式类设…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号