__IO_CALC_ADDRESS_DYNAMIC和__IO_CALC_ADDRESS_NATIVE

关于NIOS中Avalon总线的问题分析 Avalon 阅读详情

__IO_CALC_ADDRESS_DYNAMIC(BASE,OFFSET)

用于计算以动态地址对齐方式与Avalon总线互连的外设的寄存器的物理地址,其输入参数分别为外设的基地址BASE以及目标寄存器在外设中的地址偏移量OFFSET。

#define __IO_CALC_ADDRESS_DYNAMIC  ((void *)(((alt_u8*)BASE)+(OFFSET)))


__IO_CALC_ADDRESS_NATIVE (BASE,REGNUM)

用于计算以静态地址对齐方式与Avalon总线互连的外设的寄存器的物理地址,其输入参数分别为外设的基地址BASE以及目标寄存器在外设中的地址偏移量REGNUM。

#define __IO_CALC_ADDRESS_NATIVE  ((void *)(((alt_u8*)BASE)+((REGNUM)*(SYSTEM_BUS_WIDTH/8))))

__IO_CALC_ADDRESS_NATIVE 讲述了__IO_CALC_ADDRESS_NATIVE的作用, 立即下载

相关推荐

PyQtWebEngine安装避坑指南:快速解决ModuleNotFoundError

本文详细解析了PyQt5开发中常见的ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets'错误。核心原因是PyQt5 5.11版本后,网页引擎组件被独立为PyQtWebEngine包。文章对比了退回旧版本、独立安装及使用Conda等多种解决方案,并提供了针对Windows、macOS和Linux不同平台的实战安装指南与验证方法,帮助开发者快速解决依赖问题。

weixin_29056101的博客 428

Intel FPGA IP封装/AVALON接口地址/NIOS地址设置

存储器接口IP 的AVALON 总线地址和NIOS 地址关系 这里面需要注意的是地址偏移,地址偏移和地址线宽度无关,地址线宽度是地址范围的限制, 如上图地址范围从19000~191ff,一共512个地址范围,2^8 2=512, 这里之所以要乘以2,是因为数据宽度是16,包含两个字节,也就是说地址宽度所能表示的寄存器计算单位是以数据位宽为单位的,也就是8位地址线可以表示256个16位寄存器,这些寄存器的地址偏移如下,偏移是以字节为单位的,因此16位的数

yingyu12345的博客 941

贝加莱Automation Studio 4.10安装保姆级教程:从官网下载到解决.Net 3.5报错

本文提供贝加莱Automation Studio 4.10的详细安装教程,涵盖从官网下载到解决.Net 3.5报错的全过程。特别针对工业自动化开发环境中常见的.Net Framework 3.5安装问题,提供多种经过验证的解决方案,包括控制面板安装、DISM命令离线安装和手动下载安装包等方法,帮助工程师顺利完成PLC开发环境的搭建。

weixin_30955617的博客 715

unserialize的整型溢出错误

同事使用wnmp环境做本地开发,但是当从linux测试服务器中导出数据在本地调试的时候,发现使用unserialize函数解析序列化数据时报错: Notice: unserialize() [function.unserialize]: Error at offset 741 of 1242 bytes in …… 经过调试之后我发现是因为反序列化时整形数据溢出导致的,我建议其暂时

Rainyse 优快云 Blog 947

AGV避坑指南:海康控制系统与Modbus设备对接的那些‘坑’

本文深入解析海康AGV控制系统与Modbus设备对接中的常见问题及解决方案,涵盖通信协议对接、信号干扰、硬件层问题和软件优化策略。通过真实案例和实用技巧,帮助工程师规避典型陷阱,提升系统稳定性和效率。

l3m4n的博客 741

(详细教程)opencv+pycharm+笔记本摄像头 做一个人脸识别

文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 一、安装opencv-python 这里推荐使用pycharm直接安装opencv-python 打开文件——设置——python解释器——点击+号 搜索opencv-python,点击安装包,等待片刻即可安装好 检查是否安装好,新建一个项目输入以下代码,若无报错则安装好 import cv2 二、准备分类器 咱们使用opencv官方提供的分类器,包括面部识别,侧...

qq_52852432的博客 1万+

NIOS II与存储类外设连接时的问题

一篇博文:CPU与flash连接时地址线如何连接 问题:为何16Bits数据线,却连了地址线0 释疑:奇妙的Avalon总线 补充:Avalon总线概述 1、一篇博文:CPU与flash连接时地址线如何连接   Flash与S3C44B0X连接时地址线为什么要偏移一位   文中介绍的是,32位CPU内每个地址对应的一个字节,当访问32Bits的flash时没有问题,地址一一对应...

weixin_30783629的博客 343

s8654

The official Snapdragon Ride SX 4.0 development board provides standardized hardware support for the secondary development and functional verification of the s8654 platform.

qq_39257814的博客 6834

nios ii奋斗中 —>转载PIO

通用IO口常用头文件:#include "altera_avalon_pio_regs.h" 和 #include "io.h"其定义如下: #ifndef __ALTERA_AVALON_PIO_REGS_H__#define __ALTERA_AVALON_PIO_REGS_H__ #include <io.h> //IO口读写。数据宽度最大一次32位读写 #def...

weixin_34320159的博客 224

SAP 业务技术平台(BTP) Workflow(工作流)功能介绍

这背后其实发生了很多事情:Workflow 应用里 Determine Equipment Service Task 得到执行,通过 HTTP POST,消费部署在 SAP BTP 上的 Business Rules Service,后者根据我们在 Start New Instance 里传入的 Sample Data,返回自动决定出的设备明细。关于这个 SAP BTP 开发工具的更多介绍,参考我的文章:SAP 新一代全栈开发工具:SAP Business Application Studio.

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 8754

安卓讲课笔记1.1 安装Android Studio

1. 能安装配置Android Studio; 2. 能创建安卓虚拟机(AVD); 3. 能创建简单安卓应用

howard2005的专栏 3378

工作中使用到的单词(软件开发)

1.エイリアス   alias 别名 powershell使用 get-help 命令时,会得到与此命令 相关(别名)的命令 2.プロキシ proxy 代 理 3.プロモート   promote 促进,提升   开发的系统新功能上线发布,有时会使用到这个词,比如 STプロモート 还有使用リリース这个词的。比如STリリース。个人认为两者含义相同。 4.見逃し み................................................................

sun0322 6万+

泛微OA集成阿里云短信(E9保姆教程)

泛微OA集成阿里云短信(E9保姆教程)

技术分享 515

note

CPU,此处CPU与BL芯片断开,没有连背光芯片。屏,此处屏与BL芯片断开,没有连背光芯片。虽然signal函数更简单些。行 3744: 07-22 23:56:01.139 <6>[ 5.577037][ T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:66, name:[qcom,mdss-dsi-apl-bl-mode-off-command], length:16, pkt-count=1。

m0_73462935的博客 10万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【笔记】关于NIOS II PIO的几个问题

一下均来自ALTERA 《9. PIO Core》V9.0的datasheet。建议多多阅读官方文档。1.几个示例(1)控制LEDS。(2)获得来自外部的开关信息。(3)控制显示设备。(4)与外部设备通讯。注意PIO可以连接至片外与外部设备交互,亦可直接与FPGA内部逻辑相连接。2.PIO所具有的功能(1)输入...

weixin_34302561的博客 578

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

IO_ADDRESS()的实现

上面我们说了如何去在系统中自己实现一个设置系统寄存器的一个方法,上面归根到底要进行物理地址到虚拟地址的映射 现在我们就说说IO_ADDRESS()的实现 #define __REG32ALI(addr) (*((volatile unsigned long *)((addr) - ALI_REGS_PHYS_BASE + ALI_REGS_VIRT_BASE)) #define read...

leo的博客 4712

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

IOWR_ALTERA_AVALON_PIO_DATA函数用法

在Nios II中选中类如IOWR_ALTERA_AVALON_PIO_DATA的函数--->Open Definition--->会看到#define IOWR_ALTERA_AVALON_PIO_DATA(base, data)       IOWR(base, 0, data) 在这里,我们看到我们想找到的函数实际是 IOWR; 同时,其他诸如此类函数有: #define IOAD

xiangyuqxq的专栏 2万+

关于AVALON总线动态地址对齐

在NIOS的使用中,我们往往要用到自定义外设,然后通过AVALON交换架构和NIOSII进行通信。 AVALON总线,其实是一种交换架构的协议,在自定义外设挂在AVALON总线上时,一定要注意地址对齐。 AVALON总线要求自定义外设数据位宽必须为8、16、32,这样如果使用位宽为32,那么就不需要考虑对齐了。如果使用数据位宽为8,也...

weixin_30307921的博客 314

altera_avalon_pio_regs.h中的函数意义

#define IOADDR_ALTERA_AVALON_PIO_DATA(base) __IO_CALC_ADDRESS_NATIVE(base, 0)//定义从PIO_DATA读数据#define IORD_ALTERA_AVALON_PIO_DATA(base) IORD(base, 0) //定义向PIO_DATA写数据#define IOWR_...

weixin_30549657的博客 735

将32位int型变量拆成4个8位char类型变量 (2种方法)

一、用强制指针类型转换方法 #include int main () { unsigned long a=0x12345678; unsigned char *pa; unsigned char tab[4]; pa=(char *)&a; tab[0]=*((char *)pa+0); tab[1]=*((char *)pa+1); tab[2]=*((char *)p

subkiller的专栏 1万+

Code::Blocks : undefined reference to `xxxxxx@4'

使用CodeBlocks在编译程序的时候出现如下错误: undefined reference to `inet_addr@4' undefined reference to `gethostbyname@4' undefined reference to `WSAGetLastError@0' undefined reference to `inet_ntoa@4' undefined

subkiller的专栏 1万+

GCC错误:stray '/161' in program

      今天使用Code  Blocks编译程序时,编译器报错:GCC错误:stray /161 in program       仔细检查了半天,看不错什么错误。最后发现原来是因为那行出现了全角字符.      重新把出错的那行全部删了,重新输入。OK 一切搞定!     

subkiller的专栏 5221

深入浅出VC++串口编程之第三方类

 深入浅出VC++串口编程之第三方类源代码下载 <br />  串口类<br /><br />  从本系列文章连载三、四可以看出,与通过WIN32 API进行串口访问相比,通过MScomm这个Activex控件进行串口访问要来的方便许多,它基本上可以向用户屏蔽多线程的细节,以事件(发出OnComm消息)方式实现串口的异步访问。<br /><br />  尽管如此,MScomm控件的使用仍有诸多不便,譬如其发送和接收数据都要进行VARIANT类型对象与字符串的转化等。因此,国内外许多优秀的程序员自己编写了一些

subkiller的专栏 2096

关于PrefetchAbort

在LPC2132平台下调试UART,发现程序总是死在了PrefetchAbort ;取指令中止 PrefetchAbort         B       PrefetchAbort 经过仔细的查看和分析程序,原来是自己没有添加关键字__irq。导致中断程序退出异常。

subkiller的专栏 1924
上一篇: C++引用与指针的比较
下一篇: SVN:创建和删除svn服务器
subkiller
博客等级 码龄18年 141粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值