I got the same problem as a few other have reported. I read all the more recent posts on the subject and I can ping the web server board just fine. But I locks up when I try to fetch a page using IE brower 6. I downloaded an tried Trevs hexfile and that works just fine on port 81 and outputs served file names to VCP . I'm using microchip TCPIP stack v5.25 and MPLAB IDE v8.53 C30 compiler v3.25. I've tried all the suggested fixes Trev documented but the problems still there and I fixed an error caused by previously defined reference to ultoa in helpers.c/helpers.h that conflicted with a version in the standard c libraries by renaming the ultoa to force the use of the one in the helper.c file. Do I need to roll back to a previous version of the C30 compiler and TCPIP stack v5.20. Not sure which C30 compiler version I should be using.
I,m using a web platform v1.c which I got direct from Seed around end of Oct 2010 and the test with Trev's hexfile proves my hardware is ok. I know this is well worn path but the microchip stack appears to be the most capable I've seen so far, but looking through the code it still really a beta or even alpha release to my way of thinking. Any help appreciated Also I note my hex files is nearly twice Trev's in size at 479Kb compare to Trev's whcih is 276Kb hence my question re the compiler
Thanks
Ron
[quote author="RonZ"]
I got the same problem as a few other have reported. I read all the more recent posts on the subject and I can ping the web server board just fine. But I locks up when I try to fetch a page using IE brower 6. I downloaded an tried Trevs hexfile and that works just fine on port 81 and outputs served file names to VCP .
[/quote]
On the bright side, nothing wrong with your hardware :)
I'm using microchip TCPIP stack v5.25 and MPLAB IDE v8.53 C30 compiler v3.25. I've tried all the suggested fixes Trev documented but the problems still there and I fixed an error caused by previously defined reference to ultoa in helpers.c/helpers.h that conflicted with a version in the standard c libraries by renaming the ultoa to force the use of the one in the helper.c file. Do I need to roll back to a previous version of the C30 compiler and TCPIP stack v5.20. Not sure which C30 compiler version I should be using.
I used MPLAB v8.50, TCP/IP stack v5.20b and the standard evaluation C30 compiler v3.23. I haven't had time to try the current stack version, and I've avoided upgrading MPLAB because of the horror stories in the MCHP forums. (I have a feeling MCHP also changed the default libraries for the compiler which increased the code size, but I may be getting confused with C18 which I've also been using.)
I know this is well worn path but the microchip stack appears to be the most capable I've seen so far, but looking through the code it still really a beta or even alpha release to my way of thinking. Any help appreciated Also I note my hex files is nearly twice Trev's in size at 479Kb compare to Trev's whcih is 276Kb hence my question re the compiler
Yes, I get the impression that the MCHP stack is very definitely still a work in progress.
I did play with the compiler's optimisation options at one point and that may well explain the size difference. I also may have trimmed some unused code from the stack - I recall adding some more #ifdefs to allow choosing one feature without also dragging in another unneeded feature. I also did some minor code optimisation (vis-a-vis size anyway). And there's that new library issue (maybe).
As for help... I'll take specific requests :)
Trev
Thanks for the prompt reply. I've just created a version of the mircochip SD Demo code with the debug option set, but I think I might just switch to the older versions of MPLAB C30 comiler and TCPIP stack as you suggest first. I was going to try debuging with the PICkit2 that I managed to pickup of trademe for $55.00 NZ on trademe (New Zealand version of Ebay). Ive used wire shark to sniffer the packet exchange between the laptop making the httep get request and the web platform seem to be accepting the http connection on port 80 and then sucessfully recieves the request in a 4 seperate segments and appears to crash once it has the complete request. Thus tcp appears to be working ok, but its crashing when the request is being parsed. One question that you may be able to answer is have you modified the TCPIP stack specifically the http get/post processing? I'll try rolling back to the same versions that you have used tomorrow. I need to go to bed now as I need to go to work in the morning 8-(.
Thanks
Ron
[quote author="RonZ"]
One question that you may be able to answer is have you modified the TCPIP stack specifically the http get/post processing? [/quote]
I'll check tonight when I get home, but I think all I did to that was to add the serial output of the filename being requested.
I'll try rolling back to the same versions that you have used tomorrow.
Let us know how you go.
Trev
Thanks for the info , just managed to roll back to your suggested versions. Turn into a bit of a mission but it was worth the effort. Finding the evaluation version of the C30 complier was the most difficult but found one in the end.
Let us know how you go.
Well its working
I've attached the botton of the build output and result of the ping test and web page displaying the simple web site index page from DP. I've also attached a diagram showing my test setup. Hope this helps others
Many thanks again for your help Trev much appreciated.
Ron
Excellent news! I knew Kiwi ingenuity would win out in the end. Glad I didn't turn out the lights when I left in 1979 :)
I won't have though going back would have made such a difference, usually you get the most recent versions. Just goes to show. I'm guessing you are now resident in the land of the kangeroo's hope the floods haven't affected you, if you are.
From reading the Microchip Forums, I was pre-warned of most of the horrors that might await me, so stayed where I was version wise. Not that I've seen any problems raised with the TCP/IP stack versions - I'm guessing there's some incompatibility between the web platform code and the changed stack code which seems to be running ok on Microchip's own dev boards.
You guessed right, from the land of the long white cloud to the land of kangaroos. Luckily there are no floods in Sydney (goes off to find a piece of wood... :).
I'm guessing there's some incompatibility between the web platform code and the changed stack code
This could very well be it. They may have changed variable names or other config stuff that is not reflected in the main.c/h and other config files that I made for the project based on the old stack. It they let us distribute the stack source with our apps this wouldn't be an issue (grumble) :)
An update for anybody having lock up problems that ends up looking here, the issue in this case turns out to be the version of the evaluation C30 compiler. I just compiled the SD card Demo server using the TCPIP v5.25 stack and this time used the old compiler version v3.23 and this built fine and when tested in the web platform runs as expected. This probably not due to the compiler itself but most likely the updated core c librares that are distibuted with the compiler. A quick look with Windiff shows that there are reasonably significant differences between v5.20 and v5.25 of the microchip TCPIP stack. They are not the cause of the lockup in this case. Note the proceedure outline by Trev was followed in each build.
Ron
I'm waiting for delivery of my web platform from seeed, and found this post while trying to figure out compile time errors (having to do with the ultoa function) I ran across. After spinning my wheels trying to find the C30 v2.23 with no luck I ended up fixing the compile time errors. I won't know for sure if I will end up with lock-up problems with my "fixed" code, until I receive my board.
That being said, where can I get my hands on a 3.23 evaluation/lite version of C30?
Microchip archives versions of their C compilers at:
http://www.microchip.com/stellent/idcpl ... e=en023073 (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023073)
Am I missing something?
All of those installers (at least the v3.23 C30 ones I tried) require a license key, since there is no evaluation/lite option. Or is there a work around, or file on that page that I am overlooking?
I suspect the problem is the evaluation mode is only enabled for a specific period of time after which the free evaluation period is not able to be entered. Because in evalution mode you get a free trail period after which the optimization option are disabled. I suspect that the free evalution has an expiry date. This would explain what is going on. You could try installing the new compiler with the old libraries. I'd caution that this would take some expertise. I know this would most like not help, but you at least now can understand what is going on
Ron, I believe that Microchip simply does not offer eval/lite versions of old compilers, and that these are actually different installers than those that were used to install the corresponding eval/lite compilers.
I was actually able to get an eval/lite version of the v3.23 C30 installed, so don't fret over me anymore. ;)