NIOS常用函数详解.docx

上传人:b****7 文档编号:10904816 上传时间:2023-02-23 格式:DOCX 页数:11 大小:20.17KB
下载 相关 举报
NIOS常用函数详解.docx_第1页
第1页 / 共11页
NIOS常用函数详解.docx_第2页
第2页 / 共11页
NIOS常用函数详解.docx_第3页
第3页 / 共11页
NIOS常用函数详解.docx_第4页
第4页 / 共11页
NIOS常用函数详解.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

NIOS常用函数详解.docx

《NIOS常用函数详解.docx》由会员分享,可在线阅读,更多相关《NIOS常用函数详解.docx(11页珍藏版)》请在冰豆网上搜索。

NIOS常用函数详解.docx

NIOS常用函数详解

NIOS II常用函数详解

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:

函数原型:

intalt_dma_rxchan_close(alt_dma_rxchanrxchan)

输入参数:

rxchan为接收信道

函数说明:

函数alt_dma_rxchan_close()通知系统:

应用程序已经完成DMA

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

返回值:

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

函数原型:

alt_dma_rxchan_depth(alt_dma_rxchandma)

输入参数:

dma

函数说明:

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

返回值:

 DMA的最大数量

函数原型:

intalt_dma_rxchan_ioctl(alt_dma_rxchandma,intreq,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(constchar*name)

输入参数:

name为常数字符指针,如/dev/dma_0

函数说明:

为DMA接收信道获得一个alt_dma_rxchan描述符

返回值:

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

函数原型:

intalt_dma_rxchan_prepare(alt_dma_rxchan dma,void*data,

alt_u32length,alt_rxchan_done*done,void*handle)

输入参数:

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

函数说明:

发送一个接收请求到DMA接收信道,

返回值:

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

函数原型:

intalt_dma_rxchan_reg(alt_dma_rxchan_dev*dev)

输入参数:

dev接收信道设备名

函数说明:

给系统寄存DMA接收信道

返回值:

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

函数原型:

intalt_dma_txchan_close(alt_dma_txchantxchan)

输入参数:

txchan发送信道名

函数说明:

通知系统:

应用程序已经完成DMA发送信道txchan

返回值:

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

函数原型:

int alt_dma_txchan_ioctl(alt_dma_txchandma,intreq,void*arg)

输入参数:

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

函数说明:

通过DMA发送信道执行设备的具体I/O操作

返回值:

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

函数原型:

alt_dma_txchan alt_dma_txchan_open(constchar*name)

输入参数:

name为常数字符指针,如/dev/dma_0

函数说明:

为DMA发送信道获得一个alt_dma_rxchan描述符

返回值:

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

函数原型:

int alt_dma_txchan_reg(alt_dma_txchan_dev*dev)

输入参数:

dev接收信道设备名

函数说明:

给系统寄存DMA发送信道

返回值:

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

函数原型:

intalt_dma_txchan_send(alt_dma_txchandma,constvoid*from,

alt_u32length,alt_txchan_done*done,void*handle)

输入参数:

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

函数说明:

发送一个发送请求到DMA发送信道,

返回值:

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

函数原型:

ntalt_dma_txchan_space(alt_dma_txchandma)

输入参数:

dma直接存储器名

函数说明:

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

返回值:

 返回发送请求数目

Flash

函数原型:

intalt_erase_flash_block(alt_flash_fd*fd,intoffset,intlength)

输入参数:

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(constchar*name)

输入参数:

函数说明:

打开flash设备。

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

返回值:

 失败返回0,成功其他值

函数原型:

intalt_get_flash_info(alt_flash_fd*fd,flash_region**info,

int*number_of_regions)

输入参数:

fdflash设备;info指向flash_region结构体的指针;number_of_regions

函数说明:

得到擦除flash区域的细节

返回值:

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

函数原型:

intalt_read_flash(alt_flash_fd*fd,intoffset,void*dest_addr,intlength)

输入参数:

dest_addr目标地址指针

函数说明:

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

返回值:

 成功返回0,反之为非0

函数原型:

intalt_write_flash(alt_flash_fd*fd,intoffset,constvoid*src_addr,

intlength)

输入参数:

src_addr源地址;fd,flash设备;offset偏移量;length字节长度

函数说明:

写数据到flsah中,要写的数据在源地址src_addr中

返回值:

 成功返回0,反之为非0

函数原型:

intalt_write_flash_block(alt_flash_fd*fd,intblock_offset,intdata_offset,

constvoid*data,intlength)

输入参数:

fd;data_offset起始写数据的偏移量;length为要写数据的长度

函数说明:

写入到一个已擦除的flash模块

返回值:

 成功返回0,反之为非0

Irq

函数原型:

alt_irq_context alt_irq_disable_all(void)

输入参数:

void

函数说明:

禁止所有中断

返回值:

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

函数原型:

voidalt_irq_enable_all(alt_irq_contextcontext)

输入参数:

先前调用函数alt_irq_disable_all(void)的返回值,

函数说明:

启动所有中断

返回值:

 -

函数原型:

intalt_irq_enabled(void)

输入参数:

void

函数说明:

启动中断

返回值:

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

函数原型:

intalt_irq_register(alt_u32id,void*context,void(*isr)(void*,alt_u32))

输入参数:

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

函数说明:

寄存一个isr

返回值:

 成功返回0,反之为非0

函数原型:

intalt_write_flash(alt_flash_fd*fd,intoffset,constvoid*src_addr,

intlength)

输入参数:

src_addr源地址;fd,flash设备;offset偏移量;length字节长度

函数说明:

写数据到flsah中,要写的数据在源地址src_addr中

返回值:

 成功返回0,反之为非0

函数原型:

intalt_write_flash_block(alt_flash_fd*fd,intblock_offset,intdata_offset,

constvoid*data,intlength)

输入参数:

fd;data_offset起始写数据的偏移量;length为要写数据的长度

函数说明:

写入到一个已擦除的flash模块

返回值:

 成功返回0,反之为非0

函数原型:

intclose(intfiledes)

输入参数:

filedes,描述符

函数说明:

标准的UNIX函数close(),关闭文件描述符filedes

返回值:

 成功返回0,反之为-1

函数原型:

intopen(constchar*pathname,intflags,mode_tmode)

输入参数:

pathname,路径名;flags,O_RDONLY或O_WRONLY或O_RDWR,分别对应着只读,只写,或读写操作;mode,使用许可说明

函数说明:

打开文件或设备,返回一个文件描述符(读写中使用的非负整数)

返回值:

 成功返回文件描述符,反之返回-1

函数原型:

intread(intfile, void*ptr, size_t len)

输入参数:

file文件描述符;ptr为读数据的位置指针,len读数据的长度,单位为字节

函数说明:

从文件或设备中读取数据块

返回值:

 成功返回读取的字节数,反之返回-1

函数原型:

clock_ttimes(structtms*buf)

输入参数:

buf结构体指针

函数说明:

兼容newlib,tms的结构体指针如下:

         typestruct

{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

函数原型:

intusleep(intus)

输入参数:

us,单位为微秒

函数说明:

直到us微秒后才解除阻塞,即其功能相当于延时us微秒

返回值:

 成功返回0,反之为-1,有错误发生显示错误发生原因

函数原型:

intwait(int*status)

输入参数:

status进程状态指针

函数说明:

功能是等候所有子进程退出,由于HAL不支持分散子进程,函数立即返回

返回值:

 status内容清0,表明没有子进程;返回值为-1,且errno置为ECHILD,           表明没有子进程等候

函数原型:

intwrite(intfile,constvoid*ptr,size_tlen)

输入参数:

file文件描述符;ptr为读数据的位置指针,len读数据的长度,单位为字节

函数说明:

往文件或设备写入数据块,

返回值:

 成功返回写入的字节数,也可能少于请求的长度;反之返回-1,万一有错误发生,errno被设置为发生的原因

数据的标准类型

类型 说明

alt_8 符号8位整数

alt_u8 无符号8位整数

alt_16 符号16位整数

alt_u16 无符号16位整数

alt_32 符号32位整数

alt_u32 无符号32位整数

下面为自己整理

函数原型:

int fopen(char*file_name,way_use);

输入参数:

file_name文件名,way_use使用文件方式,比如r,w分别对应着读写

函数说明:

打开文件,对其进行某种文件操作

返回值:

 打不开则出错,返回一个空指针NULL

函数原型:

int fclose(fp)

输入参数:

fp的定义为:

FILE*fp

函数说明:

关闭文件fp

返回值:

 成功返回0,反之为-1(EOF)

函数原型:

int fread(void*ptr,intsize,intcount,FILE*fp);

输入参数:

buffer为指针;是读入数据地存放地址;size读字节数;count读字节数地数目;fp文件型指针

函数说明:

从一个流中读取数据

返回值:

 成功返回值为count

 

函数原型:

int fwrite(void*ptr,intsize,intcount,FILE*fp)

输入参数:

buffer为指针;是读入数据地存放地址;size读字节数;count读字节数地数目;fp文件型指针,

函数说明:

写内容到流中

返回值:

 成功返回值为count

 

函数原型:

int fprintf(FILE*fp,char*format[,argument,...]);

输入参数:

fp文件型指针;format格式字符串;[,argument,...]输出列表,如:

         fprintf(fp,“%d,%f”,i,t)

函数说明:

传送格式化输出到一个流中

返回值:

 -

函数原型:

int fscanf(FILE*fp,char*format[,argument...])

输入参数:

fp文件型指针;format格式字符串;[,argument,...]输入列表,如:

         fscanf(fp,“%d,%f”,i,t)

函数说明:

从一个流中执行格式化输入

返回值:

 -

函数原型:

int fputc(intch,FILE*fp)

输入参数:

ch字符;fp:

文件型指针

函数说明:

送一个字符到一个流中

返回值:

 成功返回字符,反之返回-1(EOF)

函数原型:

int fgetc(FILE*fp);

输入参数:

fp:

文件型指针

函数说明:

从流中读取字符

返回值:

 遇到文件结束返回-1(EOF)

函数原型:

int putw(intw,FILE*fp)

输入参数:

w:

字符或字;fp:

文件型指针

函数说明:

把一字符或字送到流中

返回值:

 -

函数原型:

int getw(FILE*fp)

输入参数:

fp:

文件型指针

函数说明:

从流中取一整数

返回值:

 -

函数原型:

intrewind(FILE*fp)

输入参数:

fp:

文件型指针

函数说明:

将文件指针重新指向一个流的开头

返回值:

 -

 

函数原型:

intfseek(FILE*fp,longoffset,intfromwhere);

输入参数:

fp:

文件型指针;offset:

long型偏移量;fromwhere:

起始点

         起始点为0,1,2分别代表文件开始,当前位置,文件末尾

函数说明:

重定位流上的文件指针

返回值:

 -

 

函数原型:

intferror(FILE*fp)

输入参数:

fp:

文件型指针

函数说明:

检测流上的错误

返回值:

 未出错返回值为0,反之为非0

函数原型:

longftell(FILE*fp)

输入参数:

fp:

文件型指针

函数说明:

返回当前文件指针,得到当前位置

返回值:

 返回值为-1表示出错,反之为非0

 

函数原型:

voidclearerr(FILE*fp)

输入参数:

fp:

文件型指针

函数说明:

复位错误标志

返回值:

 出错为非0,反之为0

函数原型:

char*fgets(char*string,intn,FILE*fp)

输入参数:

string:

字符串指针;fp:

文件型指针

函数说明:

从流中读取一字符串,但只从文件输入n-1个字符,后一个为‘\0’结束标志位

返回值:

 -

函数原型:

ntfputs(char*string,FILE*fp)

输入参数:

string:

字符串指针;fp:

文件型指针

函数说明:

送一个字符串到一个流中

返回值:

 -

函数原型:

intfeof(FILE*fp)

输入参数:

fp:

文件型指针

函数说明:

检测流上的文件结束符

返回值:

 -

 

NiosIIIDECommandLineTools

Tool Descriptor

nios2-create-system-library 创建一个新系统库工程

nios2-create-application-project 创建一个C/C++应用库工程

nios2-build-project 使用NiosIIIDE编译工程,创建或更新文件编写来编译工程,该操作工程必须是存在当前的NiosIIIDE工作区间

nios2-import-project 导入一个以前创建的NiosIIIDE工程到当前的工作区间

nios2-delete-project 从NiosIIIDE工作区间删除工程

AlteraCommand-LineTools

Tool Descriptor

nios2-download 为调试或运行下载代码到目标处理器

nios2-flash-programmer 编程数据到目标板的flash存储器上

nios2-gdb-server 通过TCP,用目标NiosII处理器把GNU调试器远程的串口协议分组翻译为共同测试行动小组(JTAG)的事务

nios2-terminal 用JTAG通用异步收发机(UART)执行终止NiosII系统里面的I/O

validate_zip 核实指定的zip文件是否兼容Altera只读zip文件系统

FileConversionUtilities

Utility Descriptor

bin2flash 为下载到flash存储器上,将二进制文件转换为.flash文件

elf2dat 为适应VerilogHDL硬件仿真,将.elf可执行文件格式转换为.dat文件格式

elf2flash 为下载到flash存储器上,将.elf可执行文件格式转换为.flash文件

elf2hex 将.elf可执行文件格式转换为Intel.hex文件格式

elf2mem 在指定的NiosII系统中为存储设备生成存储内容

elf2mif

 将.elf可执行文件格式转换为QuartusII

内存初始化文件(.mif)格式

flash2dat

 为适应VerilogHDL硬件仿真,将.flash可执行文件格式转换为.dat文件格式

mk-nios2-

signaltap-mnemonic-table 获得一个.elf文件和SOPCBuilder系统文件(.ptf),创建一个.stp包含NiosII子令集记忆表和Altera’sSignalTap?

IIlog

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1