PID输出错误修正+参数调整
This commit is contained in:
parent
f47a4b4e6a
commit
f65c03b9e7
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -29,7 +29,7 @@ Project File Date: 08/26/2024
|
|||
Build target 'VOQC'
|
||||
compiling provalctrl.c...
|
||||
linking...
|
||||
Program Size: Code=34078 RO-data=458 RW-data=416 ZI-data=6704
|
||||
Program Size: Code=34142 RO-data=458 RW-data=416 ZI-data=6704
|
||||
FromELF: creating hex file...
|
||||
"VOQC\VOQC.axf" - 0 Error(s), 0 Warning(s).
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -3,7 +3,7 @@
|
|||
<title>Static Call Graph - [VOQC\VOQC.axf]</title></head>
|
||||
<body><HR>
|
||||
<H1>Static Call Graph for image VOQC\VOQC.axf</H1><HR>
|
||||
<BR><P>#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Fri Sep 06 15:37:49 2024
|
||||
<BR><P>#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Sat Sep 07 12:58:49 2024
|
||||
<BR><P>
|
||||
<H3>Maximum Stack Usage = 452 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
|
||||
Call chain for Maximum Stack Depth:</H3>
|
||||
|
@ -487,8 +487,8 @@ Global Symbols
|
|||
<P><STRONG><a name="[7b]"></a>__aeabi_uldivmod</STRONG> (Thumb, 0 bytes, Stack size 48 bytes, lludivv7m.o(.text))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = __aeabi_uldivmod
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[d3]">>></a> UART_SetConfig
|
||||
<LI><a href="#[af]">>></a> HAL_RCC_GetSysClockFreq
|
||||
<BR>[Called By]<UL><LI><a href="#[af]">>></a> HAL_RCC_GetSysClockFreq
|
||||
<LI><a href="#[d3]">>></a> UART_SetConfig
|
||||
<LI><a href="#[7a]">>></a> _ll_sdiv
|
||||
</UL>
|
||||
|
||||
|
@ -590,10 +590,10 @@ Global Symbols
|
|||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[87]">>></a> HAL_GPIO_WritePin
|
||||
<LI><a href="#[89]">>></a> delay_us
|
||||
<LI><a href="#[85]">>></a> HAL_GPIO_ReadPin
|
||||
<LI><a href="#[88]">>></a> ads1256_write_byte
|
||||
<LI><a href="#[8a]">>></a> ads1256_read_byte
|
||||
<LI><a href="#[86]">>></a> ADS1256WREG
|
||||
<LI><a href="#[85]">>></a> HAL_GPIO_ReadPin
|
||||
<LI><a href="#[8c]">>></a> __aeabi_dmul
|
||||
<LI><a href="#[8b]">>></a> __aeabi_i2d
|
||||
</UL>
|
||||
|
@ -604,8 +604,8 @@ Global Symbols
|
|||
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = ADS1256WREG ⇒ ads1256_write_byte ⇒ delay_us
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[87]">>></a> HAL_GPIO_WritePin
|
||||
<LI><a href="#[88]">>></a> ads1256_write_byte
|
||||
<LI><a href="#[85]">>></a> HAL_GPIO_ReadPin
|
||||
<LI><a href="#[88]">>></a> ads1256_write_byte
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[103]">>></a> ads1256_init
|
||||
<LI><a href="#[84]">>></a> ADS1256ReadData
|
||||
|
@ -799,8 +799,8 @@ Global Symbols
|
|||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[a0]">>></a> DMA_SetConfig
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[da]">>></a> HAL_UART_Transmit_DMA
|
||||
<LI><a href="#[9a]">>></a> HAL_ADC_Start_DMA
|
||||
<BR>[Called By]<UL><LI><a href="#[9a]">>></a> HAL_ADC_Start_DMA
|
||||
<LI><a href="#[da]">>></a> HAL_UART_Transmit_DMA
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[a1]"></a>HAL_Delay</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, stm32f4xx_hal.o(i.HAL_Delay))
|
||||
|
@ -893,9 +893,9 @@ Global Symbols
|
|||
<LI><a href="#[b2]">>></a> HAL_RCC_OscConfig
|
||||
<LI><a href="#[ae]">>></a> HAL_RCC_ClockConfig
|
||||
<LI><a href="#[a1]">>></a> HAL_Delay
|
||||
<LI><a href="#[9c]">>></a> HAL_DMA_Abort
|
||||
<LI><a href="#[d8]">>></a> HAL_UART_Transmit
|
||||
<LI><a href="#[d9]">>></a> UART_WaitOnFlagUntilTimeout
|
||||
<LI><a href="#[9c]">>></a> HAL_DMA_Abort
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[a3]"></a>HAL_I2C_Init</STRONG> (Thumb, 446 bytes, Stack size 16 bytes, stm32f4xx_hal_i2c.o(i.HAL_I2C_Init))
|
||||
|
@ -1156,8 +1156,8 @@ Global Symbols
|
|||
<P><STRONG><a name="[c2]"></a>HAL_TIM_PeriodElapsedCallback</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, timer.o(i.HAL_TIM_PeriodElapsedCallback))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 428<LI>Call Chain = HAL_TIM_PeriodElapsedCallback ⇒ modbus_process_rtu ⇒ modbus_analysis_rtu ⇒ writemulticoil_rtu ⇒ modbus_errfunction_rtu ⇒ uart_send ⇒ HAL_UART_Transmit_DMA ⇒ HAL_DMA_Start_IT ⇒ DMA_SetConfig
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[c8]">>></a> modbus_process_rtu
|
||||
<LI><a href="#[c7]">>></a> HAL_TIM_Base_Stop_IT
|
||||
<BR>[Calls]<UL><LI><a href="#[c7]">>></a> HAL_TIM_Base_Stop_IT
|
||||
<LI><a href="#[c8]">>></a> modbus_process_rtu
|
||||
<LI><a href="#[c6]">>></a> tim6_cnt
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[be]">>></a> HAL_TIM_IRQHandler
|
||||
|
@ -1168,27 +1168,27 @@ Global Symbols
|
|||
</UL>
|
||||
|
||||
<P><STRONG><a name="[ce]"></a>HAL_UARTEx_RxEventCallback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[ca]">>></a> UART_Receive_IT
|
||||
<LI><a href="#[c9]">>></a> HAL_UART_IRQHandler
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[c9]">>></a> HAL_UART_IRQHandler
|
||||
<LI><a href="#[ca]">>></a> UART_Receive_IT
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[cd]"></a>HAL_UART_ErrorCallback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_ErrorCallback))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[66]">>></a> UART_DMAError
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[c9]">>></a> HAL_UART_IRQHandler
|
||||
<LI><a href="#[66]">>></a> UART_DMAError
|
||||
<LI><a href="#[63]">>></a> UART_DMAAbortOnError
|
||||
<LI><a href="#[c9]">>></a> HAL_UART_IRQHandler
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[c9]"></a>HAL_UART_IRQHandler</STRONG> (Thumb, 740 bytes, Stack size 40 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_IRQHandler))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = HAL_UART_IRQHandler ⇒ UART_Receive_IT ⇒ HAL_UART_RxCpltCallback ⇒ modbus_rx_cb ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[cd]">>></a> HAL_UART_ErrorCallback
|
||||
<BR>[Calls]<UL><LI><a href="#[9c]">>></a> HAL_DMA_Abort
|
||||
<LI><a href="#[cc]">>></a> HAL_DMA_Abort_IT
|
||||
<LI><a href="#[cd]">>></a> HAL_UART_ErrorCallback
|
||||
<LI><a href="#[ce]">>></a> HAL_UARTEx_RxEventCallback
|
||||
<LI><a href="#[cf]">>></a> UART_Transmit_IT
|
||||
<LI><a href="#[ca]">>></a> UART_Receive_IT
|
||||
<LI><a href="#[d0]">>></a> UART_EndTransmit_IT
|
||||
<LI><a href="#[cb]">>></a> UART_EndRxTransfer
|
||||
<LI><a href="#[9c]">>></a> HAL_DMA_Abort
|
||||
<LI><a href="#[cc]">>></a> HAL_DMA_Abort_IT
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[54]">>></a> USART6_IRQHandler
|
||||
<LI><a href="#[34]">>></a> USART3_IRQHandler
|
||||
|
@ -1243,8 +1243,8 @@ Global Symbols
|
|||
<P><STRONG><a name="[d8]"></a>HAL_UART_Transmit</STRONG> (Thumb, 190 bytes, Stack size 40 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_Transmit))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[d9]">>></a> UART_WaitOnFlagUntilTimeout
|
||||
<LI><a href="#[9d]">>></a> HAL_GetTick
|
||||
<BR>[Calls]<UL><LI><a href="#[9d]">>></a> HAL_GetTick
|
||||
<LI><a href="#[d9]">>></a> UART_WaitOnFlagUntilTimeout
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[d7]">>></a> modbus_rx_cb
|
||||
</UL>
|
||||
|
@ -1634,9 +1634,9 @@ Global Symbols
|
|||
<P><STRONG><a name="[f8]"></a>ads1220_setchannl</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, ads1220.o(i.ads1220_setchannl))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = ads1220_setchannl ⇒ ads1220_writeregister ⇒ ads1220_write_byte ⇒ delay_us
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[ff]">>></a> ads1220_writeregister
|
||||
<BR>[Calls]<UL><LI><a href="#[85]">>></a> HAL_GPIO_ReadPin
|
||||
<LI><a href="#[ff]">>></a> ads1220_writeregister
|
||||
<LI><a href="#[fe]">>></a> ads1220_write_byte
|
||||
<LI><a href="#[85]">>></a> HAL_GPIO_ReadPin
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[f5]">>></a> ads1220_get_data
|
||||
</UL>
|
||||
|
@ -1816,10 +1816,10 @@ Global Symbols
|
|||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[87]">>></a> HAL_GPIO_WritePin
|
||||
<LI><a href="#[113]">>></a> encoder_init
|
||||
<LI><a href="#[85]">>></a> HAL_GPIO_ReadPin
|
||||
<LI><a href="#[f3]">>></a> _74hc165_read_byte
|
||||
<LI><a href="#[111]">>></a> hc595_write_data
|
||||
<LI><a href="#[112]">>></a> disp_out
|
||||
<LI><a href="#[85]">>></a> HAL_GPIO_ReadPin
|
||||
<LI><a href="#[110]">>></a> led_ctrl
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[74]">>></a> main
|
||||
|
@ -2172,14 +2172,14 @@ Global Symbols
|
|||
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = modbus_rx_cb ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[129]">>></a> HAL_TIM_Base_Start_IT
|
||||
<LI><a href="#[c7]">>></a> HAL_TIM_Base_Stop_IT
|
||||
<LI><a href="#[d8]">>></a> HAL_UART_Transmit
|
||||
<LI><a href="#[d4]">>></a> HAL_UART_Receive_IT
|
||||
<LI><a href="#[c7]">>></a> HAL_TIM_Base_Stop_IT
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[d6]">>></a> HAL_UART_RxCpltCallback
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[13d]"></a>prov_adj</STRONG> (Thumb, 1496 bytes, Stack size 16 bytes, provalctrl.o(i.prov_adj))
|
||||
<P><STRONG><a name="[13d]"></a>prov_adj</STRONG> (Thumb, 1504 bytes, Stack size 16 bytes, provalctrl.o(i.prov_adj))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = prov_adj ⇒ ee_writefloats ⇒ ee_writebytes ⇒ i2c_sendbyte
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[12d]">>></a> prov_adj_init
|
||||
|
@ -2195,7 +2195,7 @@ Global Symbols
|
|||
<LI><a href="#[13d]">>></a> prov_adj
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[13e]"></a>prov_calibrate_pid</STRONG> (Thumb, 926 bytes, Stack size 8 bytes, provalctrl.o(i.prov_calibrate_pid))
|
||||
<P><STRONG><a name="[13e]"></a>prov_calibrate_pid</STRONG> (Thumb, 986 bytes, Stack size 8 bytes, provalctrl.o(i.prov_calibrate_pid))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = prov_calibrate_pid
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[13f]">>></a> abs_bias
|
||||
|
@ -2565,9 +2565,9 @@ Local Symbols
|
|||
<BR>[Address Reference Count : 1]<UL><LI> stm32f4xx_hal_uart.o(i.HAL_UART_Transmit_DMA)
|
||||
</UL>
|
||||
<P><STRONG><a name="[cb]"></a>UART_EndRxTransfer</STRONG> (Thumb, 108 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(i.UART_EndRxTransfer))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[d9]">>></a> UART_WaitOnFlagUntilTimeout
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[c9]">>></a> HAL_UART_IRQHandler
|
||||
<LI><a href="#[d9]">>></a> UART_WaitOnFlagUntilTimeout
|
||||
<LI><a href="#[66]">>></a> UART_DMAError
|
||||
<LI><a href="#[c9]">>></a> HAL_UART_IRQHandler
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[d0]"></a>UART_EndTransmit_IT</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, stm32f4xx_hal_uart.o(i.UART_EndTransmit_IT))
|
||||
|
@ -2608,8 +2608,8 @@ Local Symbols
|
|||
<P><STRONG><a name="[d9]"></a>UART_WaitOnFlagUntilTimeout</STRONG> (Thumb, 140 bytes, Stack size 32 bytes, stm32f4xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = UART_WaitOnFlagUntilTimeout
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[cb]">>></a> UART_EndRxTransfer
|
||||
<LI><a href="#[9d]">>></a> HAL_GetTick
|
||||
<BR>[Calls]<UL><LI><a href="#[9d]">>></a> HAL_GetTick
|
||||
<LI><a href="#[cb]">>></a> UART_EndRxTransfer
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[d8]">>></a> HAL_UART_Transmit
|
||||
</UL>
|
||||
|
|
|
@ -3179,53 +3179,53 @@ Image Symbol Table
|
|||
i.modbus_rtu_init 0x080062c8 Section 0 modbus_rtu.o(i.modbus_rtu_init)
|
||||
i.modbus_rx_cb 0x0800631c Section 0 modbus_rtu.o(i.modbus_rx_cb)
|
||||
i.prov_adj 0x080063a0 Section 0 provalctrl.o(i.prov_adj)
|
||||
i.prov_adj_init 0x080069ac Section 0 provalctrl.o(i.prov_adj_init)
|
||||
i.prov_calibrate_pid 0x08006a64 Section 0 provalctrl.o(i.prov_calibrate_pid)
|
||||
i.prov_ctrl 0x08006e18 Section 0 provalctrl.o(i.prov_ctrl)
|
||||
i.prov_init 0x08006e84 Section 0 provalctrl.o(i.prov_init)
|
||||
i.prov_set 0x080070fc Section 0 provalctrl.o(i.prov_set)
|
||||
i.readcoilstate_rtu 0x080071fc Section 0 modbus_rtu.o(i.readcoilstate_rtu)
|
||||
i.readdisinputstate_rtu 0x0800734c Section 0 modbus_rtu.o(i.readdisinputstate_rtu)
|
||||
i.readholdreg_rtu 0x08007498 Section 0 modbus_rtu.o(i.readholdreg_rtu)
|
||||
i.readinputreg_rtu 0x080075a4 Section 0 modbus_rtu.o(i.readinputreg_rtu)
|
||||
i.setcs 0x080076a8 Section 0 ms5803.o(i.setcs)
|
||||
i.tim6_cnt 0x08007710 Section 0 timer.o(i.tim6_cnt)
|
||||
i.uart_send 0x0800791c Section 0 uarts.o(i.uart_send)
|
||||
i.wf5803_ReadReg 0x08007930 Section 0 mf5803.o(i.wf5803_ReadReg)
|
||||
i.wf5803_WriteReg 0x08007952 Section 0 mf5803.o(i.wf5803_WriteReg)
|
||||
i.writemulticoil_rtu 0x08007974 Section 0 modbus_rtu.o(i.writemulticoil_rtu)
|
||||
i.writemultireg_rtu 0x08007ac0 Section 0 modbus_rtu.o(i.writemultireg_rtu)
|
||||
i.writesinglecoil_rtu 0x08007bc4 Section 0 modbus_rtu.o(i.writesinglecoil_rtu)
|
||||
i.writesinglereg_rtu 0x08007c88 Section 0 modbus_rtu.o(i.writesinglereg_rtu)
|
||||
x$fpl$dadd 0x08007d40 Section 336 daddsub_clz.o(x$fpl$dadd)
|
||||
$v0 0x08007d40 Number 0 daddsub_clz.o(x$fpl$dadd)
|
||||
_dadd1 0x08007d51 Thumb Code 0 daddsub_clz.o(x$fpl$dadd)
|
||||
x$fpl$ddiv 0x08007e90 Section 688 ddiv.o(x$fpl$ddiv)
|
||||
$v0 0x08007e90 Number 0 ddiv.o(x$fpl$ddiv)
|
||||
ddiv_entry 0x08007e97 Thumb Code 0 ddiv.o(x$fpl$ddiv)
|
||||
x$fpl$dfix 0x08008140 Section 94 dfix.o(x$fpl$dfix)
|
||||
$v0 0x08008140 Number 0 dfix.o(x$fpl$dfix)
|
||||
x$fpl$dfixu 0x080081a0 Section 90 dfixu.o(x$fpl$dfixu)
|
||||
$v0 0x080081a0 Number 0 dfixu.o(x$fpl$dfixu)
|
||||
x$fpl$dflt 0x080081fa Section 46 dflt_clz.o(x$fpl$dflt)
|
||||
$v0 0x080081fa Number 0 dflt_clz.o(x$fpl$dflt)
|
||||
x$fpl$dfltll 0x08008228 Section 162 dfltll_clz.o(x$fpl$dfltll)
|
||||
$v0 0x08008228 Number 0 dfltll_clz.o(x$fpl$dfltll)
|
||||
x$fpl$dmul 0x080082cc Section 340 dmul.o(x$fpl$dmul)
|
||||
$v0 0x080082cc Number 0 dmul.o(x$fpl$dmul)
|
||||
x$fpl$dnaninf 0x08008420 Section 156 dnaninf.o(x$fpl$dnaninf)
|
||||
$v0 0x08008420 Number 0 dnaninf.o(x$fpl$dnaninf)
|
||||
x$fpl$dretinf 0x080084bc Section 12 dretinf.o(x$fpl$dretinf)
|
||||
$v0 0x080084bc Number 0 dretinf.o(x$fpl$dretinf)
|
||||
x$fpl$dsub 0x080084c8 Section 468 daddsub_clz.o(x$fpl$dsub)
|
||||
$v0 0x080084c8 Number 0 daddsub_clz.o(x$fpl$dsub)
|
||||
_dsub1 0x080084d9 Thumb Code 0 daddsub_clz.o(x$fpl$dsub)
|
||||
x$fpl$fpinit 0x0800869c Section 10 fpinit.o(x$fpl$fpinit)
|
||||
$v0 0x0800869c Number 0 fpinit.o(x$fpl$fpinit)
|
||||
.constdata 0x080086a6 Section 8 stm32f4xx_hal_dma.o(.constdata)
|
||||
x$fpl$usenofp 0x080086a6 Section 0 usenofp.o(x$fpl$usenofp)
|
||||
flagBitshiftOffset 0x080086a6 Data 8 stm32f4xx_hal_dma.o(.constdata)
|
||||
.constdata 0x080086ae Section 24 system_stm32f4xx.o(.constdata)
|
||||
i.prov_adj_init 0x080069b4 Section 0 provalctrl.o(i.prov_adj_init)
|
||||
i.prov_calibrate_pid 0x08006a6c Section 0 provalctrl.o(i.prov_calibrate_pid)
|
||||
i.prov_ctrl 0x08006e60 Section 0 provalctrl.o(i.prov_ctrl)
|
||||
i.prov_init 0x08006ecc Section 0 provalctrl.o(i.prov_init)
|
||||
i.prov_set 0x0800713c Section 0 provalctrl.o(i.prov_set)
|
||||
i.readcoilstate_rtu 0x0800723c Section 0 modbus_rtu.o(i.readcoilstate_rtu)
|
||||
i.readdisinputstate_rtu 0x0800738c Section 0 modbus_rtu.o(i.readdisinputstate_rtu)
|
||||
i.readholdreg_rtu 0x080074d8 Section 0 modbus_rtu.o(i.readholdreg_rtu)
|
||||
i.readinputreg_rtu 0x080075e4 Section 0 modbus_rtu.o(i.readinputreg_rtu)
|
||||
i.setcs 0x080076e8 Section 0 ms5803.o(i.setcs)
|
||||
i.tim6_cnt 0x08007750 Section 0 timer.o(i.tim6_cnt)
|
||||
i.uart_send 0x0800795c Section 0 uarts.o(i.uart_send)
|
||||
i.wf5803_ReadReg 0x08007970 Section 0 mf5803.o(i.wf5803_ReadReg)
|
||||
i.wf5803_WriteReg 0x08007992 Section 0 mf5803.o(i.wf5803_WriteReg)
|
||||
i.writemulticoil_rtu 0x080079b4 Section 0 modbus_rtu.o(i.writemulticoil_rtu)
|
||||
i.writemultireg_rtu 0x08007b00 Section 0 modbus_rtu.o(i.writemultireg_rtu)
|
||||
i.writesinglecoil_rtu 0x08007c04 Section 0 modbus_rtu.o(i.writesinglecoil_rtu)
|
||||
i.writesinglereg_rtu 0x08007cc8 Section 0 modbus_rtu.o(i.writesinglereg_rtu)
|
||||
x$fpl$dadd 0x08007d80 Section 336 daddsub_clz.o(x$fpl$dadd)
|
||||
$v0 0x08007d80 Number 0 daddsub_clz.o(x$fpl$dadd)
|
||||
_dadd1 0x08007d91 Thumb Code 0 daddsub_clz.o(x$fpl$dadd)
|
||||
x$fpl$ddiv 0x08007ed0 Section 688 ddiv.o(x$fpl$ddiv)
|
||||
$v0 0x08007ed0 Number 0 ddiv.o(x$fpl$ddiv)
|
||||
ddiv_entry 0x08007ed7 Thumb Code 0 ddiv.o(x$fpl$ddiv)
|
||||
x$fpl$dfix 0x08008180 Section 94 dfix.o(x$fpl$dfix)
|
||||
$v0 0x08008180 Number 0 dfix.o(x$fpl$dfix)
|
||||
x$fpl$dfixu 0x080081e0 Section 90 dfixu.o(x$fpl$dfixu)
|
||||
$v0 0x080081e0 Number 0 dfixu.o(x$fpl$dfixu)
|
||||
x$fpl$dflt 0x0800823a Section 46 dflt_clz.o(x$fpl$dflt)
|
||||
$v0 0x0800823a Number 0 dflt_clz.o(x$fpl$dflt)
|
||||
x$fpl$dfltll 0x08008268 Section 162 dfltll_clz.o(x$fpl$dfltll)
|
||||
$v0 0x08008268 Number 0 dfltll_clz.o(x$fpl$dfltll)
|
||||
x$fpl$dmul 0x0800830c Section 340 dmul.o(x$fpl$dmul)
|
||||
$v0 0x0800830c Number 0 dmul.o(x$fpl$dmul)
|
||||
x$fpl$dnaninf 0x08008460 Section 156 dnaninf.o(x$fpl$dnaninf)
|
||||
$v0 0x08008460 Number 0 dnaninf.o(x$fpl$dnaninf)
|
||||
x$fpl$dretinf 0x080084fc Section 12 dretinf.o(x$fpl$dretinf)
|
||||
$v0 0x080084fc Number 0 dretinf.o(x$fpl$dretinf)
|
||||
x$fpl$dsub 0x08008508 Section 468 daddsub_clz.o(x$fpl$dsub)
|
||||
$v0 0x08008508 Number 0 daddsub_clz.o(x$fpl$dsub)
|
||||
_dsub1 0x08008519 Thumb Code 0 daddsub_clz.o(x$fpl$dsub)
|
||||
x$fpl$fpinit 0x080086dc Section 10 fpinit.o(x$fpl$fpinit)
|
||||
$v0 0x080086dc Number 0 fpinit.o(x$fpl$fpinit)
|
||||
.constdata 0x080086e6 Section 8 stm32f4xx_hal_dma.o(.constdata)
|
||||
x$fpl$usenofp 0x080086e6 Section 0 usenofp.o(x$fpl$usenofp)
|
||||
flagBitshiftOffset 0x080086e6 Data 8 stm32f4xx_hal_dma.o(.constdata)
|
||||
.constdata 0x080086ee Section 24 system_stm32f4xx.o(.constdata)
|
||||
.data 0x20000000 Section 9 stm32f4xx_hal.o(.data)
|
||||
.data 0x2000000c Section 4 system_stm32f4xx.o(.data)
|
||||
.data 0x20000010 Section 24 ads1256.o(.data)
|
||||
|
@ -3633,51 +3633,51 @@ Image Symbol Table
|
|||
modbus_process_rtu 0x08006285 Thumb Code 64 modbus_rtu.o(i.modbus_process_rtu)
|
||||
modbus_rtu_init 0x080062c9 Thumb Code 58 modbus_rtu.o(i.modbus_rtu_init)
|
||||
modbus_rx_cb 0x0800631d Thumb Code 98 modbus_rtu.o(i.modbus_rx_cb)
|
||||
prov_adj 0x080063a1 Thumb Code 1496 provalctrl.o(i.prov_adj)
|
||||
prov_adj_init 0x080069ad Thumb Code 168 provalctrl.o(i.prov_adj_init)
|
||||
prov_calibrate_pid 0x08006a65 Thumb Code 926 provalctrl.o(i.prov_calibrate_pid)
|
||||
prov_ctrl 0x08006e19 Thumb Code 102 provalctrl.o(i.prov_ctrl)
|
||||
prov_init 0x08006e85 Thumb Code 588 provalctrl.o(i.prov_init)
|
||||
prov_set 0x080070fd Thumb Code 244 provalctrl.o(i.prov_set)
|
||||
readcoilstate_rtu 0x080071fd Thumb Code 326 modbus_rtu.o(i.readcoilstate_rtu)
|
||||
readdisinputstate_rtu 0x0800734d Thumb Code 322 modbus_rtu.o(i.readdisinputstate_rtu)
|
||||
readholdreg_rtu 0x08007499 Thumb Code 258 modbus_rtu.o(i.readholdreg_rtu)
|
||||
readinputreg_rtu 0x080075a5 Thumb Code 252 modbus_rtu.o(i.readinputreg_rtu)
|
||||
setcs 0x080076a9 Thumb Code 86 ms5803.o(i.setcs)
|
||||
tim6_cnt 0x08007711 Thumb Code 420 timer.o(i.tim6_cnt)
|
||||
uart_send 0x0800791d Thumb Code 20 uarts.o(i.uart_send)
|
||||
wf5803_ReadReg 0x08007931 Thumb Code 34 mf5803.o(i.wf5803_ReadReg)
|
||||
wf5803_WriteReg 0x08007953 Thumb Code 34 mf5803.o(i.wf5803_WriteReg)
|
||||
writemulticoil_rtu 0x08007975 Thumb Code 322 modbus_rtu.o(i.writemulticoil_rtu)
|
||||
writemultireg_rtu 0x08007ac1 Thumb Code 252 modbus_rtu.o(i.writemultireg_rtu)
|
||||
writesinglecoil_rtu 0x08007bc5 Thumb Code 188 modbus_rtu.o(i.writesinglecoil_rtu)
|
||||
writesinglereg_rtu 0x08007c89 Thumb Code 176 modbus_rtu.o(i.writesinglereg_rtu)
|
||||
__aeabi_dadd 0x08007d41 Thumb Code 0 daddsub_clz.o(x$fpl$dadd)
|
||||
_dadd 0x08007d41 Thumb Code 332 daddsub_clz.o(x$fpl$dadd)
|
||||
__aeabi_ddiv 0x08007e91 Thumb Code 0 ddiv.o(x$fpl$ddiv)
|
||||
_ddiv 0x08007e91 Thumb Code 552 ddiv.o(x$fpl$ddiv)
|
||||
__aeabi_d2iz 0x08008141 Thumb Code 0 dfix.o(x$fpl$dfix)
|
||||
_dfix 0x08008141 Thumb Code 94 dfix.o(x$fpl$dfix)
|
||||
__aeabi_d2uiz 0x080081a1 Thumb Code 0 dfixu.o(x$fpl$dfixu)
|
||||
_dfixu 0x080081a1 Thumb Code 90 dfixu.o(x$fpl$dfixu)
|
||||
__aeabi_i2d 0x080081fb Thumb Code 0 dflt_clz.o(x$fpl$dflt)
|
||||
_dflt 0x080081fb Thumb Code 46 dflt_clz.o(x$fpl$dflt)
|
||||
__aeabi_l2d 0x08008229 Thumb Code 0 dfltll_clz.o(x$fpl$dfltll)
|
||||
_ll_sto_d 0x08008229 Thumb Code 162 dfltll_clz.o(x$fpl$dfltll)
|
||||
__aeabi_dmul 0x080082cd Thumb Code 0 dmul.o(x$fpl$dmul)
|
||||
_dmul 0x080082cd Thumb Code 332 dmul.o(x$fpl$dmul)
|
||||
__fpl_dnaninf 0x08008421 Thumb Code 156 dnaninf.o(x$fpl$dnaninf)
|
||||
__fpl_dretinf 0x080084bd Thumb Code 12 dretinf.o(x$fpl$dretinf)
|
||||
__aeabi_dsub 0x080084c9 Thumb Code 0 daddsub_clz.o(x$fpl$dsub)
|
||||
_dsub 0x080084c9 Thumb Code 464 daddsub_clz.o(x$fpl$dsub)
|
||||
_fp_init 0x0800869d Thumb Code 10 fpinit.o(x$fpl$fpinit)
|
||||
__fplib_config_fpu_vfp 0x080086a5 Thumb Code 0 fpinit.o(x$fpl$fpinit)
|
||||
__fplib_config_pureend_doubles 0x080086a5 Thumb Code 0 fpinit.o(x$fpl$fpinit)
|
||||
__I$use$fp 0x080086a6 Number 0 usenofp.o(x$fpl$usenofp)
|
||||
AHBPrescTable 0x080086ae Data 16 system_stm32f4xx.o(.constdata)
|
||||
APBPrescTable 0x080086be Data 8 system_stm32f4xx.o(.constdata)
|
||||
Region$$Table$$Base 0x080086c8 Number 0 anon$$obj.o(Region$$Table)
|
||||
Region$$Table$$Limit 0x080086e8 Number 0 anon$$obj.o(Region$$Table)
|
||||
prov_adj 0x080063a1 Thumb Code 1504 provalctrl.o(i.prov_adj)
|
||||
prov_adj_init 0x080069b5 Thumb Code 168 provalctrl.o(i.prov_adj_init)
|
||||
prov_calibrate_pid 0x08006a6d Thumb Code 986 provalctrl.o(i.prov_calibrate_pid)
|
||||
prov_ctrl 0x08006e61 Thumb Code 102 provalctrl.o(i.prov_ctrl)
|
||||
prov_init 0x08006ecd Thumb Code 588 provalctrl.o(i.prov_init)
|
||||
prov_set 0x0800713d Thumb Code 244 provalctrl.o(i.prov_set)
|
||||
readcoilstate_rtu 0x0800723d Thumb Code 326 modbus_rtu.o(i.readcoilstate_rtu)
|
||||
readdisinputstate_rtu 0x0800738d Thumb Code 322 modbus_rtu.o(i.readdisinputstate_rtu)
|
||||
readholdreg_rtu 0x080074d9 Thumb Code 258 modbus_rtu.o(i.readholdreg_rtu)
|
||||
readinputreg_rtu 0x080075e5 Thumb Code 252 modbus_rtu.o(i.readinputreg_rtu)
|
||||
setcs 0x080076e9 Thumb Code 86 ms5803.o(i.setcs)
|
||||
tim6_cnt 0x08007751 Thumb Code 420 timer.o(i.tim6_cnt)
|
||||
uart_send 0x0800795d Thumb Code 20 uarts.o(i.uart_send)
|
||||
wf5803_ReadReg 0x08007971 Thumb Code 34 mf5803.o(i.wf5803_ReadReg)
|
||||
wf5803_WriteReg 0x08007993 Thumb Code 34 mf5803.o(i.wf5803_WriteReg)
|
||||
writemulticoil_rtu 0x080079b5 Thumb Code 322 modbus_rtu.o(i.writemulticoil_rtu)
|
||||
writemultireg_rtu 0x08007b01 Thumb Code 252 modbus_rtu.o(i.writemultireg_rtu)
|
||||
writesinglecoil_rtu 0x08007c05 Thumb Code 188 modbus_rtu.o(i.writesinglecoil_rtu)
|
||||
writesinglereg_rtu 0x08007cc9 Thumb Code 176 modbus_rtu.o(i.writesinglereg_rtu)
|
||||
__aeabi_dadd 0x08007d81 Thumb Code 0 daddsub_clz.o(x$fpl$dadd)
|
||||
_dadd 0x08007d81 Thumb Code 332 daddsub_clz.o(x$fpl$dadd)
|
||||
__aeabi_ddiv 0x08007ed1 Thumb Code 0 ddiv.o(x$fpl$ddiv)
|
||||
_ddiv 0x08007ed1 Thumb Code 552 ddiv.o(x$fpl$ddiv)
|
||||
__aeabi_d2iz 0x08008181 Thumb Code 0 dfix.o(x$fpl$dfix)
|
||||
_dfix 0x08008181 Thumb Code 94 dfix.o(x$fpl$dfix)
|
||||
__aeabi_d2uiz 0x080081e1 Thumb Code 0 dfixu.o(x$fpl$dfixu)
|
||||
_dfixu 0x080081e1 Thumb Code 90 dfixu.o(x$fpl$dfixu)
|
||||
__aeabi_i2d 0x0800823b Thumb Code 0 dflt_clz.o(x$fpl$dflt)
|
||||
_dflt 0x0800823b Thumb Code 46 dflt_clz.o(x$fpl$dflt)
|
||||
__aeabi_l2d 0x08008269 Thumb Code 0 dfltll_clz.o(x$fpl$dfltll)
|
||||
_ll_sto_d 0x08008269 Thumb Code 162 dfltll_clz.o(x$fpl$dfltll)
|
||||
__aeabi_dmul 0x0800830d Thumb Code 0 dmul.o(x$fpl$dmul)
|
||||
_dmul 0x0800830d Thumb Code 332 dmul.o(x$fpl$dmul)
|
||||
__fpl_dnaninf 0x08008461 Thumb Code 156 dnaninf.o(x$fpl$dnaninf)
|
||||
__fpl_dretinf 0x080084fd Thumb Code 12 dretinf.o(x$fpl$dretinf)
|
||||
__aeabi_dsub 0x08008509 Thumb Code 0 daddsub_clz.o(x$fpl$dsub)
|
||||
_dsub 0x08008509 Thumb Code 464 daddsub_clz.o(x$fpl$dsub)
|
||||
_fp_init 0x080086dd Thumb Code 10 fpinit.o(x$fpl$fpinit)
|
||||
__fplib_config_fpu_vfp 0x080086e5 Thumb Code 0 fpinit.o(x$fpl$fpinit)
|
||||
__fplib_config_pureend_doubles 0x080086e5 Thumb Code 0 fpinit.o(x$fpl$fpinit)
|
||||
__I$use$fp 0x080086e6 Number 0 usenofp.o(x$fpl$usenofp)
|
||||
AHBPrescTable 0x080086ee Data 16 system_stm32f4xx.o(.constdata)
|
||||
APBPrescTable 0x080086fe Data 8 system_stm32f4xx.o(.constdata)
|
||||
Region$$Table$$Base 0x08008708 Number 0 anon$$obj.o(Region$$Table)
|
||||
Region$$Table$$Limit 0x08008728 Number 0 anon$$obj.o(Region$$Table)
|
||||
uwTick 0x20000000 Data 4 stm32f4xx_hal.o(.data)
|
||||
uwTickPrio 0x20000004 Data 4 stm32f4xx_hal.o(.data)
|
||||
uwTickFreq 0x20000008 Data 1 stm32f4xx_hal.o(.data)
|
||||
|
@ -3802,9 +3802,9 @@ Memory Map of the image
|
|||
|
||||
Image Entry point : 0x08000189
|
||||
|
||||
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00008888, Max: 0x00100000, ABSOLUTE, COMPRESSED[0x00008708])
|
||||
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000088c8, Max: 0x00100000, ABSOLUTE, COMPRESSED[0x00008748])
|
||||
|
||||
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000086e8, Max: 0x00100000, ABSOLUTE)
|
||||
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00008728, Max: 0x00100000, ABSOLUTE)
|
||||
|
||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
|
@ -4087,46 +4087,46 @@ Memory Map of the image
|
|||
0x08006284 0x08006284 0x00000044 Code RO 5110 i.modbus_process_rtu modbus_rtu.o
|
||||
0x080062c8 0x080062c8 0x00000054 Code RO 5111 i.modbus_rtu_init modbus_rtu.o
|
||||
0x0800631c 0x0800631c 0x00000084 Code RO 5112 i.modbus_rx_cb modbus_rtu.o
|
||||
0x080063a0 0x080063a0 0x0000060c Code RO 5963 i.prov_adj provalctrl.o
|
||||
0x080069ac 0x080069ac 0x000000b8 Code RO 5964 i.prov_adj_init provalctrl.o
|
||||
0x08006a64 0x08006a64 0x000003b4 Code RO 5965 i.prov_calibrate_pid provalctrl.o
|
||||
0x08006e18 0x08006e18 0x0000006c Code RO 5966 i.prov_ctrl provalctrl.o
|
||||
0x08006e84 0x08006e84 0x00000278 Code RO 5967 i.prov_init provalctrl.o
|
||||
0x080070fc 0x080070fc 0x00000100 Code RO 5968 i.prov_set provalctrl.o
|
||||
0x080071fc 0x080071fc 0x00000150 Code RO 5113 i.readcoilstate_rtu modbus_rtu.o
|
||||
0x0800734c 0x0800734c 0x0000014c Code RO 5114 i.readdisinputstate_rtu modbus_rtu.o
|
||||
0x08007498 0x08007498 0x0000010c Code RO 5115 i.readholdreg_rtu modbus_rtu.o
|
||||
0x080075a4 0x080075a4 0x00000104 Code RO 5116 i.readinputreg_rtu modbus_rtu.o
|
||||
0x080076a8 0x080076a8 0x00000068 Code RO 4749 i.setcs ms5803.o
|
||||
0x08007710 0x08007710 0x0000020c Code RO 5867 i.tim6_cnt timer.o
|
||||
0x0800791c 0x0800791c 0x00000014 Code RO 5910 i.uart_send uarts.o
|
||||
0x08007930 0x08007930 0x00000022 Code RO 4970 i.wf5803_ReadReg mf5803.o
|
||||
0x08007952 0x08007952 0x00000022 Code RO 4972 i.wf5803_WriteReg mf5803.o
|
||||
0x08007974 0x08007974 0x0000014c Code RO 5117 i.writemulticoil_rtu modbus_rtu.o
|
||||
0x08007ac0 0x08007ac0 0x00000104 Code RO 5118 i.writemultireg_rtu modbus_rtu.o
|
||||
0x08007bc4 0x08007bc4 0x000000c4 Code RO 5119 i.writesinglecoil_rtu modbus_rtu.o
|
||||
0x08007c88 0x08007c88 0x000000b8 Code RO 5120 i.writesinglereg_rtu modbus_rtu.o
|
||||
0x08007d40 0x08007d40 0x00000150 Code RO 6188 x$fpl$dadd fz_wm.l(daddsub_clz.o)
|
||||
0x08007e90 0x08007e90 0x000002b0 Code RO 6195 x$fpl$ddiv fz_wm.l(ddiv.o)
|
||||
0x08008140 0x08008140 0x0000005e Code RO 6198 x$fpl$dfix fz_wm.l(dfix.o)
|
||||
0x0800819e 0x0800819e 0x00000002 PAD
|
||||
0x080081a0 0x080081a0 0x0000005a Code RO 6206 x$fpl$dfixu fz_wm.l(dfixu.o)
|
||||
0x080081fa 0x080081fa 0x0000002e Code RO 6211 x$fpl$dflt fz_wm.l(dflt_clz.o)
|
||||
0x08008228 0x08008228 0x000000a2 Code RO 6216 x$fpl$dfltll fz_wm.l(dfltll_clz.o)
|
||||
0x080082ca 0x080082ca 0x00000002 PAD
|
||||
0x080082cc 0x080082cc 0x00000154 Code RO 6220 x$fpl$dmul fz_wm.l(dmul.o)
|
||||
0x08008420 0x08008420 0x0000009c Code RO 6252 x$fpl$dnaninf fz_wm.l(dnaninf.o)
|
||||
0x080084bc 0x080084bc 0x0000000c Code RO 6254 x$fpl$dretinf fz_wm.l(dretinf.o)
|
||||
0x080084c8 0x080084c8 0x000001d4 Code RO 6190 x$fpl$dsub fz_wm.l(daddsub_clz.o)
|
||||
0x0800869c 0x0800869c 0x0000000a Code RO 6423 x$fpl$fpinit fz_wm.l(fpinit.o)
|
||||
0x080086a6 0x080086a6 0x00000000 Code RO 6260 x$fpl$usenofp fz_wm.l(usenofp.o)
|
||||
0x080086a6 0x080086a6 0x00000008 Data RO 1572 .constdata stm32f4xx_hal_dma.o
|
||||
0x080086ae 0x080086ae 0x00000018 Data RO 4417 .constdata system_stm32f4xx.o
|
||||
0x080086c6 0x080086c6 0x00000002 PAD
|
||||
0x080086c8 0x080086c8 0x00000020 Data RO 6479 Region$$Table anon$$obj.o
|
||||
0x080063a0 0x080063a0 0x00000614 Code RO 5963 i.prov_adj provalctrl.o
|
||||
0x080069b4 0x080069b4 0x000000b8 Code RO 5964 i.prov_adj_init provalctrl.o
|
||||
0x08006a6c 0x08006a6c 0x000003f4 Code RO 5965 i.prov_calibrate_pid provalctrl.o
|
||||
0x08006e60 0x08006e60 0x0000006c Code RO 5966 i.prov_ctrl provalctrl.o
|
||||
0x08006ecc 0x08006ecc 0x00000270 Code RO 5967 i.prov_init provalctrl.o
|
||||
0x0800713c 0x0800713c 0x00000100 Code RO 5968 i.prov_set provalctrl.o
|
||||
0x0800723c 0x0800723c 0x00000150 Code RO 5113 i.readcoilstate_rtu modbus_rtu.o
|
||||
0x0800738c 0x0800738c 0x0000014c Code RO 5114 i.readdisinputstate_rtu modbus_rtu.o
|
||||
0x080074d8 0x080074d8 0x0000010c Code RO 5115 i.readholdreg_rtu modbus_rtu.o
|
||||
0x080075e4 0x080075e4 0x00000104 Code RO 5116 i.readinputreg_rtu modbus_rtu.o
|
||||
0x080076e8 0x080076e8 0x00000068 Code RO 4749 i.setcs ms5803.o
|
||||
0x08007750 0x08007750 0x0000020c Code RO 5867 i.tim6_cnt timer.o
|
||||
0x0800795c 0x0800795c 0x00000014 Code RO 5910 i.uart_send uarts.o
|
||||
0x08007970 0x08007970 0x00000022 Code RO 4970 i.wf5803_ReadReg mf5803.o
|
||||
0x08007992 0x08007992 0x00000022 Code RO 4972 i.wf5803_WriteReg mf5803.o
|
||||
0x080079b4 0x080079b4 0x0000014c Code RO 5117 i.writemulticoil_rtu modbus_rtu.o
|
||||
0x08007b00 0x08007b00 0x00000104 Code RO 5118 i.writemultireg_rtu modbus_rtu.o
|
||||
0x08007c04 0x08007c04 0x000000c4 Code RO 5119 i.writesinglecoil_rtu modbus_rtu.o
|
||||
0x08007cc8 0x08007cc8 0x000000b8 Code RO 5120 i.writesinglereg_rtu modbus_rtu.o
|
||||
0x08007d80 0x08007d80 0x00000150 Code RO 6188 x$fpl$dadd fz_wm.l(daddsub_clz.o)
|
||||
0x08007ed0 0x08007ed0 0x000002b0 Code RO 6195 x$fpl$ddiv fz_wm.l(ddiv.o)
|
||||
0x08008180 0x08008180 0x0000005e Code RO 6198 x$fpl$dfix fz_wm.l(dfix.o)
|
||||
0x080081de 0x080081de 0x00000002 PAD
|
||||
0x080081e0 0x080081e0 0x0000005a Code RO 6206 x$fpl$dfixu fz_wm.l(dfixu.o)
|
||||
0x0800823a 0x0800823a 0x0000002e Code RO 6211 x$fpl$dflt fz_wm.l(dflt_clz.o)
|
||||
0x08008268 0x08008268 0x000000a2 Code RO 6216 x$fpl$dfltll fz_wm.l(dfltll_clz.o)
|
||||
0x0800830a 0x0800830a 0x00000002 PAD
|
||||
0x0800830c 0x0800830c 0x00000154 Code RO 6220 x$fpl$dmul fz_wm.l(dmul.o)
|
||||
0x08008460 0x08008460 0x0000009c Code RO 6252 x$fpl$dnaninf fz_wm.l(dnaninf.o)
|
||||
0x080084fc 0x080084fc 0x0000000c Code RO 6254 x$fpl$dretinf fz_wm.l(dretinf.o)
|
||||
0x08008508 0x08008508 0x000001d4 Code RO 6190 x$fpl$dsub fz_wm.l(daddsub_clz.o)
|
||||
0x080086dc 0x080086dc 0x0000000a Code RO 6423 x$fpl$fpinit fz_wm.l(fpinit.o)
|
||||
0x080086e6 0x080086e6 0x00000000 Code RO 6260 x$fpl$usenofp fz_wm.l(usenofp.o)
|
||||
0x080086e6 0x080086e6 0x00000008 Data RO 1572 .constdata stm32f4xx_hal_dma.o
|
||||
0x080086ee 0x080086ee 0x00000018 Data RO 4417 .constdata system_stm32f4xx.o
|
||||
0x08008706 0x08008706 0x00000002 PAD
|
||||
0x08008708 0x08008708 0x00000020 Data RO 6479 Region$$Table anon$$obj.o
|
||||
|
||||
|
||||
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080086e8, Size: 0x00001bd0, Max: 0x0001c000, ABSOLUTE, COMPRESSED[0x00000020])
|
||||
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08008728, Size: 0x00001bd0, Max: 0x0001c000, ABSOLUTE, COMPRESSED[0x00000020])
|
||||
|
||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
|
@ -4167,7 +4167,7 @@ Memory Map of the image
|
|||
0x200017d0 - 0x00000400 Zero RW 1 STACK startup_stm32f407xx.o
|
||||
|
||||
|
||||
Execution Region RW_IRAM2 (Exec base: 0x2001c000, Load base: 0x08008708, Size: 0x00000000, Max: 0x00004000, ABSOLUTE)
|
||||
Execution Region RW_IRAM2 (Exec base: 0x2001c000, Load base: 0x08008748, Size: 0x00000000, Max: 0x00004000, ABSOLUTE)
|
||||
|
||||
**** No section assigned to this execution region ****
|
||||
|
||||
|
@ -4198,7 +4198,7 @@ Image component sizes
|
|||
358 32 0 110 196 7180 modbus.o
|
||||
2760 146 0 0 2048 13994 modbus_rtu.o
|
||||
256 50 0 17 0 3199 ms5803.o
|
||||
4442 266 0 41 456 9270 provalctrl.o
|
||||
4506 262 0 41 456 9318 provalctrl.o
|
||||
204 22 0 0 88 1861 spi.o
|
||||
64 26 392 0 1536 892 startup_stm32f407xx.o
|
||||
212 36 0 9 0 9777 stm32f4xx_hal.o
|
||||
|
@ -4221,7 +4221,7 @@ Image component sizes
|
|||
1288 114 0 0 840 5222 usart.o
|
||||
|
||||
----------------------------------------------------------------------
|
||||
30712 2058 458 416 6608 946750 Object Totals
|
||||
30776 2054 458 416 6608 946798 Object Totals
|
||||
0 0 32 0 0 0 (incl. Generated)
|
||||
30 0 2 13 3 0 (incl. Padding)
|
||||
|
||||
|
@ -4286,15 +4286,15 @@ Image component sizes
|
|||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug
|
||||
|
||||
34078 2250 458 416 6704 926598 Grand Totals
|
||||
34078 2250 458 32 6704 926598 ELF Image Totals (compressed)
|
||||
34078 2250 458 32 0 0 ROM Totals
|
||||
34142 2246 458 416 6704 926646 Grand Totals
|
||||
34142 2246 458 32 6704 926646 ELF Image Totals (compressed)
|
||||
34142 2246 458 32 0 0 ROM Totals
|
||||
|
||||
==============================================================================
|
||||
|
||||
Total RO Size (Code + RO Data) 34536 ( 33.73kB)
|
||||
Total RO Size (Code + RO Data) 34600 ( 33.79kB)
|
||||
Total RW Size (RW Data + ZI Data) 7120 ( 6.95kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 34568 ( 33.76kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 34632 ( 33.82kB)
|
||||
|
||||
==============================================================================
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ I (C:\Users\admin\Desktop\wujunchao\99_General softwares\Keil_v5\ARM\ARM Compile
|
|||
I (../board/Inc/ms5803.h)(0x669760FF)
|
||||
I (../board/Inc/ds18b20.h)(0x6694D35E)
|
||||
I (../board/Inc/dac7311.h)(0x66949B65)
|
||||
I (../users/Inc/provalctrl.h)(0x66DAB0EF)
|
||||
I (../users/Inc/provalctrl.h)(0x66DBB69C)
|
||||
I (../board/Inc/eeprom.h)(0x66CE9587)
|
||||
F (../Core/Src/gpio.c)(0x66C2E5A9)(--c99 -c --cpu Cortex-M4.fp.sp -g -O0 -Otime --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../board/Inc -I ../CH395Q -I ../modbus/Inc -I ../users/Inc
-I.\RTE\_VOQC
-IC:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include
-IC:\Users\admin\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include
-D__UVISION_VERSION="539" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o voqc\gpio.o --omf_browse voqc\gpio.crf --depend voqc\gpio.d)
|
||||
I (../Core/Inc/gpio.h)(0x668F85FA)
|
||||
|
@ -1429,7 +1429,7 @@ I (../CH395Q/ch395inc.h)(0x66C443B0)
|
|||
I (../Core/Inc/spi.h)(0x668F85FC)
|
||||
I (../CH395Q/ch395cmd.h)(0x664FF969)
|
||||
I (C:\Users\admin\Desktop\wujunchao\99_General softwares\Keil_v5\ARM\ARM Compiler_5_06\include\string.h)(0x5E8E3CC2)
|
||||
I (../users/Inc/provalctrl.h)(0x66DAB0EF)
|
||||
I (../users/Inc/provalctrl.h)(0x66DBB69C)
|
||||
I (../board/Inc/dac7311.h)(0x66949B65)
|
||||
I (../board/Inc/eeprom.h)(0x66CE9587)
|
||||
F (..\board\Src\dac7311.c)(0x66AB21F7)(--c99 -c --cpu Cortex-M4.fp.sp -g -O0 -Otime --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../board/Inc -I ../CH395Q -I ../modbus/Inc -I ../users/Inc
-I.\RTE\_VOQC
-IC:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include
-IC:\Users\admin\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include
-D__UVISION_VERSION="539" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o voqc\dac7311.o --omf_browse voqc\dac7311.crf --depend voqc\dac7311.d)
|
||||
|
@ -2242,8 +2242,8 @@ I (../Core/Inc/spi.h)(0x668F85FC)
|
|||
I (../CH395Q/ch395cmd.h)(0x664FF969)
|
||||
I (C:\Users\admin\Desktop\wujunchao\99_General softwares\Keil_v5\ARM\ARM Compiler_5_06\include\string.h)(0x5E8E3CC2)
|
||||
I (C:\Users\admin\Desktop\wujunchao\99_General softwares\Keil_v5\ARM\ARM Compiler_5_06\include\stdio.h)(0x5E8E3CC2)
|
||||
F (..\users\Src\provalctrl.c)(0x66DAB147)(--c99 -c --cpu Cortex-M4.fp.sp -g -O0 -Otime --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../board/Inc -I ../CH395Q -I ../modbus/Inc -I ../users/Inc
-I.\RTE\_VOQC
-IC:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include
-IC:\Users\admin\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include
-D__UVISION_VERSION="539" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o voqc\provalctrl.o --omf_browse voqc\provalctrl.crf --depend voqc\provalctrl.d)
|
||||
I (../users/Inc/provalctrl.h)(0x66DAB0EF)
|
||||
F (..\users\Src\provalctrl.c)(0x66DBDD6A)(--c99 -c --cpu Cortex-M4.fp.sp -g -O0 -Otime --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../board/Inc -I ../CH395Q -I ../modbus/Inc -I ../users/Inc
-I.\RTE\_VOQC
-IC:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include
-IC:\Users\admin\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include
-D__UVISION_VERSION="539" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx
-o voqc\provalctrl.o --omf_browse voqc\provalctrl.crf --depend voqc\provalctrl.d)
|
||||
I (../users/Inc/provalctrl.h)(0x66DBB69C)
|
||||
I (../modbus/Inc/modbus.h)(0x66CEC5B0)
|
||||
I (../users/Inc/timer.h)(0x66CEDE30)
|
||||
I (../Core/Inc/tim.h)(0x6694D67D)
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -28,13 +28,13 @@ void prov_init(void) //不同比例阀的初始参数不一样
|
|||
pv_one.input_max = 20; //输入电流上限20mA
|
||||
pv_one.bias = 0; //偏差 = 目标气压百分比 - 当前气压百分比
|
||||
pv_one.bias_previous = 0; //前一个时刻的偏差
|
||||
pv_one.bias_area = 0.3; //允许的误差范围,±a(%)
|
||||
pv_one.bias_area = 0.5; //允许的误差范围,±a(%)
|
||||
|
||||
pv_one.Kp = data_rd[0]; //比例系数
|
||||
pv_one.Ti = (data_rd[1] == 0)?(1000000):(data_rd[1]); //积分时间,位于分母
|
||||
pv_one.Ing = 0; //积分输出
|
||||
pv_one.Ing_max = 5000; //积分上限
|
||||
pv_one.Ing_min = -5000; //积分下限
|
||||
pv_one.Ing_min = 0; //积分下限
|
||||
pv_one.Ing_sum = 0; //偏差求和
|
||||
pv_one.Td = data_rd[2]; //微分时间
|
||||
pv_one.Ts = 0.05; //采样周期,50ms
|
||||
|
@ -78,7 +78,7 @@ void prov_init(void) //不同比例阀的初始参数不一样
|
|||
pv_two.Ti = (data_rd[1] == 0)?(1000000):(data_rd[1]); //积分时间
|
||||
pv_two.Ing = 0;
|
||||
pv_two.Ing_max = 5000;
|
||||
pv_two.Ing_min = -5000;
|
||||
pv_two.Ing_min = 0;
|
||||
pv_two.Ing_sum = 0;
|
||||
pv_two.Td = data_rd[2];
|
||||
pv_two.Ts = 0.05; //采样周期,50ms
|
||||
|
@ -171,45 +171,38 @@ void prov_calibrate_pid(propotion_valve *pvx)
|
|||
{
|
||||
if( (abs_bias(pvx->bias) > pvx->bias_area ) && (abs_bias(pvx->bias) < BIAS_MAX) ) //误差进入目标±BIAS_MAX%以内后再进行控制
|
||||
{
|
||||
beta_in = ( abs_bias(pvx->bias) + BIAS_MAX * (float)1.25 ) / ( BIAS_MAX ); //变速积分
|
||||
beta_in = ( abs_bias(pvx->bias*pvx->bias) + BIAS_MAX ) / ( BIAS_MAX ); //变速积分
|
||||
beta_out = ( abs_bias(pvx->bias) + BIAS_MAX/2 ) / ( BIAS_MAX ); //变速积分
|
||||
|
||||
switch(pvx->gas_direction) //根据气体方向对输出范围做补偿
|
||||
{
|
||||
case GAS_IN:
|
||||
{
|
||||
if( (pvx->Ing_sum >= pvx->Ing_min) && (pvx->Ing_sum <= pvx->Ing_max) ) //积分累加与限幅
|
||||
{
|
||||
pvx->Ing_sum += pvx->bias * beta_in; //偏差求和
|
||||
}else
|
||||
{
|
||||
pvx->Ing_sum = (pvx->Ing_sum > 0)?(pvx->Ing_max):(pvx->Ing_min);
|
||||
}
|
||||
|
||||
pvx->Ing_sum += pvx->bias;// * beta_in; //偏差求和
|
||||
pvx->Ing_sum = (pvx->Ing_sum > pvx->Ing_max)?(pvx->Ing_max):(pvx->Ing_sum); //积分限幅
|
||||
pvx->Ing_sum = (pvx->Ing_sum < pvx->Ing_min)?(pvx->Ing_min):(pvx->Ing_sum);
|
||||
|
||||
pvx->Ing = ( pvx->Ts / pvx->Ti ) * pvx->Ing_sum; //积分项
|
||||
|
||||
pvx->Div = ( pvx->Td / pvx->Ts ) * ( pvx->bias - pvx->bias_previous ); //微分项
|
||||
|
||||
pvx->pidout = pvx->Kp*( pvx->bias + pvx->Ing + pvx->Div ); //pid输出
|
||||
pvx->current_input = (pvx->pidout/100) * (pvx->input_max - pvx->input_min);
|
||||
pvx->current_input = (pvx->pidout/100) * (pvx->input_max - pvx->input_min) + pvx->input_min;
|
||||
}
|
||||
break;
|
||||
|
||||
case GAS_OUT:
|
||||
{
|
||||
if( (pvx->Ing_sum >= pvx->Ing_min) && (pvx->Ing_sum <= pvx->Ing_max) ) //积分累加与限幅
|
||||
{
|
||||
pvx->Ing_sum += pvx->bias * beta_out; //偏差求和
|
||||
}else
|
||||
{
|
||||
pvx->Ing_sum = (pvx->Ing_sum > 0)?(pvx->Ing_max):(pvx->Ing_min);
|
||||
}
|
||||
pvx->Ing_sum += pvx->bias;// * beta_out; //偏差求和
|
||||
pvx->Ing_sum = (pvx->Ing_sum > pvx->Ing_max)?(pvx->Ing_max):(pvx->Ing_sum); //积分限幅
|
||||
pvx->Ing_sum = (pvx->Ing_sum < pvx->Ing_min)?(pvx->Ing_min):(pvx->Ing_sum);
|
||||
|
||||
pvx->Ing = ( pvx->Ts / pvx->Ti ) * pvx->Ing_sum; //积分项
|
||||
|
||||
pvx->Div = ( pvx->Td / pvx->Ts ) * ( pvx->bias - pvx->bias_previous ); //微分项
|
||||
|
||||
pvx->pidout = pvx->Kp*( pvx->bias + pvx->Ing + pvx->Div ); //pid输出
|
||||
pvx->current_input = (pvx->pidout/100) * (pvx->input_max - pvx->input_min);
|
||||
pvx->current_input = (pvx->pidout/100) * (pvx->input_max - pvx->input_min) + pvx->input_min;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -236,13 +229,34 @@ void prov_calibrate_pid(propotion_valve *pvx)
|
|||
if( pvx->target_current <= pvx->input_min*(float)(1.005) )
|
||||
{
|
||||
pvx->current_input = pvx->input_min;
|
||||
pvx->Ing_sum = pvx->input_min / pvx->Kp / ( pvx->Ts / pvx->Ti );
|
||||
// pvx->Ing_sum = 0;
|
||||
}
|
||||
|
||||
pvx->pvout(pvx->current_input); //dac输出
|
||||
|
||||
}else if(abs_bias(pvx->bias) >= BIAS_MAX)
|
||||
{
|
||||
pvx->Ing_sum = pvx->current_input / pvx->Kp / ( pvx->Ts / pvx->Ti ); //预估积分值,改善滞后
|
||||
switch(pvx->gas_direction) //根据气体方向对输出范围做补偿
|
||||
{
|
||||
case GAS_IN:
|
||||
{
|
||||
pvx->Ing_sum = (pvx->target_percent - 100*out_makeup) / pvx->Kp / ( pvx->Ts / pvx->Ti ); //预估积分值,改善滞后
|
||||
pvx->Ing_sum = (pvx->Ing_sum < pvx->Ing_min)?(pvx->Ing_min):(pvx->Ing_sum);
|
||||
}
|
||||
break;
|
||||
|
||||
case GAS_OUT:
|
||||
{
|
||||
pvx->Ing_sum = pvx->target_percent / pvx->Kp / ( pvx->Ts / pvx->Ti ); //预估积分值,改善滞后
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
{
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -560,8 +574,8 @@ void prov_adj(propotion_valve *pvx, prov_adjust *adj_pvx)
|
|||
|
||||
/* PI [0.45,0.8]*/
|
||||
/* PID [0.6,0.5,0.12]*/
|
||||
pvx->Kp = (float)0.6 * ( 4 * (float)0.1 ) / ( (float)3.1415 * adj_pvx->relay_A );
|
||||
pvx->Ti = (float)0.5 * adj_pvx->relay_Tc/1000 / 10;
|
||||
pvx->Kp = (float)0.6 * ( 4 * (float)0.1 ) / ( (float)3.1415 * adj_pvx->relay_A ) / 3;
|
||||
pvx->Ti = (float)0.5 * adj_pvx->relay_Tc/1000 / 20;
|
||||
pvx->Td = (float)0.12 * adj_pvx->relay_Tc/1000;
|
||||
|
||||
pvx->Ing_sum = 0;
|
||||
|
|
Loading…
Reference in New Issue