Gentlemen,
I'm on a Windows 7 64-bit PC, developing code for an AM3358 on the AM335x Starter Kit, using CCS Version: 6.1.2.00015, and have recently installed Processor SDK RTOS AM335x v2.00.02.11, and SYS/BIOS 6.45.01.29 (installs with the PDK) released just about a week ago or so, and I am using XDCtools 3.32.00.06.
I am doing some test projects in order to get up to speed with TI-RTOS (SYS/BIOS with the PDK).
In my last few projects, here and there I ran into an error message in the Console I/O window about something that happened. In one case it was input clock speed on a timer, out of stack space on another, and missing heap space on another. In any case, they usually ended up being issued from the Error_raiseX() function in
C:\ti\xdctools_3_32_00_06_core\packages\xdc\runtime\Error.c
I looked closely at the source code and tried to trace down the answer to my question (#1 below), but I get lost when some of the source code seems to be only in a binary library (and this may be my own incorrect interpretation). A specific: in Error.c::Error_policyDefault() function, it appears the answer to my question below MIGHT be in the Error_setX() function where it takes a CString 'file' variable and converts it into a number for the error message. However, when I try to trace down the source code, "Error_setX" seems to be translated (by a #define) to "xdc_runtime_Error_setX__E", and I have not been able to find ANY function definition for xdc_runtime_Error_setX__E() anywhere in my TI source code that I have installed....
So I am coming here to ask.
1.
The below screenshot is an example error message. (I caused this one on purpose just to provide a live example for this question.) In 2 places in this message there is reference to a module number. Specifically, the first example is:
"[CortxA8] {module#9}: line 52: error {id:0x30000, args:[0x0, 0x20]}
Exception occurred in ThreadType_Main.
..."
Sometimes it has been easy to determine which module called Error_raiseX() and sometimes it hasn't. So would be very helpful here is if there is a standard way of translating module number (e.g. in the above "{module#9}") to the .C source file that it is referring to (that contains line 52 named in the error message)?
Here is the screenshot that contains the whole error message:
2.
When a function traces down to (e.g. in Error.h) code like this:
/* setX__E */
#define xdc_runtime_Error_setX xdc_runtime_Error_setX__E
xdc__CODESECT(xdc_runtime_Error_setX__E, "xdc_runtime_Error_setX")
__extern xdc_Void xdc_runtime_Error_setX__E( xdc_runtime_Error_Block *eb, xdc_runtime_Types_ModuleId mod, xdc_CString file, xdc_Int line, xdc_runtime_Error_Id id, xdc_IArg arg1, xdc_IArg arg2 );
How can I trace this down to the actual source code? Is it indeed present in my installation? Under some other name, perhaps? (I have been scanning for the string inside *.C, *.H, *.S and *.ASM files.)
I DID find the above string (xdc_runtime_Error_setX__E) in a library file that it is no doubt linking to:
<bios>\packages\gnu\targets\arm\rtsv7A\lib\gnu.targets.arm.rtsv7A.aa8fg
but where is the source code that defines what it does???
Kind regards,
Vic