原创 NIOS II中用到的C_C++函数的翻译(转)

2008-10-23 19:18 1366 7 7 分类: MCU/ 嵌入式
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源地址;fd,flash设备;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)
输入参数:fd;data_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位无符号数,中断使能;context和id是isr的两个输入参数;中断激活时调用isr
函数说明:寄存一个isr
返回值:  成功返回0,反之为非0

函数原型:int
alt_write_flash(alt_flash_fd* fd, int offset, const void* src_addr, int
length)
输入参数:src_addr源地址;fd,flash设备;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)
输入参数:fd;data_offset起始写数据的偏移量;length为要写数据的长度
函数说明:写入到一个已擦除的flash模块
返回值:  成功返回0,反之为非0

函数原型:int
close (int
filedes)
输入参数:filedes,描述符
函数说明:标准的UNIX函数close(),关闭文件描述符filedes
返回值:  成功返回0,反之为-1

函数原型:int
open (const char* pathname, int flags, mode_t mode)
输入参数:pathname,
路径名;flags,O_RDONLY或O_WRONLY
或O_RDWR,分别对应着只读,只写,或读写操作;mode,使用许可说明
函数说明:打开文件或设备,返回一个文件描述符(读写中使用的非负整数)
返回值:  成功返回文件描述符,反之返回-1

函数原型:int
read(int file,  void
*ptr,  size_t  len)
输入参数:file文件描述符;ptr为读数据的位置指针,len读数据的长度,单位为字节
函数说明:从文件或设备中读取数据块
返回值:  成功返回读取的字节数,反之返回-1

函数原型:clock_t
times (struct tms *buf)
输入参数:buf结构体指针
函数说明:兼容newlib,tms的结构体指针如下:
    
     type
struct
{clock_t  tms_utime;
clock_t  tms_stime;
clock_t  tms_cutime;
clock_t  tms_sutime;
};
tms_utime:
CPU索取用户指令的执行时间
tms_stime:
CPU索取由系统表示的过程的执行时间
tms_cutime:所有子进程tms_utime和tms_cutime的时间之和
tms_sutime:所有子进程tms_stime和tms_sutime的时间之和
返回值:  返回时钟数,没有时钟则返回0
函数原型:int
usleep (int
us)
输入参数:us,单位为微秒
函数说明:直到us微秒后才解除阻塞,即其功能相当于延时us微秒
返回值:  成功返回0,反之为-1,有错误发生显示错误发生原因

函数原型:int
wait(int *status)
输入参数: status
进程状态指针
函数说明:功能是等候所有子进程退出,由于HAL不支持分散子进程,函数立即返回
返回值:  status内容清0,表明没有子进程;返回值为-1,且errno置为ECHILD,
表明没有子进程等候

函数原型:int write(int file, const void *ptr, size_t
len)
输入参数:file文件描述符;ptr为读数据的位置指针,len读数据的长度,单位为字节
函数说明:往文件或设备写入数据块,
返回值:  成功返回写入的字节数,也可能少于请求的长度;反之返回-1,万一有错误发生,errno被设置为发生的原因
数据的标准类型
类型 
      说明
alt_8        符号8位整数
alt_u8        无符号8位整数
alt_16       
符号16位整数
alt_u16        无符号16位整数
alt_32        符号32位整数
alt_u32       
无符号32位整数
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条