Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The YAML Defaults Configuration (YDC) file is a single text file that defines a register initialization sequence.  An example YDC file name is defaultsPyro6-15-17a.yaml.

Before installing a YDC file a couple of few fixups are typically required.

  1. Insert a new top-level hierarchy, "mmio", above "AmcCarrierCore".
  2. Change the value of mmio:AmcCarrierCore:AxiVersion:ScratchPad from 0x0 to 0xfc067333.
    The value 0xfc06733 (decimal -66686157) is used to monitor FPGA reboot.
  3. Change the value of mmio:AmcCarrierCore:AxiSy56040:OutputConfig[1] from 0x1 to 0x2.
    The value 0x1 selects local timing, and the value 0x2 selects backplane timing.

Excerpt from an example YDC file with fixups applied:

Code Block
languagetext
# Config File Generated: 2017-03-07.13:29:59
- mmio:
  - AmcCarrierCore:
      - AxiVersion:
          - MasterReset: !<value> 0x0
          - FpgaReloadAddress: !<value> 0x00000000
          - FpgaReload: !<value> 0x0
          - FpgaReloadHalt: !<value> 0x0
          - ScratchPad: !<value> 0xfc067333
  . . .
      - AxiSy56040:
          - OutputConfig: !<value>
              - 0x0
              - 0x2
              - 0x0
              - 0x0

 

To install a new YDC file:

  1. Copy the YDC file to the ${TOP}/yaml directory.
  2. In in the IOC startup script st.cmd, update the LOAD_FILE macro of the dbLoadRecords(dvdb/saveLoadConfig.db) command to point to the YDC file. For example, "LOAD_FILE=yaml/defaults_bcm.yaml".

...

Instructions for updating the YAC appear earlier in this document.

For more details regarding dictionary and substitution files see: Manual Generation of EPICS PVs from YAML Config Files

The dictionary file is installed in the ${TOP}/yaml directory. In in IOC startup script st.cmd, the 8th argument of YCPSWASYNConfig() specifies the dictionary path.
For example, "yaml/bcm_01_20170313140632.dict".

...

Finally, bcm.db and carrier.db are loaded by dbLoadRecords() in the IOC startup script st.cmd:

Code Block
languagetext
dbLoadRecords("db/bcm.db", "P=${AMC0_PREFIX}, PORT=${CPSW_PORT}, AMC=0")
dbLoadRecords("db/carrier.db", "P=${AMC_CARRIER_PREFIX}, PORT=${CPSW_PORT}")

...