When you initialized the world 2, you incremented the memory addresses with hex numbers, 0X12= 18, so the memory address incremented 18-10= 8 bytes, instead of 2. Because of that the world 2 shown differently on the output. The videos are great. Thank you for your effort.
Thanks for putting this series together! Seeing the entire process start-to-end is really valuable. I think you may have missed the opportunity for a few teaching moments here. First, big-endian vs. little-endian; the bytes showing up in the reverse order from what you wrote them as may come as a surprise to some people. As this is an extremely common error when doing low-level memory access, it was probably worth a mention. Especially since the library includes BE variants for the 16- and 32-bit operations, and some users might not realize what those are for, and that they may need to know about this when working with some auxiliary hardware that uses a different endianness than the processor. Second, at 13:35 you edited out where you fixed an error when you saw that the output wasn't what you intended, and it's quite jarring for someone who's watching closely. The process of "This wasn't what I intended; let's show how to fix it" might have been really valuable for some viewers. Third, the 32-bit write was to a memory address outside of the 8kB block you created, so the read-back didn't give the same answer. This in itself is an important cautionary tale; it's really easy to write to the wrong memory-mapped I/O by accident and really mess things up if you're not careful about constraining your pointers! This would have been a good opportunity to show that you can avoid this very common problem by making use of both the BASEADDR and the HIGHADDR in xparameters. Apart from that, it's a good video in a good series.
Very useful and interesting video. Can you please make a video showing at least a basic procedure of how to use the USB 2.0 peripheral that exists on the Digilent boards as well for sending and receiving data to a PC?
@@Augmented_AI hi I am working on sobel edge detection with xfopencv where I am using SD card to detect image. I have successfully detected image and stored in buffer. Now I am using stream based IP. So I am using axi dma. Now as we know in axi dma minimum data width is 32 so I need to store that pixel stored in buffer to register. I have my image dimension 240x320 so total pixel are 76800. And my image is 8bit . So one 32 bit register can store 4 pixel. But I don't know logic for storing 4 pixel register by register from buffer.It would be great if you can help
I think you did this tutorial with the block design from the previous lecture but I didn't understand the fact that there was no block ram in the previous design if you can explain I will be happy thanks regardless.
When you initialized the world 2, you incremented the memory addresses with hex numbers, 0X12= 18, so the memory address incremented 18-10= 8 bytes, instead of 2. Because of that the world 2 shown differently on the output.
The videos are great. Thank you for your effort.
Thanks for putting this series together! Seeing the entire process start-to-end is really valuable.
I think you may have missed the opportunity for a few teaching moments here. First, big-endian vs. little-endian; the bytes showing up in the reverse order from what you wrote them as may come as a surprise to some people. As this is an extremely common error when doing low-level memory access, it was probably worth a mention. Especially since the library includes BE variants for the 16- and 32-bit operations, and some users might not realize what those are for, and that they may need to know about this when working with some auxiliary hardware that uses a different endianness than the processor. Second, at 13:35 you edited out where you fixed an error when you saw that the output wasn't what you intended, and it's quite jarring for someone who's watching closely. The process of "This wasn't what I intended; let's show how to fix it" might have been really valuable for some viewers. Third, the 32-bit write was to a memory address outside of the 8kB block you created, so the read-back didn't give the same answer. This in itself is an important cautionary tale; it's really easy to write to the wrong memory-mapped I/O by accident and really mess things up if you're not careful about constraining your pointers! This would have been a good opportunity to show that you can avoid this very common problem by making use of both the BASEADDR and the HIGHADDR in xparameters.
Apart from that, it's a good video in a good series.
Hi Ritesh. You haven't mentioned the github repository link for the code in the description. Please mention the link. Thanks!
Very useful and interesting video. Can you please make a video showing at least a basic procedure of how to use the USB 2.0 peripheral that exists on the Digilent boards as well for sending and receiving data to a PC?
Hi, are you using jtag or micro usb cable?, I cant connect to sdk terminal, says it could not find board
Full zynq course and full vivado course links are not working which you mentioned in the description.
Helpful tutorial👍
Thank you 😊
@@Augmented_AI hi I am working on sobel edge detection with xfopencv where I am using SD card to detect image. I have successfully detected image and stored in buffer. Now I am using stream based IP. So I am using axi dma. Now as we know in axi dma minimum data width is 32 so I need to store that pixel stored in buffer to register. I have my image dimension 240x320 so total pixel are 76800. And my image is 8bit . So one 32 bit register can store 4 pixel. But I don't know logic for storing 4 pixel register by register from buffer.It would be great if you can help
@Augmented Startups I didnt find any git repositories as you mentioned in this video
The git has been migrated to www.github.com/AugmentedStartups
Hey, I wanted to ask that can we directly read txt file in Xilinx SDK directly, like we did in C.
if not then how we can do it.
Sorry I have a question,May I know why the result continuously showing in SDK terminal after I run the code
I think you did this tutorial with the block design from the previous lecture but I didn't understand the fact that there was no block ram in the previous design if you can explain I will be happy thanks regardless.
Can u give the block diagram ?
Hi Ritesh. Please provide the file of the code.
All of the files and code can be found inside the course.
Github: github.com/reigngt09/Zynq_Exercise_06