Linux shell脚本 位设置和位清除----学习小结 3
Linux学习小结 3
置位存在直接控制寄存器时经常使用
1、置控制标志:
## bit_set <reg_addr> <bit_idx(0-31)>
function fpga_bit_set() {
val=$(devmem $1 32)
mask=$((1 << $2))
val=$(($val | $mask))
devmem $1 32 $val
#printf "set=0x%08x\n" $val
}
2、清除控制标志
## bit_clr <reg_addr> <bit_idx(0-31)>
function fpga_bit_clr() {
val=$(devmem $1 32)
mask=$((1 << $2))
mask=$((~ $mask))
val=$(($val & $mask))
devmem $1 32 $val