鄙人觉得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的数据类型的一点想法相关推荐

  1. Nios II 系统的Avalon总线

    开始接触fpga 的 Nios II 软核处理器,对其中比较重要的总线协议做一下笔记 基于Nios II处理器的片内系统互连主要依靠的是Avalon-MM总线和Avalon-ST总线. Nios II ...

  2. [原创].关于编写Nios II的延时函数的一点心得

    平台 硬件:nios/f 100MHz 软件: 内容 0 一点说明 本文仅讨论所述平台的一点心得,若其他等级的nios或优化,请自行研究. 1 usleep()有多准 参考[笔记].怎样使用Nios ...

  3. [笔记].如何使用Nios II的中断:PIO中断与定时器中断

    引子 定时器中断,我以前在艾米电子论坛发帖讨论过:PIO中断我在博客里也讨论过,最近发现以前的总结有一点小错误.于是结合我最近玩触摸屏的一点点心得,写篇博文. 软硬件环境 硬件:艾米电子EP2C8核心 ...

  4. [笔记].浅析在Nios II中的两种寄存器映射方法的异同

    此处以我所写的MAX7219为范例,从HDL接口描述到C语言软件编程,分析两种表面不一样.但实质是一样的寄存器映射方法,找出其中联系与区别. 方法1 使用Altera提供的API 1. 使用HDL描述 ...

  5. 工程师的NIOS II学习笔记(转)

    来源:嵌入式在线 作者:山城棒棒儿军 发布时间:2009-09-22 12:29:31 Nios Development Board Reference Manual, Stratix II Edit ...

  6. [笔记].Nios II 软核性能基准

    一些表格 表1 Nios II处理器系统的最大时钟频率(tMAX)(MHz) 表2 Nios II处理器系统的MIPS(每秒钟一百万个指令)   表3 在不同设备家族上的Nios II处理器系统的MI ...

  7. NIOS II spi详解

    1.说明 本文是依据笔者阅读<Embedded Peripherals (ver 9.0, Mar 2009, 4 MB).pdf>参考文档所作的个人理解,可以看做是笔记吧. 本文只讲NI ...

  8. [原创][连载].基于SOPC的简易数码相框 - Nios II SBTE部分(软件部分) - 从SD卡内读取图片文件,然后显示在TFT-LCD上...

    实在很抱歉,时间紧张,我只讲怎样从SD卡内读取bin文件(二进制文件),然后现在TFT-LCD上. 准备工具 1. Image2Lcd.zip 操作步骤 步骤1 寻找或制作240x320的图片 简单起 ...

  9. [原创].怎样制作一个简单ip,以方便在Quartus II和Nios II中使用?

    概述:此处,我以Lcd12864(ST7920)作为范例,进行粗浅讲解,望各位网友踊跃拍砖.   0 软硬件环境 软件:Altera Quartus II 9.1 + Nios II  9.1 Sof ...

最新文章

  1. System.Transactions介绍
  2. android应用可以访问/dev下设备节点
  3. 【机器学习入门笔记10:TensorFlow矩阵基础】20190217
  4. C语言将正整数转换为字符串(附完整源码)
  5. Spring JMS,消息自动转换,JMS模板
  6. 判断dll是版本(Debug Or Release)[测试通过]
  7. 算法题008 快速找出故障机器
  8. 用JavaScript修改Canvas图片的分辨率(DPI)
  9. Ajax请求返回200 OK,但是会引发错误事件而不是成功
  10. 区块链学习笔记(二)
  11. sklearn2pmml模型转化实践
  12. 【STM32】 AMS1117(稳压)模块
  13. word中字体大小(pt)和网页中css设置font-size时用的px大小对应关系
  14. 大数据必备技能_大数据需要具备的5种必备技能
  15. Cantor(有理数)
  16. 网课查题API接口(免费)
  17. CoreData基础
  18. 转行程序员后,我开始后悔没做这件事
  19. Android studio 安装配置SDK
  20. 玩游戏显示计算机丢失,win7玩游戏提示缺少D3DCompiler_47.dll文件怎么处理

热门文章

  1. git解决代码提交冲突
  2. 在wamp 2.0环境下面安装Zend Optimizer的方法
  3. helper.js(20170612)
  4. 面向对象的软件测试技术
  5. hdu 2295 Radar 重复覆盖+二分
  6. 【Web】Eclipse + Maven + Struts搭建服务器
  7. Jsp页面中常用的EL表达式
  8. ASP.NET 验证控件
  9. 设置Eclipse智能提示(转)
  10. c winform 上传文件到mysql_Winform下如何上传图片并显示出来。同时保存到数据库...