Question is related with pcsendpkt.c and h file based upon on MCSDK( C:\Program Files\Texas Instruments\mcsdk_2_00_01_12\tools\boot_loader\examples\ethernet\Ethernet_boot )
and
bootpacket.c and h file (C:\Program Files\Texas Instruments\mcsdk_2_00_01_12\tools\boot_loader\examples\ethernet\Utilities)
In server code, pcsendpkt.c,
There are delay between packets defined.
In the following code, it depends on host CPU’s operation clock, optimization…etc.
What is the delay to be guaranteed for HOST packet transmission?
//////////////////////// code from Server side //////////////////
#define DELAY 60000
/* add delay between packets */
for(i=0; i<DELAY; i++) {
tmp4 = tmp3;
tmp3 = tmp4;
}
Question 2.
What is the Max UDP packet size in DSP boot?
//In server code,
#define MAX_PAYLOAD_LEN 244
//#define MAX_PAYLOAD_LEN 1176
#define MAX_BOOTTBL_LEN (MAX_PAYLOAD_LEN - BOOTTBL_HEADER_LEN) /* 240 bytes */
//in server code, bootpacket.c
data.UDPlength = UDP_HEADER_LEN + BOOTTBL_HEADER_LEN + MAX_BOOTTBL_LEN;
data.IPlength = data.UDPlength + IP_HEADER_LEN;
Max size is 240 bytes. Therefore it seems to be too small. If DSP image 400Kbytes, the number of image to be transmitted would be 1706 packets.
For reference, DSP boot rom’s code ,bootconfig.h defines the following:
#define BOOTCONFIG_ETH_MAX_PKTLEN_BYTES (9 * 1024)
/* Maximum receive packet length. The hardware limit */
What is this value for?