Bug fix in RTC & BKP initialization
This commit is contained in:
parent
a39a483b53
commit
d16d60fd14
File diff suppressed because one or more lines are too long
|
|
@ -153,56 +153,7 @@
|
||||||
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0GD32F10x_CL -FS08000000 -FL040000 -FP0($$Device:GD32F107VC$Flash\GD32F10x_CL.FLM))</Name>
|
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0GD32F10x_CL -FS08000000 -FL040000 -FP0($$Device:GD32F107VC$Flash\GD32F10x_CL.FLM))</Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
</TargetDriverDllRegistry>
|
</TargetDriverDllRegistry>
|
||||||
<Breakpoint>
|
<Breakpoint/>
|
||||||
<Bp>
|
|
||||||
<Number>0</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>603</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>0</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
|
||||||
<Filename>.\FreeRTOS\source\portable\NetworkInterface\board_family\NetworkInterface.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression></Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>1</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>642</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>0</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
|
||||||
<Filename>.\FreeRTOS\source\portable\NetworkInterface\board_family\NetworkInterface.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression></Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>2</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>602</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>0</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
|
||||||
<Filename>.\FreeRTOS\source\portable\NetworkInterface\board_family\NetworkInterface.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression></Expression>
|
|
||||||
</Bp>
|
|
||||||
</Breakpoint>
|
|
||||||
<WatchWindow1>
|
<WatchWindow1>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>0</count>
|
<count>0</count>
|
||||||
|
|
@ -373,7 +324,19 @@
|
||||||
<pMultCmdsp></pMultCmdsp>
|
<pMultCmdsp></pMultCmdsp>
|
||||||
<SystemViewers>
|
<SystemViewers>
|
||||||
<Entry>
|
<Entry>
|
||||||
<Name>System Viewer\ENET_DMA</Name>
|
<Name>System Viewer\BKP</Name>
|
||||||
|
<WinId>35902</WinId>
|
||||||
|
</Entry>
|
||||||
|
<Entry>
|
||||||
|
<Name>System Viewer\PMU</Name>
|
||||||
|
<WinId>35904</WinId>
|
||||||
|
</Entry>
|
||||||
|
<Entry>
|
||||||
|
<Name>System Viewer\RCU</Name>
|
||||||
|
<WinId>35903</WinId>
|
||||||
|
</Entry>
|
||||||
|
<Entry>
|
||||||
|
<Name>System Viewer\RTC</Name>
|
||||||
<WinId>35905</WinId>
|
<WinId>35905</WinId>
|
||||||
</Entry>
|
</Entry>
|
||||||
</SystemViewers>
|
</SystemViewers>
|
||||||
|
|
@ -438,7 +401,7 @@
|
||||||
<GroupNumber>1</GroupNumber>
|
<GroupNumber>1</GroupNumber>
|
||||||
<FileNumber>5</FileNumber>
|
<FileNumber>5</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>1</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<bDave2>0</bDave2>
|
<bDave2>0</bDave2>
|
||||||
<PathWithFileName>.\PHY\PHY_DP83848C.c</PathWithFileName>
|
<PathWithFileName>.\PHY\PHY_DP83848C.c</PathWithFileName>
|
||||||
|
|
@ -462,7 +425,7 @@
|
||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>FreeRTOS</GroupName>
|
<GroupName>FreeRTOS</GroupName>
|
||||||
<tvExp>1</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
|
|
@ -470,7 +433,7 @@
|
||||||
<GroupNumber>2</GroupNumber>
|
<GroupNumber>2</GroupNumber>
|
||||||
<FileNumber>7</FileNumber>
|
<FileNumber>7</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<bDave2>0</bDave2>
|
<bDave2>0</bDave2>
|
||||||
<PathWithFileName>.\FreeRTOS\source\portable\NetworkInterface\Common\phyHandling.c</PathWithFileName>
|
<PathWithFileName>.\FreeRTOS\source\portable\NetworkInterface\Common\phyHandling.c</PathWithFileName>
|
||||||
|
|
|
||||||
16
main.c
16
main.c
|
|
@ -208,19 +208,25 @@ static void vInitMCU(void)
|
||||||
rcu_periph_clock_enable(RCU_ENET);
|
rcu_periph_clock_enable(RCU_ENET);
|
||||||
rcu_periph_clock_enable(RCU_ENETTX);
|
rcu_periph_clock_enable(RCU_ENETTX);
|
||||||
rcu_periph_clock_enable(RCU_ENETRX);
|
rcu_periph_clock_enable(RCU_ENETRX);
|
||||||
rcu_periph_clock_enable(RCU_BKPI);
|
|
||||||
rcu_periph_clock_enable(RCU_PMU);
|
rcu_periph_clock_enable(RCU_PMU);
|
||||||
rcu_periph_clock_enable(RCU_RTC);
|
rcu_periph_reset_enable(RCU_BKPIRST);
|
||||||
|
rcu_periph_reset_disable(RCU_BKPIRST);
|
||||||
|
rcu_periph_clock_enable(RCU_BKPI);
|
||||||
|
|
||||||
|
|
||||||
/* Configure RTC */
|
/* Configure RTC */
|
||||||
|
#ifndef DEBUG_RTC_LXTAL
|
||||||
gpio_init(OSC32_PORT, GPIO_MODE_AF_PP, GPIO_OSPEED_2MHZ, OSC32_IN);
|
gpio_init(OSC32_PORT, GPIO_MODE_AF_PP, GPIO_OSPEED_2MHZ, OSC32_IN);
|
||||||
gpio_init(OSC32_PORT, GPIO_MODE_AF_PP, GPIO_OSPEED_2MHZ, OSC32_OUT);
|
gpio_init(OSC32_PORT, GPIO_MODE_AF_PP, GPIO_OSPEED_2MHZ, OSC32_OUT);
|
||||||
|
|
||||||
if (FALSE == rtc_counter_get() & FALSE == rtc_flag_get(RTC_CTL_OVIF))
|
if (FALSE == rtc_counter_get() & FALSE == rtc_flag_get(RTC_CTL_OVIF))
|
||||||
{
|
{
|
||||||
pmu_backup_write_enable();
|
pmu_backup_write_enable();
|
||||||
|
bkp_deinit();
|
||||||
|
rcu_osci_on(RCU_LXTAL);
|
||||||
|
rcu_periph_clock_enable(RCU_RTC);
|
||||||
rcu_rtc_clock_config(RCU_RTCSRC_LXTAL);
|
rcu_rtc_clock_config(RCU_RTCSRC_LXTAL);
|
||||||
|
|
||||||
while (RESET == (RCU_BDCTL & RCU_BDCTL_LXTALSTB)) {}
|
while (RESET == (RCU_BDCTL & RCU_BDCTL_LXTALSTB)) {}
|
||||||
|
|
||||||
rtc_lwoff_wait();
|
rtc_lwoff_wait();
|
||||||
|
|
@ -228,10 +234,12 @@ static void vInitMCU(void)
|
||||||
rtc_lwoff_wait();
|
rtc_lwoff_wait();
|
||||||
rtc_prescaler_set(0);
|
rtc_prescaler_set(0);
|
||||||
rtc_lwoff_wait();
|
rtc_lwoff_wait();
|
||||||
|
|
||||||
|
pmu_backup_write_disable();
|
||||||
}
|
}
|
||||||
else if (TRUE == rtc_flag_get(RTC_CTL_OVIF))
|
else if (TRUE == rtc_flag_get(RTC_CTL_OVIF))
|
||||||
rtc_flag_clear(RTC_CTL_OVIF);
|
rtc_flag_clear(RTC_CTL_OVIF);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Configure GPIO Alternate UART function */
|
/* Configure GPIO Alternate UART function */
|
||||||
gd_eval_com_init(EVAL_COM1);
|
gd_eval_com_init(EVAL_COM1);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue