mirror of
git://git.code.sf.net/p/openocd/code
synced 2025-07-20 04:54:12 +10:00
Jimtcl commit 1843b79a03dd ("expr: TIP 526, only support a single arg") drops the support for multi-argument syntax for the TCL command 'expr'. In the TCL scripts distributed with OpenOCD there are 1700+ lines that should be modified before switching to jimtcl 0.81. Apply the script below on every script in tcl folder. It fixes more than 92% of the lines %<---%<---%<---%<---%<---%<---%<---%<---%<---%<---%<---%<---%<--- #!/usr/bin/perl -Wpi my $re_sym = qr{[a-z_][a-z0-9_]*}i; my $re_var = qr{(?:\$|\$::)$re_sym}; my $re_const = qr{0x[0-9a-f]+|[0-9]+|[0-9]*\.[0-9]*}i; my $re_item = qr{(?:~\s*)?(?:$re_var|$re_const)}; my $re_op = qr{<<|>>|[+\-*/&|]}; my $re_expr = qr{( (?:\(\s*(?:$re_item|(?-1))\s*\)|$re_item) \s*$re_op\s* (?:$re_item|(?-1)|\(\s*(?:$re_item|(?-1))\s*\)) )}x; # [expr [dict get $regsC100 SYM] + HEXNUM] s/\[expr (\[dict get $re_var $re_sym\s*\] \+ *$re_const)\]/\[expr \{$1\}\]/; # [ expr (EXPR) ] # [ expr EXPR ] # note: $re_expr captures '$3' s/\[(\s*expr\s*)\((\s*$re_expr\s*)\)(\s*)\]/\[$1\{$2\}$4\]/; s/\[(\s*expr\s*)($re_expr)(\s*)\]/\[$1\{$2\}$4\]/; %<---%<---%<---%<---%<---%<---%<---%<---%<---%<---%<---%<---%<--- Change-Id: I0d6bddc6abf6dd29062f2b4e72b5a2b5080293b9 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/6159 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
291 lines
7.2 KiB
Tcl
291 lines
7.2 KiB
Tcl
|
|
set RCC_CR [expr {$RCC_BASE + 0x00}]
|
|
set RCC_CFGR [expr {$RCC_BASE + 0x04}]
|
|
set RCC_CIR [expr {$RCC_BASE + 0x08}]
|
|
set RCC_APB2RSTR [expr {$RCC_BASE + 0x0c}]
|
|
set RCC_APB1RSTR [expr {$RCC_BASE + 0x10}]
|
|
set RCC_AHBENR [expr {$RCC_BASE + 0x14}]
|
|
set RCC_APB2ENR [expr {$RCC_BASE + 0x18}]
|
|
set RCC_APB1ENR [expr {$RCC_BASE + 0x1c}]
|
|
set RCC_BDCR [expr {$RCC_BASE + 0x20}]
|
|
set RCC_CSR [expr {$RCC_BASE + 0x24}]
|
|
|
|
|
|
proc show_RCC_CR { } {
|
|
if [ catch { set val [show_mmr32_reg RCC_CR] } msg ] {
|
|
error $msg
|
|
}
|
|
|
|
show_mmr_bitfield 0 0 $val HSI { OFF ON }
|
|
show_mmr_bitfield 1 1 $val HSIRDY { NOTRDY RDY }
|
|
show_mmr_bitfield 7 3 $val HSITRIM { _NUMBER_ }
|
|
show_mmr_bitfield 15 8 $val HSICAL { _NUMBER_ }
|
|
show_mmr_bitfield 16 16 $val HSEON { OFF ON }
|
|
show_mmr_bitfield 17 17 $val HSERDY { NOTRDY RDY }
|
|
show_mmr_bitfield 18 18 $val HSEBYP { NOTBYPASSED BYPASSED }
|
|
show_mmr_bitfield 19 19 $val CSSON { OFF ON }
|
|
show_mmr_bitfield 24 24 $val PLLON { OFF ON }
|
|
show_mmr_bitfield 25 25 $val PLLRDY { NOTRDY RDY }
|
|
}
|
|
|
|
proc show_RCC_CFGR { } {
|
|
if [ catch { set val [show_mmr32_reg RCC_CFGR] } msg ] {
|
|
error $msg
|
|
}
|
|
|
|
|
|
show_mmr_bitfield 1 0 $val SW { HSI HSE PLL ILLEGAL }
|
|
show_mmr_bitfield 3 2 $val SWS { HSI HSE PLL ILLEGAL }
|
|
show_mmr_bitfield 7 4 $val HPRE { sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_1 sysclk_div_2 sysclk_div_4 sysclk_div_8 sysclk_div_16 sysclk_div_64 sysclk_div_128 sysclk_div_256 sysclk_div_512 }
|
|
show_mmr_bitfield 10 8 $val PPRE1 { hclk_div1 hclk_div1 hclk_div1 hclk_div1 hclk_div2 hclk_div4 hclk_div8 hclk_div16 }
|
|
show_mmr_bitfield 13 11 $val PPRE2 { hclk_div1 hclk_div1 hclk_div1 hclk_div1 hclk_div2 hclk_div4 hclk_div8 hclk_div16 }
|
|
show_mmr_bitfield 15 14 $val ADCPRE { pclk2_div1 pclk2_div1 pclk2_div1 pclk2_div1 pclk2_div2 pclk2_div4 pclk2_div8 pclk2_div16 }
|
|
show_mmr_bitfield 16 16 $val PLLSRC { HSI_div_2 HSE }
|
|
show_mmr_bitfield 17 17 $val PLLXTPRE { hse_div1 hse_div2 }
|
|
show_mmr_bitfield 21 18 $val PLLMUL { x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x16 }
|
|
show_mmr_bitfield 22 22 $val USBPRE { div1 div1_5 }
|
|
show_mmr_bitfield 26 24 $val MCO { none none none none SysClk HSI HSE PLL_div2 }
|
|
}
|
|
|
|
|
|
proc show_RCC_CIR { } {
|
|
if [ catch { set val [show_mmr32_reg RCC_CIR] } msg ] {
|
|
error $msg
|
|
}
|
|
|
|
}
|
|
|
|
proc show_RCC_APB2RSTR { } {
|
|
if [ catch { set val [ show_mmr32_reg RCC_APB2RSTR] } msg ] {
|
|
error $msg
|
|
}
|
|
for { set x 0 } { $x < 32 } { incr x } {
|
|
set bits($x) xxx
|
|
}
|
|
set bits(15) adc3
|
|
set bits(14) usart1
|
|
set bits(13) tim8
|
|
set bits(12) spi1
|
|
set bits(11) tim1
|
|
set bits(10) adc2
|
|
set bits(9) adc1
|
|
set bits(8) iopg
|
|
set bits(7) iopf
|
|
set bits(6) iope
|
|
set bits(5) iopd
|
|
set bits(4) iopc
|
|
set bits(3) iopb
|
|
set bits(2) iopa
|
|
set bits(1) xxx
|
|
set bits(0) afio
|
|
show_mmr32_bits bits $val
|
|
}
|
|
|
|
proc show_RCC_APB1RSTR { } {
|
|
if [ catch { set val [ show_mmr32_reg RCC_APB1RSTR] } msg ] {
|
|
error $msg
|
|
}
|
|
set bits(31) xxx
|
|
set bits(30) xxx
|
|
set bits(29) dac
|
|
set bits(28) pwr
|
|
set bits(27) bkp
|
|
set bits(26) xxx
|
|
set bits(25) can
|
|
set bits(24) xxx
|
|
set bits(23) usb
|
|
set bits(22) i2c2
|
|
set bits(21) i2c1
|
|
set bits(20) uart5
|
|
set bits(19) uart4
|
|
set bits(18) uart3
|
|
set bits(17) uart2
|
|
set bits(16) xxx
|
|
set bits(15) spi3
|
|
set bits(14) spi2
|
|
set bits(13) xxx
|
|
set bits(12) xxx
|
|
set bits(11) wwdg
|
|
set bits(10) xxx
|
|
set bits(9) xxx
|
|
set bits(8) xxx
|
|
set bits(7) xxx
|
|
set bits(6) xxx
|
|
set bits(5) tim7
|
|
set bits(4) tim6
|
|
set bits(3) tim5
|
|
set bits(2) tim4
|
|
set bits(1) tim3
|
|
set bits(0) tim2
|
|
show_mmr32_bits bits $val
|
|
|
|
}
|
|
|
|
proc show_RCC_AHBENR { } {
|
|
if [ catch { set val [ show_mmr32_reg RCC_AHBENR ] } msg ] {
|
|
error $msg
|
|
}
|
|
set bits(31) xxx
|
|
set bits(30) xxx
|
|
set bits(29) xxx
|
|
set bits(28) xxx
|
|
set bits(27) xxx
|
|
set bits(26) xxx
|
|
set bits(25) xxx
|
|
set bits(24) xxx
|
|
set bits(23) xxx
|
|
set bits(22) xxx
|
|
set bits(21) xxx
|
|
set bits(20) xxx
|
|
set bits(19) xxx
|
|
set bits(18) xxx
|
|
set bits(17) xxx
|
|
set bits(16) xxx
|
|
set bits(15) xxx
|
|
set bits(14) xxx
|
|
set bits(13) xxx
|
|
set bits(12) xxx
|
|
set bits(11) xxx
|
|
set bits(10) sdio
|
|
set bits(9) xxx
|
|
set bits(8) fsmc
|
|
set bits(7) xxx
|
|
set bits(6) crce
|
|
set bits(5) xxx
|
|
set bits(4) flitf
|
|
set bits(3) xxx
|
|
set bits(2) sram
|
|
set bits(1) dma2
|
|
set bits(0) dma1
|
|
show_mmr32_bits bits $val
|
|
}
|
|
|
|
proc show_RCC_APB2ENR { } {
|
|
if [ catch { set val [ show_mmr32_reg RCC_APB2ENR ] } msg ] {
|
|
error $msg
|
|
}
|
|
set bits(31) xxx
|
|
set bits(30) xxx
|
|
set bits(29) xxx
|
|
set bits(28) xxx
|
|
set bits(27) xxx
|
|
set bits(26) xxx
|
|
set bits(25) xxx
|
|
set bits(24) xxx
|
|
set bits(23) xxx
|
|
set bits(22) xxx
|
|
set bits(21) xxx
|
|
set bits(20) xxx
|
|
set bits(19) xxx
|
|
set bits(18) xxx
|
|
set bits(17) xxx
|
|
set bits(16) xxx
|
|
set bits(15) adc3
|
|
set bits(14) usart1
|
|
set bits(13) tim8
|
|
set bits(12) spi1
|
|
set bits(11) tim1
|
|
set bits(10) adc2
|
|
set bits(9) adc1
|
|
set bits(8) iopg
|
|
set bits(7) iopf
|
|
set bits(6) iope
|
|
set bits(5) iopd
|
|
set bits(4) iopc
|
|
set bits(3) iopb
|
|
set bits(2) iopa
|
|
set bits(1) xxx
|
|
set bits(0) afio
|
|
show_mmr32_bits bits $val
|
|
|
|
}
|
|
|
|
proc show_RCC_APB1ENR { } {
|
|
if [ catch { set val [ show_mmr32_reg RCC_APB1ENR ] } msg ] {
|
|
error $msg
|
|
}
|
|
set bits(31) xxx
|
|
set bits(30) xxx
|
|
set bits(29) dac
|
|
set bits(28) pwr
|
|
set bits(27) bkp
|
|
set bits(26) xxx
|
|
set bits(25) can
|
|
set bits(24) xxx
|
|
set bits(23) usb
|
|
set bits(22) i2c2
|
|
set bits(21) i2c1
|
|
set bits(20) usart5
|
|
set bits(19) usart4
|
|
set bits(18) usart3
|
|
set bits(17) usart2
|
|
set bits(16) xxx
|
|
set bits(15) spi3
|
|
set bits(14) spi2
|
|
set bits(13) xxx
|
|
set bits(12) xxx
|
|
set bits(11) wwdg
|
|
set bits(10) xxx
|
|
set bits(9) xxx
|
|
set bits(8) xxx
|
|
set bits(7) xxx
|
|
set bits(6) xxx
|
|
set bits(5) tim7
|
|
set bits(4) tim6
|
|
set bits(3) tim5
|
|
set bits(2) tim4
|
|
set bits(1) tim3
|
|
set bits(0) tim2
|
|
show_mmr32_bits bits $val
|
|
}
|
|
|
|
proc show_RCC_BDCR { } {
|
|
if [ catch { set val [ show_mmr32_reg RCC_BDCR ] } msg ] {
|
|
error $msg
|
|
}
|
|
for { set x 0 } { $x < 32 } { incr x } {
|
|
set bits($x) xxx
|
|
}
|
|
set bits(0) lseon
|
|
set bits(1) lserdy
|
|
set bits(2) lsebyp
|
|
set bits(8) rtcsel0
|
|
set bits(9) rtcsel1
|
|
set bits(15) rtcen
|
|
set bits(16) bdrst
|
|
show_mmr32_bits bits $val
|
|
}
|
|
|
|
proc show_RCC_CSR { } {
|
|
if [ catch { set val [ show_mmr32_reg RCC_CSR ] } msg ] {
|
|
error $msg
|
|
}
|
|
for { set x 0 } { $x < 32 } { incr x } {
|
|
set bits($x) xxx
|
|
}
|
|
set bits(0) lsion
|
|
set bits(1) lsirdy
|
|
set bits(24) rmvf
|
|
set bits(26) pin
|
|
set bits(27) por
|
|
set bits(28) sft
|
|
set bits(29) iwdg
|
|
set bits(30) wwdg
|
|
set bits(31) lpwr
|
|
show_mmr32_bits bits $val
|
|
}
|
|
|
|
proc show_RCC { } {
|
|
|
|
show_RCC_CR
|
|
show_RCC_CFGR
|
|
show_RCC_CIR
|
|
show_RCC_APB2RSTR
|
|
show_RCC_APB1RSTR
|
|
show_RCC_AHBENR
|
|
show_RCC_APB2ENR
|
|
show_RCC_APB1ENR
|
|
show_RCC_BDCR
|
|
show_RCC_CSR
|
|
}
|