20111122 Microchip TCPIP Stack V5.31 to v5.36.4 migration

Have a major TCPIP application based on V5.21 & C32 1.10 compiler to migrate to V5.36.4 & C32 V2.01


Difference analysis betwen V5.31 & V5.36.4 standard

We don't use the wifi chip so will mostly ignore those files..

We don't use the Berkerly API so will mostly ignore those files..

Summary:

Relevant:

  • HTTP & MPFS dropped, FTP can now upload MPFS2.bin file, ability to downlaod MPFS2.bin file
  • SSL/RSA 2048 support
  • UDPOpenEx replacing UDPOpen: opens client & server sockets, does DNS/ARP & ARP retries automatically
  • SPI device libraries that were using debug freeze bits changed as no longer in v2.00

Not relevant

  • Some SNMP changes
  • Some ZeroConf changes
  • dsPIC33E PIC24E support
  • PIC10, PIC12, and PIC16 with PICC compiler support

Detail:

v5.36.4 v5.31   Used by PNP? Customised by PNP
TCPIP\DEMO App\Configs\HWP PIC32_GP_SK_ENC624.h TCPIP Demo App\Alternative Configurations\HardwareProfile PIC32_GP_SK_DM320001_ENC624J600.h No change Y Yes
TCPIP\DEMO App\Configs\TCPIP ENC624 PIC32_SK.h TCPIP Demo App\Alternative Configurations\TCPIPConfig ENCX24J600 PIC32 Starter Kits.h
  • STACK_USE_MPFS support has been removed
  • Old HTTP server defines gone
  • Old MPFS defines gone
  • #define MAX_UDP_SOCKETS reduced from 10u to 8u
Y Yes
TCPIP\DEMO App\CustomHTTPApp.c TCPIP Demo App\CustomHTTPApp.c
  • HTTPPrint_builddate returns a fixed time 00:08:00 component
No, but need to know any TCPIP config save changes Replaced by our own
TCPIP\DEMO App\CustomSNMPApp.c TCPIP Demo App\CustomSNMPApp.c
  • Lots of changes re STACK_USE_SMIV2??
No No
TCPIP\DEMO App\CustomSSLCert.c TCPIP Demo App\CustomSSLCert.c
  • Major changes must be for 2048 key support
Yes, but should 'just work' No
TCPIP\DEMO App\GenericTCPClient.c TCPIP Demo App\GenericTCPClient.c
  • SSL socket support added, fairly minor
No, but is basis for PNPServerprobe.c  
TCPIP\DEMO App\GenericTCPServer.c TCPIP Demo App\GenericTCPServer.c No change No No
TCPIP\DEMO App\MainDemo.c TCPIP Demo App\MainDemo.c
  • WF_USE_POWER_SAVE_FUNCTIONS  many changes
  • WF retry changes
  • MPFS support removed
  • dsPIC33E PIC24E overrides
Yes Yes
TCPIP\DEMO App\MainDemo.h TCPIP Demo App\MainDemo.h No change Yes ??
TCPIP\DEMO App\PingDemo.c TCPIP Demo App\PingDemo.c No change No, but some basis for PNPServerprobe.c  
TCPIP\DEMO App\SMTPDemo.c TCPIP Demo App\SMTPDemo.c No change No, but will be in near future  
TCPIP\DEMO App\UARTConfig.c TCPIP Demo App\UARTConfig.c
  • MPFS removed
  • DownloadMPFS works on MPFS2 image
Maybe No
Microchip\Common\LCDBlocking.c Microchip\Common\LCDBlocking.c
  • #include "Timer.h" becomes #include "timer.h"
Yes Yes (4 bit mode, maybe others)
Microchip\Common\TimeDelay.c Microchip\Common\TimeDelay.c
  • COMPILER_HITECH_PICC suppoer added
Yes? No
Microchip\Common\timer.c Microchip\Common\timer.c No change    
Microchip\Common\uart2.c Microchip\Common\uart2.c
  • dsPIC33E PIC24E support
Yes?  
         
Microchip\Include\Compiler.h Microchip\Include\Compiler.h
  • Added support for PIC10, PIC12, and PIC16 with PICC compiler
Yes No
Microchip\Include\GenericTypeDefs.h Microchip\Include\GenericTypeDefs.h No change Yes  
Microchip\Include\LCDBlocking.h Microchip\Include\LCDBlocking.h No change Yes Maybe
Microchip\Include\struct_queue.h Microchip\Include\struct_queue.h No change ?  
Microchip\Include\TimeDelay.h Microchip\Include\TimeDelay.h
  • Added support for PIC10, PIC12, and PIC16 with PICC compiler
   
Microchip\Include\timer.h Microchip\Include\timer.h No change ?  
Microchip\Include\uart2.h Microchip\Include\uart2..h No change Yes No
         
Microchip\Include\Crypto\.. Microchip\Include\Crypto\.. All files are identical We have SSL library, ned to check No
         

Microchip\Include\TCPIP Stack

Soo many files, only differences will be noted:

v5.36.4 v5.31   Used by PNP? Customised by PNP
BerkeleyAPI.h BerkeleyAPI.h
  • #define IPPROTO_IP added
No  
- HardwareProfileTemplate.h
  • New template building tool?
No  
- HTTP.h
  • dropped
No  
  MPFS.h
  • dropped
No  
MPFS2.h MPFS2.h
  • MPFS & MPFS2 conflict check removed
Yes Yes
RSA.h RSA.h
  • RSASetData() second param from BYTE to WORD
Maybe Yes
SNMP.h SNMP.h
  • minor changes
No  
SSL.h SSL.h
  • incluide for SSLClientSize.h
  • addition of 2048 support
Yes No
SSLClientSize.h -
  • New for 2048 key support
Not yet  
TCPIP.h TCPIP.h
  • MPFS dropped
  • HTTP dropped
Yes No I think not
- TCPIPConfigTemplate.h
  • New template building tool?
No  
UDP.h UDP.h
  • Multiple UDP sockets support maybe?:
  • Addition of UDO enum state machine: UDP_STATE
  • Expansion of UDP socket struct: UDP_SOCKET_INFO to include states
  • UDPOpenEx() replacing UDPOpen()
   
  WF_ConfigTemplate.h
  • New template building tool?
No  
WFApi.h WFApi.h
  • I dont care but is changed
No  
WFMgmtMsg.h WFMgmtMsg.h
  • I dont care but is changed
No  

Microchip\TCPIP Stack\

v5.36.4 v5.31   Used by PNP? Customised by PNP
Announce.c Announce.c
  • UDPOpenEx
Yes No
ARP.c ARP.c
  • AutoIPConflict check
  • AutoIPConfigIsInProgress check
Yes No
BigInt.c BigInt.c
  • RSA 2048 support
Yes No
DHCP.c DHCP.c
  • UDPOpenEx
Yes No
DHCPs.c DHCPs.c
  • UDPOpenEx
  • Some ZeroConf stuff gone
No  
DNS.c DNS.c
  • UDPOpenEx
Yes No
DNSs.c DNSs.c
  • UDPOpenEx
No? No
ENCX24J600.c ENCX24J600.c
  • RSA 2048 support
  • #ifdef ENC100_DEBUG
Yes Yes: Save SPISpeeds
FTP.c FTP.c
  • MPFS dropped, now can upload MPFS2
No  
Helpers.c Helpers.c
  • ultoa check as not needed if C32 > 2.00
  • CalcIPChecksum optimise?
Yes No
  HTTP.c
  • Dropped
No  
HTTP2.c HTTP2.c
  • HTTPInit() -> #if !defined(HTTP_SAVE_CONTEXT_IN_PIC_RAM) change
  • What does this do?
Yes Yes, big time
  MPFS.c
  • Dropped
No  
NBNS.c NBNS.c
  • UDPOpenEx
Yes No
Reboot.c Reboot.c
  • UDPOpenEx
No  
RSA.c RSA.c
  • RSA 2048 support
Yes (SSL)  
SNMPxxx.c SNMPxxx.c
  • UDPOpenEx
  • Lots of others but don't care
No  
SNTP.c SNTP.c
  • UDPOpenEx
  • ARP resolved & retries statemachine step removed as is now in UDP.c
  • Does UDP do retries on open?
Yes No but better check compatibility in PNPServerProbes.c
SPIEEPROM.c SPIEEPROM.c
  • dsPIC33E PIC24E support
  • PIC32 changed from _SPI2CON_FRZ_MASK to _SPI2CON_CKE_MASK
Yes Yes: Save SPISpeeds
SPIFlash.c SPIFlash.c
  • dsPIC33E PIC24E support
  • PIC32 changed from _SPI2CON_FRZ_MASK to _SPI2CON_CKE_MASK
Yes Yes: Save SPISpeeds
SPIRam.c SPIRam.c
  • dsPIC33E PIC24E support
  • PIC32 changed from _SPI2CON_FRZ_MASK to _SPI2CON_CKE_MASK
No  
SSL.c SSL.c
  • RSA 2048 support
  • Others?
Yes No
StackTsk.c StackTsk.c
  • HTTP dropped
  • MPFS dropped
  • Some EZConfig re C18 changes
   
TCP.c TCP.c
  • MAC RX buffer freespace calculation changed
Yes No
TFTP.c TFTP.c
  • UDPOpenEx
  • ARP resolved & retries removed as is now in UDP.c
   
UDP.c UDP.c
  • UDPOpenEx