📄 nios ii常用函数详解.txt
字号:
函数原型: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处理器
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的数据
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -