This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
A project that I'm working on requires UDP and TCP streaming of audio data over a Local Area Network. We're using the EVM6678L for development. I'm trying to use the client_evm6678l project that accompanies the ndk (network developers kit) and CCS. I can compile, load and run the code, but the DSP does not appear to register an IP address over my network. The output at the terminal is shown below:
[C66xx_0] QMSS successfully initialized
[C66xx_0] CPPI successfully initialized
[C66xx_0] PA successfully initialized
[C66xx_0]
[C66xx_0] TCP/IP Stack Example Client
[C66xx_0] Configuring DHCP client
[C66xx_0] PASS successfully initialized
[C66xx_0] Ethernet subsystem successfully initialized
[C66xx_0] Ethernet eventId : 48 and vectId (Interrupt) : 7
[C66xx_0] Verify_Init: Expected 0 entry count for gRxQHnd= 704, found 22 entries
[C66xx_0] Verify_Init: Expected 0 entry count for Queue number = 704, found 22 entries
[C66xx_0] Verify_Init: Expected 0 entry count for Queue number = 4095, found 21 entries
[C66xx_0] Warning:Queue handler Verification failed
[C66xx_0] Registration of the EMAC Successful, waiting for link up ..
[C66xx_0] Service Status: DHCPC : Enabled : : 000
[C66xx_0] Service Status: Telnet : Enabled : : 000
[C66xx_0] Service Status: HTTP : Enabled : : 000
[C66xx_0] Service Status: DHCPC : Enabled : Running : 000
[C66xx_0] Service Status: DHCPC : Enabled : Fault : 002
[C66xx_0] Service Status: DHCPC : Disabled : : 000
[C66xx_0] Service Status: DHCPC : Enabled : : 000
[C66xx_0] Service Status: DHCPC : Enabled : Running : 000
[C66xx_0] Service Status: DHCPC : Enabled : Fault : 002
[C66xx_0] Service Status: DHCPC : Disabled : : 000
[C66xx_0] Service Status: DHCPC : Enabled : : 000
[C66xx_0] Service Status: DHCPC : Enabled : Running : 000
[C66xx_0] Service Status: DHCPC : Enabled : Fault : 002
[C66xx_0] Service Status: DHCPC : Disabled : : 000
[C66xx_0] Service Status: DHCPC : Enabled : : 000
[C66xx_0] Service Status: DHCPC : Enabled : Running : 000
These messages appear to be printed by the following line(s) of code:
static void ServiceReport( uint Item, uint Status, uint Report, HANDLE h ){
platform_write( "Service Status: %-9s: %-9s: %-9s: %03d\n",
TaskName[Item-1], StatusStr[Status],
ReportStr[Report/256], Report&0xFF );
...
}
It's unclear to me what Fault: 002 refers to. Can anyone shed some light on this? If this is a DHCP error and it can be resolved by configuring a static IP that would be fantastic, as our project does not require DHCP. So, I have essentially two questions:
Also, to circumvent what appears to be a DHCP issue, I attempted to configure the code to use a static IP. I've used the following settings:
char *HostName = "tidsp";
char *LocalIPAddr = "192.168.1.12";
char *LocalIPMask = "255.255.255.0"; // Not used when using DHCP
char *GatewayIP = "192.168.1.1"; // Not used when using DHCP
char *DomainName = "demo.net"; // Not used when using DHCP
char *DNSServer = "0.0.0.0"; // Used when set to anything but zero
The mask and gateway settings are known to work with my desktop, which has registered a static IP at 192.168.1.11. The output at the console for this code:
[C66xx_0] QMSS successfully initialized
[C66xx_0] CPPI successfully initialized
[C66xx_0] PA successfully initialized
[C66xx_0]
[C66xx_0] TCP/IP Stack Example Client
[C66xx_0] PASS successfully initialized
[C66xx_0] Ethernet subsystem successfully initialized
[C66xx_0] Ethernet eventId : 48 and vectId (Interrupt) : 7
[C66xx_0] Verify_Init: Expected 16 entry count for gTxFreeQHnd queue 736, found 30 entries
[C66xx_0] Verify_Init: Expected 0 entry count for gRxQHnd= 704, found 37 entries
[C66xx_0] Verify_Init: Expected 0 entry count for Queue number = 704, found 37 entries
[C66xx_0] Verify_Init: Expected 0 entry count for Queue number = 4095, found 23 entries
[C66xx_0] Warning:Queue handler Verification failed
[C66xx_0] Registration of the EMAC Successful, waiting for link up ..
[C66xx_0] Network Added: If-1:192.168.1.12
[C66xx_0] Service Status: Telnet : Enabled : : 000
[C66xx_0] Service Status: HTTP : Enabled : : 000
It would be nice if more of these demos worked 'out of the box' as opposed to requiring troubleshooting to get the code working. The demonstration application that comes flashed into the EVM's NOR flash acquires a DHCP address perfectly fine, while (ostensibly) the same application that comes pre-built with the MCSDK does not. I've come across several posts that indicate some DHCP discovery problems are associated with a (possibly) inappropriate choice of the SZOPTIONS macro in dhcp.h, which was modified in the 2.00 release of the NDK (Network Development Kit). Following those forum posts I've rebuilt the NDK with the suggested SZPTIONS (changed from 512 -> 312) and am still running into the same issues. I'm completely stuck and would really appreciate some help in just getting this demonstration application running.
Here's a link to the DaVinci forum, where users have experienced similar errors:
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/99/p/6182/226520.aspx?PageIndex=1
In an attempt to troubleshoot my network I configured my linux PC with the following /etc/networking/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.11
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
This works. I would like to implement something similar on my Evaluation Kit.
So, I have two questions:
1.) What is the source of the DHCP errors and what can be done to resolve it?
2.) How do I configure a static IP for use with this example code?
Thanks,
-Brant
Hi Brant,
Please see the link http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide#Solving_the_Verify_Init:_warnings_when_executing_Demos.2FNDK_Examples_from_CCS. It have more information (and workaround) for this issue.
Regards
Sajesh
Thanks Sajesh,
That removed the verify init printf's, but I still cannot register an IP, either with a static IP or with DHCP. I really need a helping hand here and would appreciate the help.
Thanks,
-Brant
Here's a little more information:
After I connect to the target and run the setup:
C66xx_0: GEL Output: Setup_Memory_Map...
C66xx_0: GEL Output: Setup_Memory_Map... Done.
C66xx_0: GEL Output: Global Default Setup...
C66xx_0: GEL Output: C6678L GEL file Ver is 1.5
C66xx_0: GEL Output: Setup Cache...
Global_Default_Setup() cannot be evaluated.
target is not connectedC66xx_0: GEL Output:
Connecting Target...
C66xx_0: GEL Output: DSP core #0
C66xx_0: GEL Output: No initialization performed since bootmode = 0x00000005
C66xx_0: GEL Output: You can manually initialize with GlobalDefaultSetup
C66xx_0: GEL Output: Global Default Setup...
C66xx_0: GEL Output: C6678L GEL file Ver is 1.5
C66xx_0: GEL Output: Setup Cache...
C66xx_0: GEL Output: L1P = 32K
C66xx_0: GEL Output: L1D = 32K
C66xx_0: GEL Output: L2 = ALL SRAM
C66xx_0: GEL Output: Setup Cache... Done.
C66xx_0: GEL Output: PLL1 Setup...
C66xx_0: GEL Output: PLL1 Setup for DSP @ 1000.0 MHz.
C66xx_0: GEL Output: SYSCLK2 = 333.3333 MHz, SYSCLK5 = 200.0 MHz.
C66xx_0: GEL Output: SYSCLK8 = 15.625 MHz.
C66xx_0: GEL Output: PLL1 Setup... Done.
C66xx_0: GEL Output: Power on all PSC modules and DSP domains...
C66xx_0: GEL Output: Set_PSC_State... Timeout Error #03 pd=2, md=9!
C66xx_0: GEL Output: Power on all PSC modules and DSP domains... Done.
C66xx_0: GEL Output: PA PLL is using SYSCLK/ALTCORECLK as the input
C66xx_0: GEL Output: PA PLL is in PLL mode
C66xx_0: GEL Output: PA PLL fixed output divider = 2
C66xx_0: GEL Output: PA PLL programmable multiplier = 21
C66xx_0: GEL Output: PA PLL programmable divider = 1
C66xx_0: GEL Output: the output frequency should be 10 times the PA reference clock
C66xx_0: GEL Output: configSGMIISerdes Setup... Begin
C66xx_0: GEL Output:
SGMII SERDES has been configured.
C66xx_0: GEL Output: Enabling EDC ...
C66xx_0: GEL Output: L1P error detection logic is enabled.
C66xx_0: GEL Output: L2 error detection/correction logic is enabled.
C66xx_0: GEL Output: MSMC error detection/correction logic is enabled.
C66xx_0: GEL Output: Enabling EDC ...Done
C66xx_0: GEL Output: Configuring CPSW ...
C66xx_0: GEL Output: Configuring CPSW ...Done
C66xx_0: GEL Output: DDR begin (1333 auto)
C66xx_0: GEL Output: XMC Setup ... Done
C66xx_0: GEL Output:
DDR3 initialization is complete.
C66xx_0: GEL Output: DDR done
C66xx_0: GEL Output: Global Default Setup... Done.
Then I load the application:
C:\Program Files\Texas Instruments\mcsdk_2_00_00_beta2\demos\hua\evmc6678l\Debug\hua_evmc6678l.out
C66xx_0: GEL Output: Invalidate All Cache...
C66xx_0: GEL Output: Invalidate All Cache... Done.
C66xx_0: GEL Output: DSP Reset CPU...
C66xx_0: GEL Output: DSP Reset CPU... Done.
C66xx_0: GEL Output: Disable all EDMA3 interrupts and events
Running the application:
[C66xx_0] Start BIOS 6
[C66xx_0] HPDSPUA version 2.00.00.02 Beta 2
[C66xx_0] Setting hostname to TMDSEVMC6678L6832
[C66xx_0] Configuring DHCP client
[C66xx_0] QMSS successfully initialized
[C66xx_0] CPPI successfully initialized
[C66xx_0] PASS successfully initialized
[C66xx_0] Ethernet subsystem successfully initialized
[C66xx_0] eventId : 48 and vectId : 7
[C66xx_0] Timeout waiting for reply from PA to Pa_addMac command
[C66xx_0] Add_MACAddress failed
[C66xx_0] Error: Unable to register the EMAC
[C66xx_0] NIMUIOCTL Failed with error code: -22
[C66xx_0] Service Status: DHCPC : Failed : : 000
[C66xx_0] Service Status: THTTP : Enabled : : 000
This is a pre-built application, I would imagine this runs 'out of the box', but unfortunately it does not. I'd like to re-use portions of this application code for my own project, so I need to track down the sources of these errors.
Thanks,
-Brant
Hello Again,
For a split second this morning I was able to get this application to load and run as it's intended. Here's the output from the console:
[C66xx_0] QMSS successfully initialized
[C66xx_0] CPPI successfully initialized
[C66xx_0] PA successfully initialized
[C66xx_0]
[C66xx_0] TCP/IP Stack Example Client
[C66xx_0] Configuring DHCP client
[C66xx_0] PASS successfully initialized
[C66xx_0] Ethernet subsystem successfully initialized
[C66xx_0] Ethernet eventId : 48 and vectId (Interrupt) : 7
[C66xx_0] Registration of the EMAC Successful, waiting for link up ..
[C66xx_0] Service Status: DHCPC : Enabled : : 000
[C66xx_0] Service Status: Telnet : Enabled : : 000
[C66xx_0] Service Status: HTTP : Enabled : : 000
[C66xx_0] Service Status: DHCPC : Enabled : Running : 000
[C66xx_0] Network Added: If-1:192.168.1.121
[C66xx_0] Service Status: DHCPC : Enabled : Running : 017
I was able to load the webpage at the specified address and everything seemed right in the world, although I still had no idea what I had done to correct the issue I had been having. Upon completing a clean, then build operation the code the previous issues re-surfaced. I am blown away. I've tried everything I can think of. No one else in the TI forums seems to have had a problem registering the EMAC. Can someone please shed some light on this issue?
-Brant
I have exactly the same problem with the mcsdk_2_00_00_beta2 on C6670.
the example uns out of the box from EEPROM but fails from CCS.
Same errors:
when running gel file I get Set_PSC_State... Timeout Error #03 pd=2, md=9!
and it fails the task queue verification and does not manage to get the DHCP client address. (exactly with the same errors)
Aymeric,
Is this a typo, did you mean MCSDK 2.1.0? If not, you need to update to the latest MCSDK:
http://software-dl.ti.com/sdoemb/sdoemb_public_sw/bios_mcsdk/latest/index_FDS.html
Let us know. I've only ever seen the PSC timeout message when running the wrong gel file.
Regards,
Travis
Travis,
The software I installed straight frpm the DVD provided when I purchased the EVM had a lot of issues.
One of this issues (and this is not a typo) with the beta2 version was the gel file generating an error.
Upgrading the CCS and MCSDK resolved this issues. I have many other and particularly this one:
http://e2e.ti.com/support/embedded/bios/f/355/p/216535/764033.aspx#764033
thanks for getting back to me.
Aymeric