Author psswirhun
Recipients psswirhun
Date 2021-02-04.23:02:15
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1612479735.84.0.0858749069189.issue43131@roundup.psfhosted.org>
In-reply-to
Content
A workaround is using memoryview (as reported here: https://stackoverflow.com/questions/53492716/python-writing-to-memory-in-a-single-operation). This results in only 1 transaction on the bus for some reason.

import os, mmap
fd = os.open("/dev/mem", os.O_RDWR | os.O_SYNC)
mapping = mmap.mmap(fd, 4096, flags=mmap.MAP_SHARED, prot=(mmap.PROT_READ | mmap.PROT_WRITE), offset=0x80000000)
mv = memoryview(mapping)
mv_as_int32 = mv.cast('I')  # Note "I" works as intended, "L" still results in duplicate writes; "LL" is not an option
mv_as_int32[0x0 // 4] = 0xDEADBEEF  # this works; results in 1 write issued on the AXI bus
History
Date User Action Args
2021-02-04 23:02:15psswirhunsetrecipients: + psswirhun
2021-02-04 23:02:15psswirhunsetmessageid: <1612479735.84.0.0858749069189.issue43131@roundup.psfhosted.org>
2021-02-04 23:02:15psswirhunlinkissue43131 messages
2021-02-04 23:02:15psswirhuncreate