Difference between revisions of "PCI card firmware"
From MCEWiki
(→Firmware version notes) |
|||
Line 1: | Line 1: | ||
= Download = | = Download = | ||
− | These S-record files should work with any reasonable | + | These S-record files should work with any reasonable EEPROM programmer: |
* U0106 (recommended) - http://e-mode.phas.ubc.ca/mce/firmware/sdsu/SDSU_RevU0106.s | * U0106 (recommended) - http://e-mode.phas.ubc.ca/mce/firmware/sdsu/SDSU_RevU0106.s | ||
* U0105 (stable) - http://e-mode.phas.ubc.ca/mce/firmware/sdsu/SDSU_RevU0105.s | * U0105 (stable) - http://e-mode.phas.ubc.ca/mce/firmware/sdsu/SDSU_RevU0105.s |
Revision as of 14:03, 22 November 2011
Contents
[hide]Download
These S-record files should work with any reasonable EEPROM programmer:
- U0106 (recommended) - http://e-mode.phas.ubc.ca/mce/firmware/sdsu/SDSU_RevU0106.s
- U0105 (stable) - http://e-mode.phas.ubc.ca/mce/firmware/sdsu/SDSU_RevU0105.s
- U0104 (deprecated) - http://e-mode.phas.ubc.ca/mce/firmware/sdsu/SDSU_RevU0104.s
The full source code is available in these archives (it will not compile unless you get the correct assembler and stuff):
- U0106 - http://e-mode.phas.ubc.ca/mce/arc_pci/source_code/arc_pci-U0106.tar.gz
- U0105 - http://e-mode.phas.ubc.ca/mce/arc_pci/source_code/arc_pci-U0105.tar.gz
- U0104 - http://e-mode.phas.ubc.ca/mce/arc_pci/source_code/arc_pci-U0104.tar.gz
The subversion tree can be obtained like this (you may not have access to this repository; contact UBC);
svn checkout svn://e-mode.phas.ubc.ca/arc_pci
It is laid out roughly as follows:
/trunk main line of development /releases tagged versions of code /tools debugging tools /clash stuff for making CLAS work with wine and linux /docs useful (though maybe not to you) notes
Other information
Firmware version notes
U0106 (2011-11-21): Recommended version
- Backward compatible with U0104 and U0105.
- Fixes bug introduced in U0105 that prevented handling of some PCI bus errors.
- Introduction of command to update PCI burst size.
U0105 (2009-06-08): Stable version
- Backward compatible with U0104.
- Support for MCE STOP commands and commands-on-the-fly.
- Accelerated MCE command code (along with Quiet-RP this increases commanding rate to ~6 kHz).
- Quiet-RP simplifies the protocol for MCE reply handling.
- Low-level improvements:
- CON is done as PCI burst
- Fibre-optic FIFO is emptied with timed read instead of polling.
- Hand-shaking for interrupts instead of host command to clear INTA and HC3.
- Non-interrupt context code disables interrupts when performing PCI transactions.
- Host vector interrupts are otherwise enabled, so PC doesn't have to force with HNMI bit.
U0104: First version with non-realtime linux support
- Implements quiet transfer mode! Remains backwards compatible with A1.4.
- Fixes the 64k boundary crossing issue
- Moves parameters that enter via interrupt out of registers and into variables
- Version reporting tag-along to RDM command (sending 'VER' to RDM's vector address returns the code version).
- Maximum burst length is reduced to 64 bytes, and is configurable.
- Reset (RST) clears the fibre fifo
U0103: Oldest UBC release
- Minor modifications of SCUBA2's A1.4 firmware, to improve PCI stability.
- Not compatible with non-realtime systems.