Forum Discussion
11 Replies
- KennyT_altera
Super Contributor
Hi,
Kindly take note that they will be some slowness on the first reply due to the public holiday, we will get back to you as soon as possible.
Thanks
- Jeet14
Frequent Contributor
Hi,
Which one you are targeting the baremetal application or Linux or MicroC/OS II ?
Regards
Tiwari
- RubenPadial
Contributor
Hello,
I'm working on Linux.
- Jeet14
Frequent Contributor
Hi,
In linux you need to write the socket programming to build the TCP/IP application over ethernet for server or client on board.
It is generic way of writing the linux TCP/IP app. For reference you can refer below link
https://www.geeksforgeeks.org/tcp-server-client-implementation-in-c/
For HPS & FPGA data transfer, please refer the below link. Same need to be implemented for Arria 10.
https://github.com/robertofem/CycloneVSoC-examples/tree/master/Linux-modules/DMA_PL330_LKM_basic
Regards
Tiwari
- RubenPadial
Contributor
Hello @Jeet14,
Thank you for this information.
If I'm not wrong, the example you sent me about DMA is to manage data between HPS and FPGA memories once data is received by an Linux client application in the HPS. That's very useful but it will be very helpful if you could give more details about how to build/run the client app for the Arria 10 HPS.
Thank you in advance
- Jeet14
Frequent Contributor
Hi,
Let me know if you have any other query on this matter.
Regards
Tiwari
- Jeet14
Frequent Contributor
Hi,
In linux you need to write the socket programming to build the TCP/IP application over ethernet for server or client on board.
It is generic way of writing the linux TCP/IP app. For reference you can refer below link
https://www.geeksforgeeks.org/tcp-server-client-implementation-in-c/
For your reference, you can follow steps as hello world application.
Add yocto application and compile using meta-bake.py script
$cd meta-intel-fpga-refdes/
$mkdir recipe-example
$mkdir helloworld
$cd helloworld
Add the .c & .h files and create the helloworld.bb file in helloworld directory. Snapshot from the helloworld.bb file.
$nano helloworld.bb
SUMMARY = "Example hello world" DESCRIPTION = "helloworld in HPS"
AUTHOR = "Test_engineer"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
inherit systemd pkgconfig
SRC_URI = "file://helloworld.c"
S = "${WORKDIR}"
do_compile() {
${CC} ${CFLAGS} ${LDFLAGS} helloworld.c -o helloworld
}
do_install() {
install -d ${D}${bindir}
install -m 0755 helloworld ${D}${bindir}
}
Regards
Tiwari
- RubenPadial
Contributor
Hello @Jeet14
Thanks for the information.
Is EDS needed to create the TCP/IP client application or the application to transfer data from HPS to FPGA memory?
Is it necessary to create a linux yocto with the custom applications/recipes?
Is there any detailed guide?
- Jeet14
Frequent Contributor
Hi,
You need to use the EDS for creating the preloader or uboot.
For creating the linux userspace application, you need to use the host linux machine where you need to use the intel cross compiler or yocto application method.
please refer the create your project with timer example for arria 10. ethernet TCP/IP not availble but you are try the previous links and follow the same steps.
https://www.rocketboards.org/foswiki/Documentation/UsingYoctoExtendibleSdkForApplicationDevelopment
Regards
Tiwari
- Jeet14
Frequent Contributor
Hi,
Let me know if you have any query on this.
Regards
Tiwari
- Jeet14
Frequent Contributor
Hi,
I believe your enqury has been answered. With that, I now transition this thread to community support.
Thank you.
Best Regards,
Tiwari
p/s: If any answer from the community or Intel Support are helpful, please feel free to give best answer or rate 4/5 survey.