NiosII常用函数整理

时间:2022-09-03 22:09:26

NiosII常用函数整理

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位整数

函数原型: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, int size, int count, FILE * fp);
输入参数:buffer为指针;是读入数据地存放地址;size读字节数;count读字节数地数目;fp文件型指针
函数说明:从一个流中读取数据
返回值:
成功返回值为count

函数原型:int fwrite(void *ptr, int size, int count, 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(int ch, FILE *fp)
输入参数:ch字符;fp:文件型指针
函数说明:送一个字符到一个流中
返回值:
成功返回字符,反之返回-1(EOF)

函数原型:int fgetc(FILE *fp);
输入参数:fp:文件型指针
函数说明:从流中读取字符
返回值:
遇到文件结束返回-1(EOF)

函数原型:int putw(int w, FILE *fp)
输入参数:w: 字符或字; fp:文件型指针
函数说明:把一字符或字送到流中
返回值:

函数原型:int getw(FILE *fp)
输入参数:fp:文件型指针
函数说明:从流中取一整数
返回值:

函数原型:int rewind(FILE *fp)
输入参数:fp:文件型指针
函数说明:将文件指针重新指向一个流的开头
返回值:

函数原型:int fseek(FILE *fp, long offset, int fromwhere);输入参数:fp:文件型指针;offset:long型偏移量;fromwhere:起始点
起始点为0,1,2分别代表文件开始,当前位置,文件末尾
函数说明:重定位流上的文件指针
返回值:

函数原型:int ferror(FILE *fp)
输入参数:fp:文件型指针
函数说明:检测流上的错误
返回值:
未出错返回值为0,反之为非0

函数原型:long ftell(FILE *fp)
输入参数:fp:文件型指针
函数说明:返回当前文件指针,得到当前位置
返回值:
返回值为-1表示出错,反之为非0

函数原型:void clearerr(FILE *fp)
输入参数:fp:文件型指针
函数说明:复位错误标志
返回值:
出错为非0,反之为0

函数原型:char *fgets(char *string, int n, FILE *fp)
输入参数:string:字符串指针;fp:文件型指针
函数说明:从流中读取一字符串,但只从文件输入n-1个字符,后一个为'\0'结束标志位
返回值:

函数原型:nt fputs(char *string, FILE *fp)
输入参数:string:字符串指针;fp:文件型指针
函数说明:送一个字符串到一个流中
返回值:

函数原型:int feof(FILE *fp)
输入参数:fp:文件型指针
函数说明:检测流上的文件结束符
返回值:

Nios II IDE Command Line Tools
Tool Descriptor
nios2-create-system-library 创建一个新系统库工程
nios2-create-application-project 创建一个C/C++应用库工程
nios2-build-project 使用Nios II IDE编译工程,创建或更新文件编写来编译工程,该操作工程必须是存在当前的Nios II IDE工作区间
nios2-import-project 导入一个以前创建的Nios II IDE工程到当前的工作区间
nios2-delete-project 从Nios II IDE工作区间删除工程

Altera Command-Line Tools
Tool Descriptor
nios2-download 为调试或运行下载代码到目标处理器
nios2-flash-programmer 编程数据到目标板的flash存储器上
nios2-gdb-server 通过TCP,用目标Nios II处理器把GNU调试器远程的串口协议分组翻译为共同测试行动小组(JTAG)的事务
nios2-terminal 用JTAG通用异步收发机(UART)执行终止Nios II系统里面的I/O
validate_zip 核实指定的zip文件是否兼容Altera只读zip文件系统

File Conversion Utilities
Utility Descriptor
bin2flash 为下载到flash存储器上,将二进制文件转换为.flash文件
elf2dat 为适应Verilog HDL硬件仿真,将.elf可执行文件格式转换为.dat文件格式
elf2flash 为下载到flash存储器上,将.elf可执行文件格式转换为.flash文件
elf2hex 将.elf可执行文件格式转换为Intel.hex文件格式
elf2mem 在指定的Nios II系统中为存储设备生成存储内容
elf2mif 将.elf可执行文件格式转换为Quartus II内存初始化文件(.mif)格式
flash2dat 为适应Verilog HDL硬件仿真,将.flash可执行文件格式转换为.dat文件格式
mk-nios2-signaltap-mnemonic-table 获得一个.elf文件和SOPC Builder 系统文件(.ptf),创建一个.stp包含Nios II子令集记忆表和Altera's SignalTap® II logic分析仪符号的文件
sof2flash 为下载到flash存储器上,将FPGA配置文件(.sof)转换为.flash文件

Backward Compatibility Tools
Tool Descriptor
nios2-build 基于传统SDK库的编译和链接软件工程
nios2-run 下载程序到Nios II处理器,终止I/O的变成
nios2-debug 下载程序到Nios II处理器,启动洞察力的调试器
nios2-console 打开FS2命令行接口(CLI),连接到Nios II处理器,(有选择地下载代码)
IRQ

IORD_16DIRECT(BASE, OFFSET)
从地址位置为BASE+OFFSET的寄存器中直接读取16Bit的数据
IORD_8DIRECT(BASE, OFFSET)
从地址位置为BASE+OFFSET的寄存器中直接读取8Bit的数据

IOWR_32DIRECT(BASE, OFFSET, DATA)
往地址位置为BASE+OFFSET的寄存器中直接写入32Bit的数据

IOWR_16DIRECT(BASE, OFFSET, DATA)
往地址位置为BASE+OFFSET的寄存器中直接写入16Bit的数据
IOWR_8DIRECT(BASE, OFFSET, DATA)
往地址位置为BASE+OFFSET的寄存器中直接写入8Bit的数据
IORD(BASE, REGNUM)
从基地址为BASE的设备中读取偏移量为REGNUM的寄存器里面的值。寄存器的值在地址总线的范围之内。
IOWR(BASE, REGNUM, DATA)
BASE为基地址,往偏移量为REGNUM寄存器中写入数据。寄存器的值在地址总线的范围之内。
IORD_32DIRECT(BASE, OFFSET)
BASE为寄存器的基地址,OFFSET为寄存器的的偏移量。
从地址位置为BASE+OFFSET的寄存器中直接读取32Bit的数据
IORD_16DIRECT(BASE, OFFSET)
从地址位置为BASE+OFFSET的寄存器中直接读取16Bit的数据
IORD_8DIRECT(BASE, OFFSET)
从地址位置为BASE+OFFSET的寄存器中直接读取8Bit的数据

IOWR_32DIRECT(BASE, OFFSET, DATA)
往地址位置为BASE+OFFSET的寄存器中直接写入32Bit的数据

IOWR_16DIRECT(BASE, OFFSET, DATA)
往地址位置为BASE+OFFSET的寄存器中直接写入16Bit的数据
IOWR_8DIRECT(BASE, OFFSET, DATA)
往地址位置为BASE+OFFSET的寄存器中直接写入8Bit的数据

NiosII常用函数整理的更多相关文章

  1. pandas 常用函数整理

    pandas常用函数整理,作为个人笔记. 仅标记函数大概用途做索引用,具体使用方式请参照pandas官方技术文档. 约定 from pandas import Series, DataFrame im ...

  2. oracle常用函数整理

    oracle常用函数整理    1.绝对值.取余.判断数值正负函数    绝对值:ABS(n)        示例: SELECT ABS(100),ABS(-100),ABS('100') FROM ...

  3. Python 学习:常用函数整理

    整理Python中常用的函数 一,把字符串形式的list转换为list 使用ast模块中的literal_eval函数来实现,把字符串形式的list转换为Python的基础类型list from as ...

  4. JavaScript Array 常用函数整理

    按字母顺序整理 索引 Array.prototype.concat() Array.prototype.filter() Array.prototype.indexOf() Array.prototy ...

  5. mysql常用函数整理

    一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 ) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 SELECT CEIL( ...

  6. js常用函数整理

    类型转换:parseInt\parseFloat\toString 类型判断:typeof;eg:if(typeof(var)!="undefined")\isNaN 字符处理函数 ...

  7. PHP常用函数整理

    推荐网址:http://php.net/manual/zh/http://www.w3cschool.cc/php/php-ref-array.html 错误报告: error_reporting(E ...

  8. LR常用函数整理

    1,变量转参数lr_save_string("aaa","param"):将字符串"aaa"或者一个字符串变量,转变成LR的参数{param ...

  9. ABAP_常用函数整理_傻X版

    输出前导0:CONVERSION_EXIT_ALPHA_INPUT 单位转换:CONVERSION_EXIT_CUNIT_INPUT 单位换算:UNIT_CONVERSION_SIMPLE 修改订单组 ...

随机推荐

  1. Spring + SpringMVC + Druid + JPA(Hibernate impl) 给你一个稳妥的后端解决方案

    最近手头的工作不太繁重,自己试着倒腾了一套用开源框架组建的 JavaWeb 后端解决方案. 感觉还不错的样子,但实践和项目实战还是有很大的落差,这里只做抛砖引玉之用. 项目 git 地址:https: ...

  2. Android 自动安装脚本

    建立一个install.bat,写入下面 adb install -r %1PAUSE 把apk拖拽到install.bat上

  3. Azure开发者任务之二:Cloud Service项目添加到ASP.Net Web中

    假设我们正在把现有的Web应用程序或ASP.Net MVC Web应用程序迁移到云中.在这种情况下,我们需要把云服务添加到现有的Web应用程序或ASP.Net MVC Web应用程序中. 我们有一个W ...

  4. Java学习之路(一)

    小知识: 1:1973年 贝尔实验室 => c语言 2:sun 的意思是:斯坦福大学校园网 3::1994  oak 被命名为Java JDK(Java开发工具包) 1:下载JDK 2:安装JD ...

  5. jdk和eclipse位数不一致出错

    32位的eclipse无法打开:找不64位jdk6的jvm.dll文件(64位的没有这个文件).网上说法可以通过设置eclipse初始化文件xxx.ini改变方式: 直接换成了同位数的了,没去试了.

  6. Activity 【生命周期】

    不同情况下的回调 我们打开应用时先后调用了onCreate()->onStart()->onResume 当我们按BACK键时,我们这个应用程序将结束,这时候我们将先后调用onPause( ...

  7. Java Date 和 Calendar

    Java 语言的Date(日期),Calendar(日历),DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分.日期是商业逻辑计算一个关键的部分,所有的开发者都应该能够计算 ...

  8. 去除inline-block元素间的间距

    一.现象描述 真正意义上的inline-block水平呈现的元素间,换行显示或者空格隔开的情况下会有间距,这是因为浏览器在解析时,会将换行等读取成一个空格导致. 二.移出空格的方法 ① 我们可以去掉元 ...

  9. 简单的dfs题 --- POJ1321 棋盘问题

    题目链接: http://poj.org/problem?id=1321 题目大意: 你有k个棋子,若干个可以填的位置,要求填下一个棋子后其行和列不能填棋子. 思路: dfs策略 画图理解更好些: 填 ...

  10. 升级本地部署的CRM到Dynamics 365及部分新特性介绍。

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复241或者20161226可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...