This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to use the amba bus?

Hello,

i have the Zedboard which contains arm Cortex-A9 cortex with the amba bus..

i have searched a lot but I probaly miss the point.

i want to use data and to transfer  data from the processing system to the programable logic section via the amba bus

is there any library for c that have function to implement the amba bus ?

for example

sendDatatobus(data,addr)

or something like that?

how do I do it?

thank you!

idan.

  • Hi Idan

    I recommend you refer to the Zynq-7000 user manual to drive and use AMBA.

    but for the functions, search the web for a kernel that supports Zynq-7000, then you can find the functions and sources for AMBA and other peripherals in the kernel.

    I found the optimized functions for "AT91SAM9260" in Linux kernel(https://www.kernel.org), which is provided by Atmel and is embedded in the kernel.

    or you can ask Xilinx for software support.

    Good luck

    Mohammad

  • I want to use data and to transfer  data from the processing system to the programable logic section via the amba bus. Is there any library for c that have function to implement the amba bus ?

    Assuming you have solved the hardware side of things and managed to wire up your peripherals in the programmable logic area, the AMBA bus itself is just address based. The programmable logic region is assigned a portion of the AMBA address map, and your peripheral should exist in that area, so you can write to the peripheral just by writing data out via pointers which point at the appropriate peripheral memory slave address.

    HTH,
    Pete

  • The hardware cores that you connect to the AMBA bus have a corresponding device driver. This driver includes all needed functionality and clear documentation. You can use Vivado or XPS to generate your SoC and then SDK to view device driver documentation and implement application software. All tools are available through Xilinx. I am not aware if ARM DS5 can be used instead of Xilinx SDK, but if I find I will keep you informed.