Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1150383
  • 博文数量: 173
  • 博客积分: 4048
  • 博客等级:
  • 技术积分: 2679
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-12 18:53
文章分类

全部博文(173)

文章存档

2018年(1)

2016年(1)

2013年(1)

2012年(118)

2011年(52)

分类: 嵌入式

2011-11-12 16:10:36

在NIOS程序中可以通过两种方式访问外设:
1、通过NIOS的IO函数(IORD 和 IOWR 等)完成对外设的读写;
2、通过C语言的指针对IO地址段操作(如 *((int *)PWM_0_BASE+3)=1);
但这两种操作是有区别的:
IORD/IOWR : 直接读写,肯定不经过cache。
指针间接访问 :会读写cache,除非特定情况. (【1】 CPU没有cache,或【2】绕过cache读写)
因此如果在NIOS中选择了带数据缓存的CPU则只能选IO函数的方式,否则用指针则通过数据缓存对外设的操作肯定是不对的。
阅读(2364) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~