Hi,
I am working in a application that use ndk example helloWorld as
template. Basically my code resides in udpHello between receives data and where it send echo.
All was working well, I was adding code and it was working well
until I add some extra functions more and appeared this(highlighted lines) in console window:
[C66xx_0] QMSS successfully initialized
CPPI successfully initialized
PA successfully initialized
TCP/IP Stack 'Hello World!' Application
TCP/IP Stack 'Hello World!' Application
PASS successfully initialized
Ethernet subsystem successfully initialized
Ethernet eventId : 48 and vectId (Interrupt) : 7
Registration of the EMAC Successful, waiting for link up ..
Service Status: DHCPC : Enabled : : 000
Service Status: DHCPC : Enabled : Running : 000
Network Added: If-1:10.88.2.90
Service Status: DHCPC : Enabled : Running : 017
ti.sysbios.knl.Task: line 330: E_stackOverflow: Task 0x80029f88 stack overflow.
xdc.runtime.Error.raise: terminating execution
Here is what the program is suppose to do:
I have helloWorld.exe in PC and I modified it in order
to send using UDP a bunch of data of messages of about 350 characters each one, representing 10 sets.
DSP receives that information and store 10 sets of data consisting of index(integer), latitude(double) and
longitude(double). At the end of transmission there would be 10540 sets stored in tree arrays: one for index, one for
longitude and one for latitude.
1) The only thing is intended the application is search, given a position P(longitude, latitude), the nearest position in
the 10540 elements, until here everything is ok but when I start to add some extra functions intended for improve the search
the program show Stack Overflow. This implies 10540*(4bytes) + 2*10540*(8bytes)= 210.800 kBytes
2) What modifies the extra functions? I add arrays of indexation that keeps where certain range of values are stored, this to facilitate
the search. The mos important of extra functions just checks if there is non-zero ranges near to P. This are 2 two-dimensional arrays of size 181*361 and contain integer(4bytes?) values. This implies 2*181*361*(4bytes) =522.728 kbytes
I think the code is not too much, I think it must be related to the amount of memory I am using for 10540 sets and indexation arrays, that because they use almost 750Kbytes
But this amount of arrays are used in raw images, I try buffers of 720*480*2 bytes= 691.2 kBytes, so I am a little confused about what can be really the cause.
I created other thread a few days in BIOS section but it was a little difficult to find out what cause this problem.
I am trying to comment some code and try to find the problem but until now nothing clear.
I expect you can give some advices about what to test, and if it is possible how to test it because I have not experience
in all debugging tools.
Here are the environment:
Board:
TMDSEVM6678LE
Emulator:
Xds560v2 Mezanine card
Tools:
CCS v5.3.0.00090
XDCtools version 3.23.4.60
MCDSK 2.1.2.5
MCSDK PDK TMS3206678 1.1.2.5
NDK 2.21.1.38
SYS/BIOS 6.33.6.50
Libraries
math.h
stdio.h
string.h
SWITCHES
Sw3-sw6, sw9
0111 1111 1111 1111 11
I got stuck into this a few days ago and this doesn´t let me go on with the
project.
I will appreciate your help.
Julian