Difference between revisions of "PCI card firmware"
From MCEWiki
Line 1: | Line 1: | ||
= Download = | = Download = | ||
− | * U0105 (latest) - http://e-mode.phas.ubc.ca/~mhasse/mce/SDSU_RevU0105.s | + | These S-record files should work with any reasonable EPROM programmer: |
− | * U0104 (stable) - http://e-mode.phas.ubc.ca/~mhasse/mce/SDSU_RevU0104.s | + | * U0105 (latest) - http://e-mode.phas.ubc.ca/~mhasse/mce/arc_pci/SDSU_RevU0105.s |
+ | * U0104 (stable) - http://e-mode.phas.ubc.ca/~mhasse/mce/arc_pci/SDSU_RevU0104.s | ||
− | = | + | The full source code is available in these archives (it will not compile unless you get the correct assembler and stuff): |
+ | * U0105 - http://e-mode.phas.ubc.ca/~mhasse/mce/arc_pci/arc_pci-U0105.tar.gz | ||
+ | * U0104 - http://e-mode.phas.ubc.ca/~mhasse/mce/arc_pci/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 = | ||
* [[ PCI card bug list ]] | * [[ PCI card bug list ]] |
Revision as of 13:00, 30 April 2010
Contents
Download
These S-record files should work with any reasonable EPROM programmer:
- U0105 (latest) - http://e-mode.phas.ubc.ca/~mhasse/mce/arc_pci/SDSU_RevU0105.s
- U0104 (stable) - http://e-mode.phas.ubc.ca/~mhasse/mce/arc_pci/SDSU_RevU0104.s
The full source code is available in these archives (it will not compile unless you get the correct assembler and stuff):
- U0105 - http://e-mode.phas.ubc.ca/~mhasse/mce/arc_pci/arc_pci-U0105.tar.gz
- U0104 - http://e-mode.phas.ubc.ca/~mhasse/mce/arc_pci/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
Latest release: U0105 (2009-06-08)
- 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.
Last stable version: U0104
- 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
Oldest UBC release: U0103
- Minor modifications of SCUBA2's A1.4 firmware, to improve PCI stability.
- Not compatible with non-realtime systems.