18F4550 programming failed using PICkit4 while verifying "User ID memory"


Closed Thread
Results 1 to 20 of 20

Hybrid View

  1. #1
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,172

    Default Re: 18F4550 programming failed using PICkit4 while verifying "User ID memory"

    Programming speed, turns out it doesn't mind running at max speed for this particular PIC:

    Code:
    -TPPK4 -P$target-device$ -F$hex-filename$ -E -M -OAS2 -OB -OL -OV -YP -YE
    This runs just fine.

    Robert

  2. #2
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,172

    Default Re: 18F4550 programming failed using PICkit4 while verifying "User ID memory"

    I still have one bug; 18F4550 programmed by my PK4 run Blinky at 1/2 speed compared to my U2 USB programmer.

    - leads on my PK4 are just over 6 inches, with gold pins so they connect directly beside the pin.
    - flat cable on my U2 is nearly 3 inches long, and PGC/PGD wires on the breadboard are nearly 3 inches.

    I can't find any spec that says EXACTLY what the max length is for the PK4 leads....?

    Robert


    EDIT: The only reference to lead lengths for the PK4 has a 8pin 6in cable:
    https://www.microchip.com/en-us/deve...-tool/AC102015
    Last edited by Demon; - 13th May 2023 at 21:20.

  3. #3
    Join Date
    Aug 2011
    Posts
    458

    Default Re: 18F4550 programming failed using PICkit4 while verifying "User ID memory"

    FWIW, I use a 6" cable with the PK4 all the time. Cables can cause issues, but I don't think that's your problem here.

    I still have one bug; 18F4550 programmed by my PK4 run Blinky at 1/2 speed compared to my U2 USB programmer.
    Try programming it with the PK4 and then verifying it with the U2, or vice-versa.

    Pay particular attention to CONFIG1L. Unless one of them is changing it (????), I don't see how that is.
    Are you overriding the CONFIG settings in the hex file with one of them?

  4. #4
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,172

    Default Re: 18F4550 programming failed using PICkit4 while verifying "User ID memory"

    Quote Originally Posted by tumbleweed View Post
    FWIW, I use a 6" cable with the PK4 all the time. Cables can cause issues, but I don't think that's your problem here.


    Try programming it with the PK4 and then verifying it with the U2, or vice-versa.

    Pay particular attention to CONFIG1L. Unless one of them is changing it (????), I don't see how that is.
    Are you overriding the CONFIG settings in the hex file with one of them?

    Yeah, I was about to make a new cable, but that cable from Microchip is as long as mine, and they have one even longer.


    Good idea about the swapping verify, gonna try tomorrow if wifey lets me in the house. I'm gonna lose a dog in that grass.


    I'm not changing anything. The only variable I can think of is the options on the command lines. I'm gonna take screen shots of all the U2 settings, then compare that against the PK4.


    Going to bed, just finished an "exposé" on HIDmaker FS2 (just comments and observations really), but I tried to be as open an truthful. gonna post about it on a USB thread.

    Robert

  5. #5
    Join Date
    Apr 2014
    Location
    OK
    Posts
    557

    Default Re: 18F4550 programming failed using PICkit4 while verifying "User ID memory"

    The U2 Programmer has a header button that allows you to set your CONFIG settings. Since your PICkit4 and U2 Programmers yield different Clock speeds, the U2 may be using a different default CONFIG setting than the PICkit4. If you don't specifically define your CONFIGs, you are leaving it up to software to make decisions for you.

  6. #6
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,172

    Default Re: 18F4550 programming failed using PICkit4 while verifying "User ID memory"

    This is what my U2 does.

    Erase:
    Name:  U2 1 Erase.png
Views: 38740
Size:  28.1 KB

    Program:
    Name:  U2 2 Program.png
Views: 38615
Size:  28.2 KB

    Verify:
    Name:  U2 3 Verify.png
Views: 38850
Size:  23.7 KB


    These are the settings I have for the PK4:
    Code:
    -TPPK4 -P$target-device$ -F$hex-filename$ -E -M -OAS2 -OB -OL -OV -W -YP -YE
    E = Erase Flash Device (there are no options)
    M = Program entire device (does not include calibration, same like U2)
    OAS2 = Maximum programming speed
    OB = Batch mode operation (so the window stays open to check out the results)
    OL = Release from RESET NOT SURE ABOUT THIS GUY!
    OV = Verify device ID before program in batch mode
    W = Power target from tool
    YE = Verify EEPROM
    YP = Verify Program memory (U2 verifies Code, Calibration, Data, User ID and Configuration)

    If anything, the U2 should be waaaaay slower, it verifies more, and the PK4 is supposed to be running at max speed and it's plugged in a SS USB port.

    Weird...

    Robert
    Last edited by Demon; - 16th May 2023 at 05:02.

  7. #7
    Join Date
    Apr 2014
    Location
    OK
    Posts
    557

    Default Re: 18F4550 programming failed using PICkit4 while verifying "User ID memory"

    You are not selecting "Erase User ID" but have selected "Program User ID". The Programming process only clears bits. If you have bits in your programmed User ID that are set, but that bit is already cleared, programming a 1 will not over-write a 0.

Similar Threads

  1. Replies: 0
    Last Post: - 14th November 2013, 04:32
  2. "Program Memory Error" with MPLAB IDE (PBP)
    By aggie007 in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 13th November 2007, 20:27
  3. Replies: 1
    Last Post: - 23rd December 2006, 14:29
  4. Help with 16F873 "Out of Memory" problem.
    By Archilochus in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 31st December 2004, 21:01

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts