Forum Discussion
We are using latest Kernel version.
the command "AOCL Program acl0 kernel.aocx" does not work with latest kernel version due the fact that the FPGA Bridges are controlled different in newer Kernels ....
See Source of Intels own Source located at \intelFPGA_pro\19.3\hld\board\a10soc\source\host\mmd\acl_mmd_config.cpp
// Disable communication bridges between ARM and FPGA
void ACL_MMD_CONFIG::disable_bridges()
{
int system_res = system ("echo 0 > /sys/class/fpga-bridge/fpga2hps/enable");
ACL_MMD_ASSERT(system_res != -1, "echo failed \n");
system_res = system ("echo 0 > /sys/class/fpga-bridge/hps2fpga/enable");
ACL_MMD_ASSERT(system_res != -1, "echo failed \n");
system_res = system ("echo 0 > /sys/class/fpga-bridge/lwhps2fpga/enable");
ACL_MMD_ASSERT(system_res != -1, "echo failed \n");
}
// Enable communication bridges between ARM and FPGA
void ACL_MMD_CONFIG::enable_bridges()
{
int system_res = system ("echo 1 > /sys/class/fpga-bridge/fpga2hps/enable");
ACL_MMD_ASSERT(system_res != -1, "echo failed \n");
system_res = system ("echo 1 > /sys/class/fpga-bridge/hps2fpga/enable");
ACL_MMD_ASSERT(system_res != -1, "echo failed \n");
system_res = system ("echo 1 > /sys/class/fpga-bridge/lwhps2fpga/enable");
ACL_MMD_ASSERT(system_res != -1, "echo failed \n");
}
This does not work with newer Kernels. !
there is NO /sys/class/fpga-bridges/* in Kernels after 3.X
That is the main issue why AOCL program doesnt work at all.
Hi,
Understood the complications of the kernel version, I will need to check with our internal team regarding this.
Regards.
- EBERLAZARE_I_Intel6 years ago
Regular Contributor
Hi,
For issue 2:
It is recommended to use shared memory, I could not find any information regarding on the kernel usage of nonshared memory.
https://www.intel.com/content/www/us/en/programmable/documentation/mwh1391807965224.html#ewa1412885766352