Hello,
I'm using LoggerSM to send Log_print messages from the DSP to the host. This is a follow-on post to my question from last week here:
http://e2e.ti.com/support/embedded/bios/f/355/t/195224.aspx
I am writing the C674x DSP code for a DM816x. We're using sysbios 6.32.05.54, and CCS 5.1.0.09000.
When I use the .cfg file settings copied from the other project, I get this error message:
js: "C:/CCStudio_v5.1/uia_1_00_03_25/packages/ti/uia/runtime/ServiceMgr.xs", line 81: XDC runtime error: wrong type of return value: getDefaultTransport
"C:/CCStudio_v5.1/uia_1_00_03_25/packages/ti/uia/services/Rta.xs", line 58
"C:/CCStudio_v5.1/uia_1_00_03_25/packages/ti/uia/sysbios/LoggingSetup.xs", line 325
xdctools_3_22_04_46\gmake.exe: *** [package/cfg/PolyDspMillennium_pe674.xdl] Error 1
If I add this line in my .cfg file the error goes away:
ServiceMgr.transportType = ServiceMgr.TransportType_FILE;
The reason I'm fiddling with settings is because I am seeing corrupted logging messages and am looking for the cause. I see logging such as this after running "logcat" in the serial port:
D/mengine ( 443): CRIT hd[0]: AudioManager: Started speaker things
D/mengine ( 443): DEBUG dsp[0] »µ³þŽìñZ¿±;ŠýN—åÙßuý»ÿü®å·yíõkÜ£âîß½Ïmo¿ùFk“?}Fï¯÷]»ÍgÕÞþõyç»ïöíúª/»ùOfëûŸÒ
í¯¥ß½>
D/mengine ( 443): DEBUG hd[0]: AudioManager: AudioCmd returned err=0, response str = " audioChanInit complete
"
D/mengine ( 443): DEBUG dsp[0] #:00002 T:00000002900c58a9 S:what the fruit?
Sometimes the messages from "dsp[0]" are clean and sometimes they aren't. It looks like memory is being stomped on. If I run the existing project's dsp.out file there is no corruption so I did not suspect a problem on the host (ARM) side. Instead I suspect there is something wrong with my DSP settings. The DSP .map file shows that LOGGERSM is at a high address away from everything else:
MEMORY CONFIGURATION
name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------
OCMC_0 40300000 00040000 0000c000 00034000 RW X
OCMC_1 40400000 00040000 00000000 00040000 RW X
EXT_RAM 80000000 18000000 00000000 18000000 RW X
SHARED_CTRL 98000000 01000000 01000000 00000000 RW
SHARED_DATA 9eb00000 00100000 00100000 00000000 RW
DDR2 ac000000 03f00000 01455740 02aaa8c0 RW X
EDMA aff00000 00100000 00000000 00100000 RW
LOGGERSM b2d00000 00100000 00100000 00000000 RW
What is the likely cause of the Log_print corruption? Am I following the wrong path by looking for something related to ServiceMgr.transportType? In spruh43b.pdf, it says "If you do not specify a transportType, UIA picks an appropriate transport
implementation to use based on your device. The defaults are found
using the ti.uia.family.Settings module. If the device is unknown to
ServiceMgr, TransportType_ETHERNET is used."
So it looks to me like the "device" is not properly specified because transportType is not specified but UIA is not picking an appropriate transport. The call to Settings.getDefaultTransport(); in ServiceMgr.xs is failing although the error message is confusing because it says the return *type* is wrong.
Thanks,
Annie