prussdrv_exec_program *** buffer overflow detected ***

Hey fellows,

im using the code from shabaz BBB - High speed data acquisition and web-based UI article and I did a rewrite of the PRU programm in C to fit it on the ADC.

I wrote and tested the program in CCS over JTAG and it works quiet well. Also the shared RAM writing seems to work.

Then I took the code onto the BBB with Ubuntu, installed the PRU C-Compiler for ARM etc…

The compiler- and linkerflags are (taken from the CCS makefile):

CLPRUFLAGS = -v3 -g -k -I"./lib" -I"./include"
CLPRULINKERFLAGS = --run_linker --define=am3359 -m"" --define=pru0 --diag_warning=225 --display_error_number --diag_wrap=off --heap_size=0x100 --stack_size=0x100 --reread_libs --define=PRU_CORE=1 --warn_sections --rom_model --xml_link_info=“pru_code.xml” -o pru_code.bin link.cmd

Then I modified the the adc.c host program for loading into PRU0 because of the PINs I wired the ADC to. I also did the stuff with the device tree etc.

Now, when I run the host program it stops at


prussdrv_exec_program (PRU_NUM, "./pru_code.bin");


with the buffer overflow message I mentioned in the subject.

What does that mean? Even google finds only one slightly usefull comment on a blogpost…
I attached the source of the hostprogramm.

Kind regards,


P.S.: I discoverd that the size of the PRU programm compiled on the BBB is bigger (46kB) than the Version compiled in CCS on my Windows machine (32kB).