mLoader/PPP won't recognise 18F4523, sees an 18F4520
Posted: Tue Jun 10, 2014 4:53 pm
Hi
After my confusion regarding Flowcode V6 vs EB006 chip compatibilities, I found I had a 18F4523 (I got a job lot of chips) which appears to be compatible with V6, EB006 and also Flowcode v5 but not the HP-488.
I created a test programme in V6 which contained some LEDs, a LCD display and a EB023 interface (simple web server) which simulated as expected and I then attempted to send it to the chip. I had of course set the target to be a 18F4523 before I created the Flowcode and had what I think were suitable configuration settings
It compiled OK but mLoader then came back to inform that the Target chip was different to that specified. It wasn't, so I told it to go ahead anyway. After sending, it informed that Flash Memory could not be verified - may be due to code protect.
However it did run on the EB06 board with the 18F4523 inserted, however it appears to be slower than expected and there is an issue with the Web Server. When looking at it via a browser instead of variable values I got an incomplete page that displayed the variable names instead of the variables (the web page HTML code works fine on other chips I've played with using V5 and the HP-488).
I made some changes to the web server page, saved and compiled to chip. Same messages as before and it seemed to transfer. However the changes I'd made were not visible when viewed via a browser (I'd just reduced the number of variables to be displayed). I tried this a couple of times with the same result and concluded that I was no longer actually sending anything to the chip.
With the EB06 powered and the chip running the initial code, I asked mLoader to erase the chip. It claimed again that the target device was not the same as that specified and again I told it to go ahead. It claimed success but hadn't actually done anything. The board was still running my initial code.
I then ran PPPv3 and using Autodetect it claimed the chip in the EB06 was a 18F4520 and not a 4523 (it isn't). I told it to accept that (4520) and it did. I asked it to erase and it did. I then asked it to send the associated Hex file and it did. The code ran with similar results as before, but now the Web page had changed (still displays variable names instead of variables).
So mLoader and PPP can't see it as a 18F4523 but PPP thinks it is the 4520 and talks to it.
Using mLoader I again asked it to erase the device and this tme it did. I asked it to send the Hex file and after again getting warnings whch I ignored it sent the file. This time it did actually transfer, with the same results as before. Telling mLoader it is a 4520 seems to make it happy as I can then send Hex files without warnings.
Sending the Hex file created in Flowcode V5, with the same HTML in the Web Server, gave me similar slower than expected speeds, but the browser now displays the variables instead of their names.
I see from other posts that there are issues in setting clock speeds with a 18F4523, necessitating the use of extra code, so perhaps I have something similar? Just to play I'd like to set the clock to 20MHz and also 40MHz simply as I have those crystals.
As I'm new to V6 it would appear that it handles HTML differently. If anyone could point me in the direction of where to find those changes I'd appreciate it. I'm not a programmer but Flowcode allows me to learn whilst I play. Using V5 on chips such as 16F877a / 18F1937 and my schizophrenic 18F4523/4520 allows the use of :- %v1% %v2% %v3% to display the values of those variables, but in V6 it displays that actual line (v1 etc are defined as bytes elsewhere).
Lastly, I can assure you that the chip is marked as a 4523 despite what mLoader and PPP think. Although I got them as a job lot off of a friend, he originally got them from Farnell. Has anyone else heard of this or do I really have schizo chips?
Thanks in advance
After my confusion regarding Flowcode V6 vs EB006 chip compatibilities, I found I had a 18F4523 (I got a job lot of chips) which appears to be compatible with V6, EB006 and also Flowcode v5 but not the HP-488.
I created a test programme in V6 which contained some LEDs, a LCD display and a EB023 interface (simple web server) which simulated as expected and I then attempted to send it to the chip. I had of course set the target to be a 18F4523 before I created the Flowcode and had what I think were suitable configuration settings
It compiled OK but mLoader then came back to inform that the Target chip was different to that specified. It wasn't, so I told it to go ahead anyway. After sending, it informed that Flash Memory could not be verified - may be due to code protect.
However it did run on the EB06 board with the 18F4523 inserted, however it appears to be slower than expected and there is an issue with the Web Server. When looking at it via a browser instead of variable values I got an incomplete page that displayed the variable names instead of the variables (the web page HTML code works fine on other chips I've played with using V5 and the HP-488).
I made some changes to the web server page, saved and compiled to chip. Same messages as before and it seemed to transfer. However the changes I'd made were not visible when viewed via a browser (I'd just reduced the number of variables to be displayed). I tried this a couple of times with the same result and concluded that I was no longer actually sending anything to the chip.
With the EB06 powered and the chip running the initial code, I asked mLoader to erase the chip. It claimed again that the target device was not the same as that specified and again I told it to go ahead. It claimed success but hadn't actually done anything. The board was still running my initial code.
I then ran PPPv3 and using Autodetect it claimed the chip in the EB06 was a 18F4520 and not a 4523 (it isn't). I told it to accept that (4520) and it did. I asked it to erase and it did. I then asked it to send the associated Hex file and it did. The code ran with similar results as before, but now the Web page had changed (still displays variable names instead of variables).
So mLoader and PPP can't see it as a 18F4523 but PPP thinks it is the 4520 and talks to it.
Using mLoader I again asked it to erase the device and this tme it did. I asked it to send the Hex file and after again getting warnings whch I ignored it sent the file. This time it did actually transfer, with the same results as before. Telling mLoader it is a 4520 seems to make it happy as I can then send Hex files without warnings.
Sending the Hex file created in Flowcode V5, with the same HTML in the Web Server, gave me similar slower than expected speeds, but the browser now displays the variables instead of their names.
I see from other posts that there are issues in setting clock speeds with a 18F4523, necessitating the use of extra code, so perhaps I have something similar? Just to play I'd like to set the clock to 20MHz and also 40MHz simply as I have those crystals.
As I'm new to V6 it would appear that it handles HTML differently. If anyone could point me in the direction of where to find those changes I'd appreciate it. I'm not a programmer but Flowcode allows me to learn whilst I play. Using V5 on chips such as 16F877a / 18F1937 and my schizophrenic 18F4523/4520 allows the use of :- %v1% %v2% %v3% to display the values of those variables, but in V6 it displays that actual line (v1 etc are defined as bytes elsewhere).
Lastly, I can assure you that the chip is marked as a 4523 despite what mLoader and PPP think. Although I got them as a job lot off of a friend, he originally got them from Farnell. Has anyone else heard of this or do I really have schizo chips?
Thanks in advance