首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试通过/dev/mem访问大于4000字节的大小时出现总线错误

尝试通过/dev/mem访问大于4000字节的大小时出现总线错误
EN

Stack Overflow用户
提问于 2021-08-18 06:51:31
回答 1查看 47关注 0票数 0

Python /dev/mem应用程序问题我们的项目是通过套接字应用程序访问BRAM。我正在尝试通过python /dev/mem文件对BRAM进行读写。当我试图访问超过4000字节的大小时,我得到了总线错误。而且,我没有得到适当的API来将数据写入到BRAM。

我需要一个合适的/dev/mem应用程序来对BRAM执行读写操作

我的python代码如图所示

从BRAM读取数据

代码语言:javascript
复制
base_addr = raddr
virt_base = base_addr & ~(mmap.PAGESIZE - 1)
virt_offset = base_addr - virt_base
length = size
mmap_file = os.open('/dev/mem', os.O_RDWR | os.O_SYNC)
mem = mmap.mmap(mmap_file, length + virt_offset, 
                mmap.MAP_SHARED, mmap.PROT_READ | 
                mmap.PROT_WRITE, offset=virt_base)
rdbuf = np.frombuffer(mem, np.uint32, length >> 2, virt_offset)

将数据写入BRAM

代码语言:javascript
复制
base_addr = 0xa0000000
virt_base = base_addr & ~(mmap.PAGESIZE - 1)
virt_offset = base_addr - virt_base
length = size
mmap_file = os.open('/dev/mem', os.O_RDWR | os.O_SYNC)
mem = mmap.mmap(mmap_file, length + virt_offset, 
                mmap.MAP_SHARED, mmap.PROT_READ | 
                mmap.PROT_WRITE, offset=virt_base)
array = np.frombuffer(mem, np.uint32, length >> 2, virt_offset)
array[0:length] = data

致以敬意,

随机存取存储器

EN

Stack Overflow用户

发布于 2021-10-08 09:31:24

很高兴通知大家,我已经解决了使用python /dev/mem应用程序访问超过4000字节的数据时的总线错误。首先,我们需要在DTS中保留完整的布拉姆,并使布拉姆的状态被分解。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68827721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档