[笔记].关于Nios II的数据类型的一点想法
2010-11-25 15:20
393 查看
鄙人觉得Nios II HAL自带的数据类型宏真的不好用,而且还有个alt_前缀,移植很麻烦。
代码1 alt_types.h
我习惯于使用STM32的数据类型宏,因为都是32位的RISC处理器,所以都是通用的,推荐大家也使用。哈哈,看起来都比较清爽。
代码2 my_types.h
下面给个my_types.h的使用范例。
代码3 PIO寄存器结构体
代码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;
相关文章推荐
- 【任务笔记】关于EMC DMX-4系列数据处理的一点心得
- 关于stat函数和根据st_mode 的值获取目标文件的文件类型和用户权限,及对相关系统宏的一点想法
- 笔记--关于c语言中各种数据类型所占字节。
- OJ笔记: 关于 数据类型需要注意的题目
- 关于mysql数据类型的一点所得
- 关于Windows与Linux下32位与64位开发中的数据类型长度的一点汇总
- 关于Windows与Linux下32位与64位开发中的数据类型长度的一点汇总
- 关于Windows与Linux下32位与64位开发中的数据类型长度的一点汇总
- 笔记:关于protobuf协议传输repeated(即表/数组)类型数据出错问题。
- 从Google Analytics得到的一点启发和想法, 关于(类)实时数据统计和报表.
- Java 学习笔记15:关于web开发中,全局变量的一点想法
- 关于CLR数据类型的一点思考
- 苏嵌11月18~11月19课堂笔记关于运算符,数据类型,控制语句,数组,函数等等
- 关于操作系统各种数据类型的内存分配的一点探讨
- 关于caffe学习系列的一点补充——如何将float类型的特征数据存入lmdb
- JSE学习笔记---关于数据类型那点事儿
- 关于null的类型 的一点想法
- 关于数据类型与指针的小笔记--初始化问题&&数组
- jdbc笔记四,关于数据类型
- 关于产品与数据该如何结合的一点想法(一)