CCII HSS Flash Programming: ========================== Load ccHssLib4v3.1.dmv179 and ccHssFlashv3.1.dmv179 on your SVME/DMV179 host or load ccHssLib4v3.1.x86 and ccHssFlashv3.1.x86 on your X86 host. This contains the HSS driver and flash programming code. NB: Do not load any other driver from a previous version. EEPROM verification: -------------------- Due to an upgrade in the flash programming code, it is essential that the EEPROM is reprogrammed before the flash is updated. All cards with version up to 2.6.1 must have their EEPROM reprogrammed. Run the following commands: 1) Create a handle to the HSS device: -> hssCreate_device(0) value = 0 = 0x0 2) Run the EEPROM diagnostics program: -> hssEeprom_diagnostics(0) EEPROM will be reprogrammed... 8 64 10 E3 0 0 0 20 A8 0 0 0 Dumping EEPROM... 8 64 10 E3 0 0 0 20 A8 0 0 0 Re-boot the card and host! value = 0 = 0x0 NOTE! If the above message appeared, re-boot the card and host. If the EEPROM is up to date, a re-boot is not nescessary. Flash programming: ------------------ NB! Do NOT remove power from the card during this procedure! 1) Locate the correct s-record file. (Unzip ccHss4v3.0.firmware.zip) Inspect the HSS PMC card and find the oscillator module. This is a silver can about 1cm x 1cm (0.4" x 0.4") big. The oscillator frequency is marked on the can, it will be 39.3216 (Most boards, including the frontpanel board) The s-record filename will be ccHss4v3.0-39.3216.hex (39.3216 MHz oscillator on PMC card) ccHss4v3.0-39.9360.hex (39.9360 MHz oscillator on PMC card) ccHss4v3.0-40.0000.hex (40.0000 MHz oscillator on PMC card) ccHss4v3.0-50.0000.hex (50.0000 MHz oscillator on PMC card) 2) Verify that the correct s-record file is in the present working directory: -> ls ccHss4v3.0-39.3216.hex value = 0 = 0x0 3) Validate the S-record file: -> hssValidate_srecord_file("ccHss4v3.0-39.3216.hex") value = 0 = 0x0 NB! If the return value is not HSS_OK(value = 0), stop the procedure. Get an uncorrupted file from CCII Systems (Pty) Ltd. 4) Create a handle to the HSS device: -> hssCreate_device(0) value = 0 = 0x0 5) Get a copy of the current flash content for backup: -> hssFlash_get_image("backup.bin", hssGet_p_flash(0), 0x150000) value = 0 = 0x0 6) Verify that the backup exists in the present working directory: -> ls backup.bin ccHss4v3.0-39.3216.hex value = 0 = 0x0 7) Erase the flash: NB! Do NOT remove power from the card after the erase! -> hssFlash_chip_erase(hssGet_p_flash(0)) Erasing sector : d0200000 Erasing sector : d0202000 Erasing sector : d0203000 Erasing sector : d0204000 Erasing sector : d0210000 Erasing sector : d0220000 Erasing sector : d0230000 Erasing sector : d0240000 Erasing sector : d0250000 Erasing sector : d0260000 Erasing sector : d0270000 value = 0 = 0x0 8) Verify that the chip erase was successfull: -> hssFlash_verify_erase(hssGet_p_flash(0), 0x200000) value = 0 = 0x0 9) Program the flash: -> hssFlash_prog_srecord("ccHss4v3.0-39.3216.hex", hssGet_p_flash(0)) value = 0 = 0x0 10) Re-boot the card and host. Verify that LED D2 & D4 are off and LED D3 is flashing. 11) Run the test procedure (hssTest.txt) to verify that the image is working.