[笔记].关于Nios II的数据类型的一点想法
鄙人觉得Nios II HAL自带的数据类型宏真的不好用,而且还有个alt_前缀,移植很麻烦。
代码1 alt_types.h
#ifndef __ALT_TYPES_H__
#define __ALT_TYPES_H__/******************************************************************************
* *
* License Agreement *
* *
* Copyright (c) 2003 Altera Corporation, San Jose, California, USA. *
* All rights reserved. *
* *
******************************************************************************//* * Don't declare these typedefs if this file is included by assembly source.*/
#ifndef ALT_ASM_SRC
typedef signed char alt_8;
typedef unsigned char alt_u8;
typedef signed short alt_16;
typedef unsigned short alt_u16;
typedef signed long alt_32;
typedef unsigned long alt_u32;
typedef long long alt_64;
typedef unsigned long long alt_u64;
#endif#define ALT_INLINE __inline__
#define ALT_ALWAYS_INLINE __attribute__ ((always_inline))
#define ALT_WEAK __attribute__((weak))#endif /* __ALT_TYPES_H__ */
我习惯于使用STM32的数据类型宏,因为都是32位的RISC处理器,所以都是通用的,推荐大家也使用。哈哈,看起来都比较清爽。
代码2 my_types.h
// copy from stm32f10x_type.h#ifndef MY_TYPES_H_
#define MY_TYPES_H_typedef signed long s32;
typedef signed short s16;
typedef signed char s8;typedef signed long const sc32; /* Read Only */
typedef signed short const sc16; /* Read Only */
typedef signed char const sc8; /* Read Only */typedef volatile signed long vs32;
typedef volatile signed short vs16;
typedef volatile signed char vs8;typedef volatile signed long const vsc32; /* Read Only */
typedef volatile signed short const vsc16; /* Read Only */
typedef volatile signed char const vsc8; /* Read Only */typedef unsigned long u32;
typedef unsigned short u16;
typedef unsigned char u8;typedef unsigned long const uc32; /* Read Only */
typedef unsigned short const uc16; /* Read Only */
typedef unsigned char const uc8; /* Read Only */typedef volatile unsigned long vu32;
typedef volatile unsigned short vu16;
typedef volatile unsigned char vu8;typedef volatile unsigned long const vuc32; /* Read Only */
typedef volatile unsigned short const vuc16; /* Read Only */
typedef volatile unsigned char const vuc8; /* Read Only */typedef enum {FALSE = 0, TRUE = !FALSE} bool;#endif /* MY_TYPES_H_ */
下面给个my_types.h的使用范例。
代码3 PIO寄存器结构体
#include "my_types.h"// PIO Data structure
typedef struct
{vu32 DATA : 32;vu32 DIRECTION : 32;vu32 INTERRUPT_MASK : 32;vu32 EDGE_CAPTURE : 32;}PIO_T;
转载于:https://www.cnblogs.com/yuphone/archive/2010/11/25/1887687.html
[笔记].关于Nios II的数据类型的一点想法相关推荐
- Nios II 系统的Avalon总线
开始接触fpga 的 Nios II 软核处理器,对其中比较重要的总线协议做一下笔记 基于Nios II处理器的片内系统互连主要依靠的是Avalon-MM总线和Avalon-ST总线. Nios II ...
- [原创].关于编写Nios II的延时函数的一点心得
平台 硬件:nios/f 100MHz 软件: 内容 0 一点说明 本文仅讨论所述平台的一点心得,若其他等级的nios或优化,请自行研究. 1 usleep()有多准 参考[笔记].怎样使用Nios ...
- [笔记].如何使用Nios II的中断:PIO中断与定时器中断
引子 定时器中断,我以前在艾米电子论坛发帖讨论过:PIO中断我在博客里也讨论过,最近发现以前的总结有一点小错误.于是结合我最近玩触摸屏的一点点心得,写篇博文. 软硬件环境 硬件:艾米电子EP2C8核心 ...
- [笔记].浅析在Nios II中的两种寄存器映射方法的异同
此处以我所写的MAX7219为范例,从HDL接口描述到C语言软件编程,分析两种表面不一样.但实质是一样的寄存器映射方法,找出其中联系与区别. 方法1 使用Altera提供的API 1. 使用HDL描述 ...
- 工程师的NIOS II学习笔记(转)
来源:嵌入式在线 作者:山城棒棒儿军 发布时间:2009-09-22 12:29:31 Nios Development Board Reference Manual, Stratix II Edit ...
- [笔记].Nios II 软核性能基准
一些表格 表1 Nios II处理器系统的最大时钟频率(tMAX)(MHz) 表2 Nios II处理器系统的MIPS(每秒钟一百万个指令) 表3 在不同设备家族上的Nios II处理器系统的MI ...
- NIOS II spi详解
1.说明 本文是依据笔者阅读<Embedded Peripherals (ver 9.0, Mar 2009, 4 MB).pdf>参考文档所作的个人理解,可以看做是笔记吧. 本文只讲NI ...
- [原创][连载].基于SOPC的简易数码相框 - Nios II SBTE部分(软件部分) - 从SD卡内读取图片文件,然后显示在TFT-LCD上...
实在很抱歉,时间紧张,我只讲怎样从SD卡内读取bin文件(二进制文件),然后现在TFT-LCD上. 准备工具 1. Image2Lcd.zip 操作步骤 步骤1 寻找或制作240x320的图片 简单起 ...
- [原创].怎样制作一个简单ip,以方便在Quartus II和Nios II中使用?
概述:此处,我以Lcd12864(ST7920)作为范例,进行粗浅讲解,望各位网友踊跃拍砖. 0 软硬件环境 软件:Altera Quartus II 9.1 + Nios II 9.1 Sof ...
最新文章
- System.Transactions介绍
- android应用可以访问/dev下设备节点
- 【机器学习入门笔记10:TensorFlow矩阵基础】20190217
- C语言将正整数转换为字符串(附完整源码)
- Spring JMS,消息自动转换,JMS模板
- 判断dll是版本(Debug Or Release)[测试通过]
- 算法题008 快速找出故障机器
- 用JavaScript修改Canvas图片的分辨率(DPI)
- Ajax请求返回200 OK,但是会引发错误事件而不是成功
- 区块链学习笔记(二)
- sklearn2pmml模型转化实践
- 【STM32】 AMS1117(稳压)模块
- word中字体大小(pt)和网页中css设置font-size时用的px大小对应关系
- 大数据必备技能_大数据需要具备的5种必备技能
- Cantor(有理数)
- 网课查题API接口(免费)
- CoreData基础
- 转行程序员后,我开始后悔没做这件事
- Android studio 安装配置SDK
- 玩游戏显示计算机丢失,win7玩游戏提示缺少D3DCompiler_47.dll文件怎么处理
热门文章
- git解决代码提交冲突
- 在wamp 2.0环境下面安装Zend Optimizer的方法
- helper.js(20170612)
- 面向对象的软件测试技术
- hdu 2295 Radar 重复覆盖+二分
- 【Web】Eclipse + Maven + Struts搭建服务器
- Jsp页面中常用的EL表达式
- ASP.NET 验证控件
- 设置Eclipse智能提示(转)
- c winform 上传文件到mysql_Winform下如何上传图片并显示出来。同时保存到数据库...