Reading address space
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Share projects and connect with makers.
Joined before the site update? first.
New to WIZnet Makers?
We sent a verification link to your address. Open it to activate your account, then log in.
Accounts from this email provider are reviewed by an administrator after verification. Approval usually takes one business day.
Already have an account?
Enter your email address. If it belongs to an account, we'll send a link to set a new password. Members who joined before the site update use this to set their password.
If an account uses that address, we sent a link to set a new password. The link works once and expires in 30 minutes.
Know your password?
Need an account?
RE: Reading address space
by suhwan ·
Hi Candela12
[quote]To put it differently; If I’m reading the sockets RX buffer or writing the TX buffer in VDM mode, and I’m writing/reading 500 bytes from address 0xFFF0, will I get the 16 bytes in the top of the buffer and 500-16=484 bytes starting with address 0 ?
[/quote]
Yes. Your understand is right.
I can’t understand fully. Please, explain than again.
Thanks,
RE: Reading address space
by Candela12 ·
[quote=“Candela12”] To put it differently; If I’m reading the sockets RX buffer or writing the TX buffer in VDM mode, and I’m writing/reading 500 bytes from address 0xFFF0, will I get the 16 bytes in the top of the buffer and 500-16=484 bytes starting with address 0 ?
That is good to hear. This is another thing that makes the w5500 superior to the w5200.
[quote=“Candela12”]
I read/write payloads with DMA, and breaking up the read/write will insert the second packets header address+control byte) into the payload, needing yet again extra checks, since I can’t throw them away like in the normal case.
[quote=“suhwan”]
I can’t understand fully. Please, explain than again. [/quote][/quote]
If the part autowraps two reads are not needed, so there is no problem.
But I’ll explain anyway,
If one just reads SPI manually, the SPI reads corresponding with the header bytes are thrown away (not added to the incoming buffer), so the incoming buffer only contains data bytes from RX.
But with DMA everything goes automatically, and the DMA part doesn’t know about headers, so the reads are registered.
assume I read 8 bytes from 0xFFFC with DMA. If the VDM read wouldn’t wrap automatically, I would need two reads and my incoming buffer would look like:
adrhi0 adrlo0 controlbyte0 data0 data1 data2 data3 adrhi1 adrlo1 controlbyte1 data0 data1 data2 data3
0xFF 0xFC ?? (0xFFFC) (0xFFFD) (0xFFFE) (0xFFFF) 0 0 ?? (0) (1) (2) (3)
where the second line is a value or the value from an RX address if in parenthesis like (0xFFFF) and the buffer parsing would be more complicated to take care of the second header (adrhi1…controlbyte1), and thus slower just to take care of the overflow once every 64k.