Xilinx SDK Xil_In 内存对齐

article/2025/11/10 20:36:15

SDK 的"xil_io.h"中提供了对地址的直接读写操作

不过我在实践中发现,对于Xil_In32(),当偏移为1不断读取时,会出现不正确的值。

我当时是在某连续若干地址中写了 0x0000 00ff(假如基址是0xc000 0000吧),但是读取的时候

0xc000 0001 读取的值是 0x0000 00ff;

0xc000 0002 读取的值也是 0x0000 00ff;

我就很纳闷了,这不科学啊,如果Xil_In32()是读取4个Bytes,那么0xc000 0002 读取的值应该是 0x0000 ff00;

 

后来我就怀疑是不是因为内存对齐导致的,我做了一个尝试,代码如下

Addr = 0xc5000000;u32 offset = 0;for(offset = 0; offset < VERT * HORI; ){Xil_Out32LE(Addr+4*offset, 0x00abcdef);Xil_Out32LE(Addr+4*offset+4, 0x00123456);offset+=2;}u32 value;for(offset = 0; offset < 160; offset++){value = Xil_In8(Addr+offset);printf("Mem 0x%x is 0x%x \r\n",Addr+offset,value);}for(offset = 0; offset < 160; offset++){value = Xil_In32(Addr+offset);printf("Mem 0x%x is 0x%x \r\n",Addr+offset,value);}

最终输出结果如下

Mem 0xc5000000 is 0xef Mem 0xc5000001 is 0xcd Mem 0xc5000002 is 0xab Mem 0xc5000003 is 0x0 Mem 0xc5000004 is 0xef Mem 0xc5000005 is 0xcd Mem 0xc5000006 is 0xab Mem 0xc5000007 is 0x0 Mem 0xc5000008 is 0xef Mem 0xc5000009 is 0xcd Mem 0xc500000a is 0xab Mem 0xc500000b is 0x0 Mem 0xc500000c is 0xef Mem 0xc500000d is 0xcd Mem 0xc500000e is 0xab Mem 0xc500000f is 0x0 Mem 0xc5000010 is 0xef Mem 0xc5000011 is 0xcd Mem 0xc5000012 is 0xab Mem 0xc5000013 is 0x0 Mem 0xc5000014 is 0xef Mem 0xc5000015 is 0xcd Mem 0xc5000016 is 0xab Mem 0xc5000017 is 0x0 Mem 0xc5000018 is 0xef Mem 0xc5000019 is 0xcd Mem 0xc500001a is 0xab Mem 0xc500001b is 0x0 Mem 0xc500001c is 0xef Mem 0xc500001d is 0xcd Mem 0xc500001e is 0xab Mem 0xc500001f is 0x0 Mem 0xc5000020 is 0xef Mem 0xc5000021 is 0xcd Mem 0xc5000022 is 0xab Mem 0xc5000023 is 0x0 Mem 0xc5000024 is 0xef Mem 0xc5000025 is 0xcd Mem 0xc5000026 is 0xab Mem 0xc5000027 is 0x0 Mem 0xc5000028 is 0xef Mem 0xc5000029 is 0xcd Mem 0xc500002a is 0xab Mem 0xc500002b is 0x0 Mem 0xc500002c is 0xef Mem 0xc500002d is 0xcd Mem 0xc500002e is 0xab Mem 0xc500002f is 0x0 Mem 0xc5000030 is 0xef Mem 0xc5000031 is 0xcd Mem 0xc5000032 is 0xab Mem 0xc5000033 is 0x0

http://chatgpt.dhexx.cn/article/8lkcbWaT.shtml

相关文章

对Xil_Out32未定义的引用

第一次在HLS中遇见一个官方库函数未定义问题&#xff0c;这就把解决方法记录下来。 在创建好工程&#xff0c;写完工程代码后&#xff0c;发现报错如下 ./src/led_controller_test_tut_4A.o&#xff1a;在函数‘main’中&#xff1a;/home/greedyhao/Projects/LearningAndWor…

vivado sdk中xil_out函数对指定的BRAM地址写数据为什么会导致程序挂起?

是有关zynq芯片的网口程序调试的&#xff0c;我在例程lwip_echo_server程序中加入了往指定的bram地址写数据的语句&#xff0c;想要实现PS到PL数据的交互&#xff0c;但是程序执行到xil_out这块直接就运行不下去了&#xff0c;也不会打印下面的东西 下面是BRAM地址在SDK中的声明…

vivado 仿真报错:ERROR: [VRFC 10-2987] ‘xxxxx‘ is not compiled in library ‘xil_defaultlib‘

在Design Sources窗口下&#xff0c;选中报错的IP&#xff0c;比如除法器&#xff0c;右键&#xff1a; 选择第一个Autumatic Update and Compile Order即可。

仿真出现[VRFC 10-2263] Analyzing Verilog fileinto library xil_defaultlib

再Vivado导入quartus的.v文件出现如下情况&#xff0c;仿真例化时例化的模块都是问号。 让我们去仿真文件夹看看。 INFO: [VRFC 10-2263] Analyzing Verilog file "E:/FPGA/sdram0/sdram/sdram.srcs/sim_1/imports/tb_sdram_init/tb_sdram_init.v" into library xil…

GF框架+XIL 项目整合

项目unity版本:2020.3.18f1 XIL版本&#xff1a;Commits on Oct 26, 2021 GameFramework版本&#xff1a;Commits on Sep 28, 2021 UnityGameFramework版本&#xff1a;Commits on Oct 28, 2021 StarForce版本&#xff1a;Commits on Aug 9, 2021 HFS版本&#xff1a;2.3 项目克…

有关 MicroBlaze中xil_prinf/pirntf/print的一些问题

三个函数有什么区别 1.依赖的库文件不同 printf使用C标准库头文件stdio.h print/xil_printf使用xilinx定义的头文件xil_printf.h 2.能够输出的格式不同 print只能打印字符串,不可以带参数格式化输出&#xff0c;函数在print.c中定义 xil_printf可以带参量打印&#xff0c;但是不…

只针对个人遇见卡在Xil_DataAbortHandle循环while的解决办法

只针对本人所遇见的情况&#xff1a; 部分代码&#xff1a;unique_ptr<SatNoSnr[]> SatNo_Snr_Read_main(new SatNoSnr[Wrtie_Num]);// SatNo_Snr_Read_mainflash->FlashRead_JuYan(Wrtie_Num); 当SatNoSnr结构体是129字节(sizeof是136字节)时&#xff0c;上面一…

ZYNQ开发系列——SDK输出串口选择以及打印函数print、printf、xil_printf的差别

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 ZYNQ开发系列——SDK输出串口选择以及打印函数print、printf、xil_printf的差别 前言两个串口到底是谁在打印&#xff1f;print 和 printf 和 xil_printf 前言 在最初的hell…

MBD开发模式下的XIL仿真测试

MBD开发模式下的XIL仿真测试 “想了解MBD模式下的MIL、SIL、PIL、HIL吗&#xff1f;”——虹科 汽车从一个发动机加上几个轮子的简单形态发展到如今机械与电子高度融合的复杂整体&#xff0c;经历了巨变。汽车电子控制单元的数量和复杂度也呈几何级数增加&#xff0c;给软硬件…

SSM 三大框架原理、核心技术,运行流程讲解

作者:arrows 来源:https://www.cnblogs.com/arrows/p/10537733.html 一、Spring部分 1、 Spring的运行流程 第一步&#xff1a;加载配置文件ApplicationContext ac new ClassPathXmlApplicationContext(“beans.xml”); &#xff0c;ApplicationContext接口&#xff0c;它由…

SSM框架介绍以及功能原理

SSM是spingspringMVCmybatis集成的框架。 Spring框架概述 什么是Spring Spring是一个开源框架&#xff0c;Spring是于2003 年兴起的一个轻量级的Java 开发框架&#xff0c;由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来…

ssm框架项目完整流程详解

springMVC项目完整流程详解 1.创建一个maven项目2.修改项目配置&#xff0c;添加tomcat&#xff0c;生成web.xml3.在pom.xml中引入需要用到的包并update project4.在resources下建立如下图所示结构&#xff0c;并创建springmvc-servlet.xml、spring-mybatis.xml、druid.propter…

SSM三大框架工作流程与原理详解

作者&#xff1a;网络笨猪 blog.csdn.net/lyfqyr/article/details/84552278 一、Spring部分 1、Spring的运行流程 第一步&#xff1a;加载配置文件ApplicationContext ac new ClassPathXmlApplicationContext("beans.xml");&#xff0c;ApplicationContext接口&…

SSM框架原理,作用及使用方法,详细解释

1、基本概念 1.1、Spring Spring是一个开源框架&#xff0c;Spring是于2003 年兴起的一个轻量级的Java 开发框架&#xff0c;由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的…

【SSM框架执行流程】

一、单个业务执行流程&#xff1a; 1.tomcat启动: 加载应用的web.xml 2.实例化并初始化Servlet 3.加载spring.xml配置文件创建spring容器&#xff0c;根据配置初始化容器中的对象。 4.浏览器客户端发送请求&#xff0c;例如Hello() 5.请求到达前端控制器&#xff1a;Dispa…

SSM框架原理流程及使用方法

作用&#xff1a; ssm框架是spring MVC &#xff0c;spring和mybatis框架的整合&#xff0c;是标准的MVC模式&#xff0c;将整个系统划分为表现层&#xff0c;controller层&#xff0c;service层&#xff0c;DAO层四层 使用springMVC负责请求的转发和视图管理 spring实现业务…

SSM框架的整合原理以及执行流程

一、SSM框架的整合流程&#xff1a; 1 Spring与Mybatis整合 &#xff1a;关键在于spring-mybatis.xml配置文件&#xff0c;主要配置自动扫描、自动注入以及数据库等。前提是要配置好JDBC属性文件jdbc.properties. <?xml version"1.0" encoding"UTF-8"…

SSM三大框架的运行流程、原理、核心技术详解

一、Spring部分 1、Spring的运行流程 第一步&#xff1a;加载配置文件ApplicationContext ac new ClassPathXmlApplicationContext("beans.xml"); &#xff0c;ApplicationContext接口&#xff0c;它由BeanFactory接口派生而来&#xff0c;因而提供了BeanFactory所…

SSM框架整合以及运行流程

最近工作中开发的项目使用了Spring-springMVC-Mybatis框架进行开发&#xff0c;今天来总结写这段时间对SSM框架的理解。在对SSM框架整合前&#xff0c;先对框架的每层的作用以及它们之间的关系做一个简单的介绍。 一、SSM框架中各层级间的作用及关系 表现层&#xff08;sprin…

SSM框架原理及使用方法

作用&#xff1a; SSM框架是spring MVC &#xff0c;spring和mybatis框架的整合&#xff0c;是标准的MVC模式&#xff0c;将整个系统划分为表现层&#xff0c;controller层&#xff0c;service层&#xff0c;DAO层四层 使用spring MVC负责请求的转发和视图管理 spring实现业…