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.

Parents
  • 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

Reply
  • 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

Children
  • 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