I'm trying to develop and debug an NDK+BIOS application based on the MCSDK 2.0.17 image_processing demo. I'm powering on the EVM as "no boot" and loading the application using the mezzanine emulator. I am finding that with a "freshly powered" board it starts OK and can ping, communicate over sockets, etc. but if I do a 'system reset' on core 0 in the CCS debugger and reload the code, it doesn't work.
I have the same behaviour if I load the MCSDK "HUA" demo using the debugger. It works on power on, but after a reset it won't ping or respond to http requests, despite appearing to bring up the stack:
[C66xx_0] QMSS successfully initialized
[C66xx_0] CPPI successfully initialized [C66xx_0] PA successfully initialized [C66xx_0] HUA version 2.00.00.04[C66xx_0] Setting hostname to tidemo-CE3530 [C66xx_0] MAC Address: 90-D7-EB-85-5B-14 [C66xx_0] EVM in StaticIP mode at 192.168.2.100[C66xx_0] Set IP address of PC to 192.168.2.101[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] Network Added: If-1:192.168.2.100 [C66xx_0] Service Status: THTTP : Enabled : : 000
This is very irritating, because you have to stop the debug session to power-cycle (or button-reset) the board seems to require restarting the CCS debug session.
I know I need the system reset between loading applications (http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/128857.aspx) because otherwise the EMAC registration fails. Is there any way to fix that? Can I add some additional hardware config code into my app that will allow it to cleanly restart in the debugger without a rest?
The other odd thing is that if I load hua using the debugger, it reports the system clock as 2000 MHz, when I expected 1000. That's really a separate question, why the EVM "quick start" guide (http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup) and the tech manual disagree about whether the DIP switches affect the PLL clock or not, but I have only managed to get consistent booting following the former. So my switch settings are all "on" except the first (=little endian) and the last (=DHCP off, because the post-beta NDK does not like my DHCP server, this seems to be a known bug as discussed on the forums).
OK, I've found that if I do a System Reset AND run the EVM GEL script "Global_Default_Setup" then everything works. I tried adding this to the GEL OnReset command but it didn't seem to work, and I don't have time to fiddle with it.
At least I don't have to keep repowering the board. It's shame I can't just hit "restart" on the the application though.
I am finding this really irritating too. Especially becuase I have to manually run the global default setup on more than one core in order to get the emac to register and my srio to work.
Have you had any luck or heard anything from TI? I would like to write whatever is necessary into the application so this isn't so finicky.
I haven't heard anything from TI. I would have thought you could get a single GEL function to run the reset on multiple cores in one step, though I haven't tried.
You can create a GEL function in your GEL file as following and use it when you need to do a system reset:
GEL_AdvancedReset("System Reset"); // issue a system reset
Global_Default_Setup(); // Re-do initialization after a system reset
This GEL function calls a system reset and then the Global_Default_Setup() sequentially.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.