You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Overview

There are two types of configuration files discussed in this document.  One defines the register architecture, and the other defines the register values.  In both cases YAML formatted text files are used.

For additional background on defining CPSW Hierarchies with YAML, see: http://www.slac.stanford.edu/grp/lcls/controls/docs/cpsw/framework/with-at-support/README.yamlDefinition.html

How to update the yaml architecture configuration in the IOC

 The YAML Architecture Configuration (YAC) is a set of text files that defines the registers supported by the hardware. It is typically delivered by the hardware engineer as a gzipped tar file containing one subdirectory.

To install a new YAC:

  1. Remove the existing YAC subdirectory from ${TOP}/yaml, or arrange to use new subdirectory name.
  2. Untar the YAC file under ${TOP}/yaml.
  3. In the IOC startup script st.cmd, update the 1st parameter of cpswLoadYamlFile() to point to the 000TopLevel.yaml file within the YAC.
    For example, "yaml/AmcCarrierBcm_project.yaml/000TopLevel.yaml".
    Note: When YCPSWASYNConfig() is called after cpswLoadYamlFile(), the 2nd argument of YCPSWASYNConfig() – the YAML path – is ignored.

How to update the yaml defaults configuration in the IOC

The YAML Defaults Configuration (TDC) file is a single text file that defines a register initialization sequence.

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

  1. Insert a new top-level hierarchy, "mmio", above "AmcCarrierCore".
  2. Change the value of mmio:AmcCarrierCore:AxiVersion:ScratchPad to 0xfc067333.

Excerpt from an example YDC file with fixups applied:

# 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

 

To install a new YDC file:

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

How to add registers from firmware upgrade to map with the IOC

In order to map a CPSW register to an EPICS PV, entries in 3 different configuration files are required.

  1. YAML Architecture Configuration (YAC). This file is supplied by the hardware engineer, and it defines the full set of registers that can potentially be mapped.
  2. Dictionary file. This text file defines the mapping from YAML register path to Asyn parameter name. The register paths in this file must appear in the YAC (above) as well.
  3. Substitution file. The file generates EPICS PVs for Asyn parameters. The Asyn parameter names in this file must appear in the dictionary file (above) as well.

 

How to update the list of BSA PVs served by the IOC

  • No labels