⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dcu3_config.cfg

📁 flash programming STI 5.5.1.4 DCU3
💻 CFG
字号:
## dcu3_config_var is cfg variable of the following format
##
##   varname    :: name of cfg variable
##   index      :: number of array elements
##   {          
##    name      :: register field name
##    bit       :: field bit start
##    width     :: field bit width
##   }[<index>] :: array
##
##   

##{{{    bit twiddling
proc dcu3_config_width_to_msk 
  _ST_local_width=$1 {
  $$ = ~(-1 << _ST_local_width)
}

proc dcu3_config_msk_shl 
  _ST_local_val=$1 
  _ST_local_width=$2 
  _ST_local_shift=$3 
  _ST_local_msk=0x0 {

  _ST_local_msk = dcu3_config_width_to_msk (_ST_local_width)
  $$ = ((_ST_local_val & _ST_local_msk) << _ST_local_shift)

  ## write -- DBG -- dcu3_config_msk_shl res= -x ($$) _ST_local_val= (_ST_local_val) _ST_local_msk= -x (_ST_local_msk) _ST_local_shift= (_ST_local_shift) val&msk= -x (_ST_local_val & _ST_local_msk) _ST_local_width= (_ST_local_width)
}

proc dcu3_config_shr_msk 
  _ST_local_val=$1 
  _ST_local_width=$2 
  _ST_local_shift=$3 
  _ST_local_msk=0x0 {

  _ST_local_msk = dcu3_config_width_to_msk (_ST_local_width)
  $$ = ((_ST_local_val >> _ST_local_shift) & _ST_local_msk)

  ## write -- DBG -- dcu3_config_shr_msk res= ($$) _ST_local_val= -x (_ST_local_val) _ST_local_msk= -x (_ST_local_msk) _ST_local_shift= (_ST_local_shift) val>>shift= -x (_ST_local_val >> _ST_local_shift) _ST_local_width= (_ST_local_width)
}
##}}}

proc dcu3_config_decode 
  _ST_local_tag=$1 
  _ST_local_reg_val=$2 
  _ST_local_dcu3_config_var=$3 {

  $$ = dcu3_config_shr_msk (_ST_local_reg_val) (_ST_local_dcu3_config_var[(_ST_local_tag)].width) (_ST_local_dcu3_config_var[(_ST_local_tag)].bit)
}

proc dcu3_config_decode_all 
  _ST_local_reg_val=$1 
  _ST_local_dcu3_config_var=$2 
  _ST_local_i=0 _ST_local_val=0 {

  write decode (_ST_local_dcu3_config_var.varname) value -x (_ST_local_reg_val)

  for (_ST_local_i=0; _ST_local_i < _ST_local_dcu3_config_var.index; _ST_local_i++) {
    _ST_local_val = dcu3_config_decode (_ST_local_i) (_ST_local_reg_val) (_ST_local_dcu3_config_var)
    write (_ST_local_dcu3_config_var[_ST_local_i].name) = (_ST_local_val)
  }
}

proc dcu3_config_encode 
  _ST_local_tag=$1 
  _ST_local_val=$2 
  _ST_local_dcu3_config_var=$3 {

  $$ = dcu3_config_msk_shl (_ST_local_val) (_ST_local_dcu3_config_var[(_ST_local_tag)].width) (_ST_local_dcu3_config_var[(_ST_local_tag)].bit)
}

proc dcu3_config_fields 
  _ST_local_dcu3_config_var=$1 
  _ST_local_i=0 {

  write dump (_ST_local_dcu3_config_var.varname) array index= (_ST_local_dcu3_config_var.index)

  for (_ST_local_i=0; _ST_local_i < _ST_local_dcu3_config_var.index; _ST_local_i++) {
    write dcu3_config_var[ (_ST_local_i) ] name= (_ST_local_dcu3_config_var[i].name) bit= (dcu3_config_var[i].bit) width= (_ST_local_dcu3_config_var[i].width)
  }
}

DCU3_config.index = 0

DCU3_config_TriggerIn_tag = DCU3_config.index++
DCU3_config[DCU3_config_TriggerIn_tag].name = "TriggerIn"
DCU3_config[DCU3_config_TriggerIn_tag].bit = 0
DCU3_config[DCU3_config_TriggerIn_tag].width = 5

DCU3_config_JumpTrace_tag = DCU3_config.index++
DCU3_config[DCU3_config_JumpTrace_tag].name = "JumpTrace"
DCU3_config[DCU3_config_JumpTrace_tag].bit = 5
DCU3_config[DCU3_config_JumpTrace_tag].width = 1

DCU3_config_Compare_tag=DCU3_config.index++
DCU3_config[DCU3_config_Compare_tag].name = "Compare"
DCU3_config[DCU3_config_Compare_tag].bit = 6
DCU3_config[DCU3_config_Compare_tag].width = 5

DCU3_config_Capture_tag=DCU3_config.index++
DCU3_config[DCU3_config_Capture_tag].name = "Capture"
DCU3_config[DCU3_config_Capture_tag].bit = 11
DCU3_config[DCU3_config_Capture_tag].width = 5

include dcu3_sequence.cfg
include dcu3_capability.cfg


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -