CCII HSS Flash Programming for version 4.3: =========================================== Load the current host driver on your SVME/DMV 178/179/181 or X86 host: i.e. if you are running HSS version 3.0, then load ccHssLib4v3.0.dmv179 and ccHssFlashv3.0.dmv179 on your SVME/DMV 178/179 host or load ccHssLib4v3.0.x86 and ccHssFlashv3.0.x86 on your X86 host. This contains the HSS driver and flash programming code. NOTE: The DY4 SVME/DMV 181 is only supported from HSS version 4.0 and upwards. NOTE: Only load the driver from the current version in use. Run hssCreate_device(0) followed by hssVersion_print(0) to verify the current firmware and host driver version. They should be identical for flash programming purposes. Alternatively, from version 3.5.4 onwards, run hssFirmware_version(0, &version) to get the current HSS card firmware version. EEPROM verification : --------------------- NOTE: The following steps only need to be performed for versions older than 4.2 (Versions 4.2 and upwards automatically verify the EEPROM): 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) ************ 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 necessary. Flash programming: ------------------ NOTE: Do NOT remove power from the card during this procedure! 1) Locate the correct s-record file. (Unzip ccHss4v4.3.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 front panel board) The s-record filename will be ccHss4v4.3-39.3216.hex (39.3216 MHz oscillator on PMC card) ccHss4v4.3-39.9360.hex (39.9360 MHz oscillator on PMC card) ccHss4v4.3-40.0000.hex (40.0000 MHz oscillator on PMC card) ccHss4v4.3-48.0000.hex (48.0000 MHz oscillator on PMC card) ccHss4v4.3-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 ccHss4v4.3-39.3216.hex value = 0 = 0x0 3) Validate the S-record file: -> hssValidate_srecord_file("ccHss4v4.3-39.3216.hex") value = 0 = 0x0 NOTE: 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) From version 3.5.1 onwards, run the following command to enable programming mode: -> hssProg_enable(0) value = 0 = 0x0 NOTE: For versions before 3.5.1 this command will return an error. Skip this step and move on to item 6. 6) Get a copy of the current flash content for backup: -> hssFlash_get_image("backup.bin", hssGet_p_flash(0), 0x150000) value = 0 = 0x0 7) Verify that the backup exists in the present working directory: -> ls backup.bin ccHss4v4.3-39.3216.hex value = 0 = 0x0 8) Erase the flash: NOTE: 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 9) Verify that the chip erase was successful: -> hssFlash_verify_erase(hssGet_p_flash(0), 0x200000) value = 0 = 0x0 10) Program the flash: -> hssFlash_prog_srecord("ccHss4v4.3-39.3216.hex", hssGet_p_flash(0)) value = 0 = 0x0 11) Re-boot the card and host. Verify that LED D2 & D4 are off and LED D3 is flashing. NOTE: For version 4.2 and upwards, a HSS Power-On-Seld-Test (POST) message may be flashed via LED D3 & D4. Consult the HSS user manual for further information. The HSS card will boot up correctly the second time around. 12) Run the test procedure (hssTest.txt) to verify that the image is working.