Results 1 to 6 of 6

Thread: Flashing does what?

  1. #1
    Potential Tuner
    Join Date
    Sep 2012
    Posts
    7

    Flashing does what?

    Curious about the implementation of flashing to the car. If I view my current tune, then change one value and apply it, does the entire VCM get flashed, or is it just that one entry getting written somewhere?

    I'd like to get my feet wet by making minor minor changes without being paranoid I've accidentally overwritten something important.

    Also, my newb understanding is that for newer cars especially not everything is tunable. More tables are decoded over time and become editable, so what about those tables that are unknown with a current software version? Are they not touched during the flash, copied blindly with their original bytes, erased to all 0's, or ...?

    Any added confusion if a car was previously tuned with another program like Diablosport or EFI?

    Thanks

  2. #2
    HP Tuners Support
    (foff667)
    Bill@HPTuners's Avatar
    Join Date
    Jun 2004
    Location
    Hailing from Parts Unknown
    Posts
    28,268
    entire calibration gets flashed if you click write calibration only, entire operating system gets flashed if you click write entire.
    It doesn't have to be perfect, it just needs to be done in two weeks...

    A wise man once said "google it"

  3. #3
    when you read the PCM you are saving a binary image of the flash chip contents. Typically the binary image consists of 2 main parts: the operating system code and the calibration data.

    when you edit the file, you are changing certain values within that binary image. Anything that you didn't change becuase you didn't want to or it isn't available in VCM Editor remains unchanged.

    when you write the PCM generally there are two options:

    Write Calibration - erases and writes the calibration section of the flash chip

    Write Entire - erases and write the operating system and calibration sections of the flash chip.

    Due to the nature of flash chips, they can only be erased in "blocks", not individual bytes or words. For example a 512k flash chip might be arranged in 8 blocks of 64k each. Assuming, the software designer planned their address space with these blocks in mind (eg. the calibration might use one or two blocks) then it's possible to only partially erase the flash chip and rewrite only the blocks you erased.

    This is why USB drives, iphones, SSD's and other types of flash chip memory devices have complex file management, usage and bad block detection algorithms. They move your files around the various flash blocks in the background to prevent unecessary erasing of the blocks (which is slow and has a finite lifecycle typically 1,000's of erases)

    Chris...
    I count sheep in hex...

  4. #4
    HP Tuners Support
    (foff667)
    Bill@HPTuners's Avatar
    Join Date
    Jun 2004
    Location
    Hailing from Parts Unknown
    Posts
    28,268
    ^what he said lol
    It doesn't have to be perfect, it just needs to be done in two weeks...

    A wise man once said "google it"

  5. #5
    Potential Tuner
    Join Date
    Sep 2012
    Posts
    7
    Thanks for the detailed explanation. If I understand correctly then...

    1. The software won't erase or change something I didn't modify - even though the calibration data or the whole OS are written, they are written back with what was read out unless I explicitly change something, either on purpose or on accident. There are no 'defaults' or 'fill in the blanks with 0s'.

    2. If a GM service bulletin updates my car software, or another tune program was used to modified a value that isn't visible in HPTuner editor yet, and I do a full read, then a full write back of that data without changing anything, the HPTuner editor won't ever change 'hidden' values even if it can't display or edit them.

    3. It's a good idea to have a backup.*



    * I tried a full read, and got a file, but can't open it. Error says send the file to support, so I sent an email earlier today.

  6. #6
    correct
    I count sheep in hex...