Hello,
is it possible to use the tcp/ip stack of the ndk with the c6412? The c6412 is not mentioned in the list of supported devices.
Best Regards
Steffen
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,
is it possible to use the tcp/ip stack of the ndk with the c6412? The c6412 is not mentioned in the list of supported devices.
Best Regards
Steffen
Steffen,
The core TCP/IP stack works with all C64x and C64x+ families of devices, however you will have to create the device drivers to communicace with the Ethernet MAC - we don't have any ports to C6412 since it does not have an EMAC peripheral built into the device.
To help you, NDK 2.0 ships with complete device driver source code for several devices, therefore you have examples on how to create one.
You can also refer to the following media wiki page that talks about porting the device drivers to other DSPs:
http://tiexpressdsp.com/index.php/Guidelines_when_porting_NDK_to_different_PHYs
Hope this helps,
Rafael
Hello Rafael,
Are you sure that the C6412 has no EMAC peripheral? The feature list of the C6412 contains the following:
10/100 Mb/s Ethernet MAC (EMAC)
Are there differences between C6412, C6424, C6747 for the EMAC peripheral?
Maybe you can help me.
Best Regards,
Steffen
Steffen,
You are totally right; I was confused since for a while the only C64x part that had internal EMAC was DM642, but C6412 came out with the same peripheral (they share a common peripheral datasheet: SPRUS628A).
Given this, you will have better luck trying to use the DM642 device driver source supplied with NDK 2.0, however some adaptation is still needed, mostly because of CSL API calls inside its code. Also, make sure you are using a similar PHY as the one in the DM642EVM (check details here) or additional changes may be needed.
The example project also requires some adaptation. Load the <client.pjt> and modify the DSP/BIOS configuration file for C6412 - since the memory maps are very similar between the two devices, you may have some luck leaving it as it is. Make sure you are also using the correct CSL. There are some calls to the BSL in the file <dm642init.c> that will need to be removed or the BSL source code will have to be changed - that depends on your board.
With regards to the C6424/DM6437, their EMAC peripherals will require even further changes, therefore may not be your best bet.
Hope this helps,
Rafael