1、【修改】Flash环境变量的缓存方式,采用静态内存,减低移植难度。

Signed-off-by: armink <armink.ztl@gmail.com>
pull/1/head
armink 11 years ago
parent e25ec3bb4c
commit f2faf532c7

File diff suppressed because it is too large Load Diff

@ -39,7 +39,7 @@
<Wnd0>
<Wnd2>
<Tabs>
<Tab>
<Identity>TabID-27820-6871</Identity>
@ -55,7 +55,7 @@
</Tab>
<Tab><Identity>TabID-23458-14555</Identity><TabName>Find All Declarations</TabName><Factory>Find-All-Declarations</Factory><Session/></Tab></Tabs>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1>
<SelectedTab>0</SelectedTab></Wnd2><Wnd4>
<Tabs>
<Tab>
<Identity>TabID-5800-6874</Identity>
@ -67,20 +67,20 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd1><Wnd3><Tabs><Tab><Identity>TabID-15165-9557</Identity><TabName>Live Watch</TabName><Factory>StaticWatch</Factory></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
<SelectedTab>0</SelectedTab></Wnd4><Wnd5><Tabs><Tab><Identity>TabID-15165-9557</Identity><TabName>Live Watch</TabName><Factory>StaticWatch</Factory></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd5></Windows>
<Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\app\src\app.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>112</SelStart2><SelEnd2>112</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\components\others\bsp.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>157</YPos2><SelStart2>5817</SelStart2><SelEnd2>5817</SelEnd2></Tab><ActiveTab>1</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\app\src\app.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>347</SelStart2><SelEnd2>347</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-03658f08><key>iaridepm.enu1</key></Toolbar-03658f08><Toolbar-0af72e80><key>armjlink.enu1</key></Toolbar-0af72e80><Toolbar-0af72840><key>debuggergui.enu1</key></Toolbar-0af72840></Sizes></Row0></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>727</Bottom><Right>241</Right><x>-2</x><y>-2</y><xscreen>100</xscreen><yscreen>197</yscreen><sizeHorzCX>59524</sizeHorzCX><sizeHorzCY>203723</sizeHorzCY><sizeVertCX>144643</sizeVertCX><sizeVertCY>753878</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>727</Bottom><Right>477</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>206825</sizeHorzCY><sizeVertCX>285119</sizeVertCX><sizeVertCY>753878</sizeVertCY></Rect></Wnd3></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>195</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>197</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203723</sizeHorzCY><sizeVertCX>59524</sizeVertCX><sizeVertCY>203723</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-03d28f08><key>iaridepm.enu1</key></Toolbar-03d28f08><Toolbar-03908180><key>armjlink.enu1</key></Toolbar-03908180><Toolbar-039099b8><key>debuggergui.enu1</key></Toolbar-039099b8></Sizes></Row0></Top><Left><Row0><Sizes><Wnd4><Rect><Top>-2</Top><Left>-2</Left><Bottom>727</Bottom><Right>241</Right><x>-2</x><y>-2</y><xscreen>100</xscreen><yscreen>197</yscreen><sizeHorzCX>59524</sizeHorzCX><sizeHorzCY>203723</sizeHorzCY><sizeVertCX>144643</sizeVertCX><sizeVertCY>753878</sizeVertCY></Rect></Wnd4></Sizes></Row0></Left><Right><Row0><Sizes><Wnd5><Rect><Top>-2</Top><Left>-2</Left><Bottom>727</Bottom><Right>477</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>206825</sizeHorzCY><sizeVertCX>285119</sizeVertCX><sizeVertCY>753878</sizeVertCY></Rect></Wnd5></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>195</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>197</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203723</sizeHorzCY><sizeVertCX>59524</sizeVertCX><sizeVertCY>203723</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Project>

@ -9,7 +9,7 @@ TriggerName=main
LimitSize=0
ByteLimit=50
[DebugChecksum]
Checksum=-181543210
Checksum=529462468
[Exceptions]
StopOnUncaught=_ 0
StopOnThrow=_ 0

@ -17,7 +17,7 @@
<Build><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1215</ColumnWidth1><ColumnWidth2>324</ColumnWidth2><ColumnWidth3>81</ColumnWidth3></Build><TerminalIO/><Debug-Log><ColumnWidth0>19</ColumnWidth0><ColumnWidth1>1622</ColumnWidth1></Debug-Log><Find-All-Declarations><ColumnWidth0>580</ColumnWidth0><ColumnWidth1>82</ColumnWidth1><ColumnWidth2>994</ColumnWidth2></Find-All-Declarations></Static>
<Windows>
<Wnd0>
<Wnd2>
<Tabs>
<Tab>
<Identity>TabID-30370-1297</Identity>
@ -29,20 +29,20 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-24390-6730</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-3984-13619</Identity><TabName>Find All Declarations</TabName><Factory>Find-All-Declarations</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd1></Windows>
<SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-24390-6730</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-3984-13619</Identity><TabName>Find All Declarations</TabName><Factory>Find-All-Declarations</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
<Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\app\src\app.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>137</SelStart2><SelEnd2>137</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\app\src\app.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>347</SelStart2><SelEnd2>347</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-03658f08><key>iaridepm.enu1</key></Toolbar-03658f08></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>744</Bottom><Right>314</Right><x>-2</x><y>-2</y><xscreen>510</xscreen><yscreen>51</yscreen><sizeHorzCX>303571</sizeHorzCX><sizeHorzCY>52740</sizeHorzCY><sizeVertCX>188095</sizeVertCX><sizeVertCY>771458</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>178</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>180</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>186143</sizeHorzCY><sizeVertCX>303571</sizeVertCX><sizeVertCY>52740</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-03d28f08><key>iaridepm.enu1</key></Toolbar-03d28f08></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>744</Bottom><Right>314</Right><x>-2</x><y>-2</y><xscreen>510</xscreen><yscreen>51</yscreen><sizeHorzCX>303571</sizeHorzCX><sizeHorzCY>52740</sizeHorzCY><sizeVertCX>188095</sizeVertCX><sizeVertCY>771458</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>178</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>180</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>186143</sizeHorzCY><sizeVertCX>303571</sizeVertCX><sizeVertCY>52740</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>

@ -42,7 +42,7 @@ __initial_sp
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
Heap_Size EQU 0x00001000
Heap_Size EQU 0x00000400
AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base

File diff suppressed because one or more lines are too long

@ -18,7 +18,7 @@ I (..\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_tim.h)(0x545CB529)
I (..\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_usart.h)(0x545CB528)
I (..\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_wwdg.h)(0x545CB529)
I (..\Libraries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x545CB528)
I (..\..\..\..\flash\inc\flash.h)(0x5531B78D)
I (..\..\..\..\flash\inc\flash.h)(0x5535936A)
I (..\components\others\types.h)(0x54B63E7E)
I (C:\Program Files\Keil\ARM\RV31\INC\stddef.h)(0x4C10B340)
I (C:\Program Files\Keil\ARM\RV31\INC\stdio.h)(0x4BA13B96)
@ -64,9 +64,9 @@ I (..\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_usart.h)(0x545CB528)
I (..\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_wwdg.h)(0x545CB529)
I (..\Libraries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x545CB528)
I (C:\Program Files\Keil\ARM\RV31\INC\stdio.h)(0x4BA13B96)
F (..\Libraries\CMSIS_RVMDK\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_hd.s)(0x55321BC6)(--cpu Cortex-M3 -g --apcs=interwork --pd "__MICROLIB SETA 1" -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" --list ".\Output\list\startup_stm32f10x_hd.lst" --xref -o ".\Output\startup_stm32f10x_hd.o" --depend ".\Output\startup_stm32f10x_hd.d")
F (..\components\flash\port\flash_port.c)(0x5532118B)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 -Otime --apcs=interwork --split_sections -I..\app\inc -I..\components\rtt_uart -I..\components\others -I..\Libraries\STM32F10x_StdPeriph_Driver\inc -I..\Libraries\CMSIS_RVMDK\CM3\DeviceSupport\ST\STM32F10x -I..\..\..\..\flash\inc -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_HD -DUSE_FULL_ASSERT -o ".\Output\flash_port.o" --omf_browse ".\Output\flash_port.crf" --depend ".\Output\flash_port.d")
I (..\..\..\..\flash\inc\flash.h)(0x5531B78D)
F (..\Libraries\CMSIS_RVMDK\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_hd.s)(0x553596CB)(--cpu Cortex-M3 -g --apcs=interwork --pd "__MICROLIB SETA 1" -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" --list ".\Output\list\startup_stm32f10x_hd.lst" --xref -o ".\Output\startup_stm32f10x_hd.o" --depend ".\Output\startup_stm32f10x_hd.d")
F (..\components\flash\port\flash_port.c)(0x5535959F)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 -Otime --apcs=interwork --split_sections -I..\app\inc -I..\components\rtt_uart -I..\components\others -I..\Libraries\STM32F10x_StdPeriph_Driver\inc -I..\Libraries\CMSIS_RVMDK\CM3\DeviceSupport\ST\STM32F10x -I..\..\..\..\flash\inc -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_HD -DUSE_FULL_ASSERT -o ".\Output\flash_port.o" --omf_browse ".\Output\flash_port.crf" --depend ".\Output\flash_port.d")
I (..\..\..\..\flash\inc\flash.h)(0x5535936A)
I (..\components\others\types.h)(0x54B63E7E)
I (C:\Program Files\Keil\ARM\RV31\INC\stdint.h)(0x4BA13B96)
I (C:\Program Files\Keil\ARM\RV31\INC\stddef.h)(0x4C10B340)
@ -89,27 +89,27 @@ I (..\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_tim.h)(0x545CB529)
I (..\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_usart.h)(0x545CB528)
I (..\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_wwdg.h)(0x545CB529)
I (..\Libraries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x545CB528)
F (..\..\..\..\flash\src\flash.c)(0x5530BFAC)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 -Otime --apcs=interwork --split_sections -I..\app\inc -I..\components\rtt_uart -I..\components\others -I..\Libraries\STM32F10x_StdPeriph_Driver\inc -I..\Libraries\CMSIS_RVMDK\CM3\DeviceSupport\ST\STM32F10x -I..\..\..\..\flash\inc -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_HD -DUSE_FULL_ASSERT -o ".\Output\flash.o" --omf_browse ".\Output\flash.crf" --depend ".\Output\flash.d")
I (..\..\..\..\flash\inc\flash.h)(0x5531B78D)
F (..\..\..\..\flash\src\flash.c)(0x5534DA41)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 -Otime --apcs=interwork --split_sections -I..\app\inc -I..\components\rtt_uart -I..\components\others -I..\Libraries\STM32F10x_StdPeriph_Driver\inc -I..\Libraries\CMSIS_RVMDK\CM3\DeviceSupport\ST\STM32F10x -I..\..\..\..\flash\inc -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_HD -DUSE_FULL_ASSERT -o ".\Output\flash.o" --omf_browse ".\Output\flash.crf" --depend ".\Output\flash.d")
I (..\..\..\..\flash\inc\flash.h)(0x5535936A)
I (..\components\others\types.h)(0x54B63E7E)
I (C:\Program Files\Keil\ARM\RV31\INC\stdint.h)(0x4BA13B96)
I (C:\Program Files\Keil\ARM\RV31\INC\stddef.h)(0x4C10B340)
F (..\..\..\..\flash\src\flash_env.c)(0x5530BFBA)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 -Otime --apcs=interwork --split_sections -I..\app\inc -I..\components\rtt_uart -I..\components\others -I..\Libraries\STM32F10x_StdPeriph_Driver\inc -I..\Libraries\CMSIS_RVMDK\CM3\DeviceSupport\ST\STM32F10x -I..\..\..\..\flash\inc -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_HD -DUSE_FULL_ASSERT -o ".\Output\flash_env.o" --omf_browse ".\Output\flash_env.crf" --depend ".\Output\flash_env.d")
I (..\..\..\..\flash\inc\flash.h)(0x5531B78D)
F (..\..\..\..\flash\src\flash_env.c)(0x5534DEFC)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 -Otime --apcs=interwork --split_sections -I..\app\inc -I..\components\rtt_uart -I..\components\others -I..\Libraries\STM32F10x_StdPeriph_Driver\inc -I..\Libraries\CMSIS_RVMDK\CM3\DeviceSupport\ST\STM32F10x -I..\..\..\..\flash\inc -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_HD -DUSE_FULL_ASSERT -o ".\Output\flash_env.o" --omf_browse ".\Output\flash_env.crf" --depend ".\Output\flash_env.d")
I (..\..\..\..\flash\inc\flash.h)(0x5535936A)
I (..\components\others\types.h)(0x54B63E7E)
I (C:\Program Files\Keil\ARM\RV31\INC\stdint.h)(0x4BA13B96)
I (C:\Program Files\Keil\ARM\RV31\INC\stddef.h)(0x4C10B340)
I (C:\Program Files\Keil\ARM\RV31\INC\string.h)(0x4BA13B9A)
I (C:\Program Files\Keil\ARM\RV31\INC\stdlib.h)(0x4BD5D7FE)
F (..\..\..\..\flash\src\flash_env_wl.c)(0x5530BFCA)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 -Otime --apcs=interwork --split_sections -I..\app\inc -I..\components\rtt_uart -I..\components\others -I..\Libraries\STM32F10x_StdPeriph_Driver\inc -I..\Libraries\CMSIS_RVMDK\CM3\DeviceSupport\ST\STM32F10x -I..\..\..\..\flash\inc -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_HD -DUSE_FULL_ASSERT -o ".\Output\flash_env_wl.o" --omf_browse ".\Output\flash_env_wl.crf" --depend ".\Output\flash_env_wl.d")
I (..\..\..\..\flash\inc\flash.h)(0x5531B78D)
F (..\..\..\..\flash\src\flash_env_wl.c)(0x5534DE03)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 -Otime --apcs=interwork --split_sections -I..\app\inc -I..\components\rtt_uart -I..\components\others -I..\Libraries\STM32F10x_StdPeriph_Driver\inc -I..\Libraries\CMSIS_RVMDK\CM3\DeviceSupport\ST\STM32F10x -I..\..\..\..\flash\inc -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_HD -DUSE_FULL_ASSERT -o ".\Output\flash_env_wl.o" --omf_browse ".\Output\flash_env_wl.crf" --depend ".\Output\flash_env_wl.d")
I (..\..\..\..\flash\inc\flash.h)(0x5535936A)
I (..\components\others\types.h)(0x54B63E7E)
I (C:\Program Files\Keil\ARM\RV31\INC\stdint.h)(0x4BA13B96)
I (C:\Program Files\Keil\ARM\RV31\INC\stddef.h)(0x4C10B340)
I (C:\Program Files\Keil\ARM\RV31\INC\string.h)(0x4BA13B9A)
I (C:\Program Files\Keil\ARM\RV31\INC\stdlib.h)(0x4BD5D7FE)
F (..\..\..\..\flash\src\flash_iap.c)(0x5524EE4B)(-c --cpu Cortex-M3 -D__MICROLIB -g -O0 -Otime --apcs=interwork --split_sections -I..\app\inc -I..\components\rtt_uart -I..\components\others -I..\Libraries\STM32F10x_StdPeriph_Driver\inc -I..\Libraries\CMSIS_RVMDK\CM3\DeviceSupport\ST\STM32F10x -I..\..\..\..\flash\inc -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_HD -DUSE_FULL_ASSERT -o ".\Output\flash_iap.o" --omf_browse ".\Output\flash_iap.crf" --depend ".\Output\flash_iap.d")
I (..\..\..\..\flash\inc\flash.h)(0x5531B78D)
I (..\..\..\..\flash\inc\flash.h)(0x5535936A)
I (..\components\others\types.h)(0x54B63E7E)
I (C:\Program Files\Keil\ARM\RV31\INC\stdint.h)(0x4BA13B96)
I (C:\Program Files\Keil\ARM\RV31\INC\stddef.h)(0x4C10B340)

File diff suppressed because one or more lines are too long

@ -1,175 +1,155 @@
T1688 000:880 SEGGER J-Link V4.15n (beta) Log File (0000ms, 0875ms total)
T1688 000:880 DLL Compiled: Jun 18 2010 19:55:09 (0000ms, 0875ms total)
T1688 000:880 Logging started @ 2015-04-18 16:56 (0000ms, 0875ms total)
T1688 000:880 JLINK_SetWarnOutHandler(...) (0000ms, 0875ms total)
T1688 000:880 JLINK_OpenEx(...)
T2360 000:692 SEGGER J-Link V4.15n (beta) Log File (0000ms, 0688ms total)
T2360 000:692 DLL Compiled: Jun 18 2010 19:55:09 (0000ms, 0688ms total)
T2360 000:692 Logging started @ 2015-04-21 08:18 (0000ms, 0688ms total)
T2360 000:692 JLINK_SetWarnOutHandler(...) (0000ms, 0688ms total)
T2360 000:692 JLINK_OpenEx(...)
Firmware: J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04
Hardware: V7.00
S/N: 20090928
Feature(s): RDI,FlashDL,FlashBP,JFlash,GDBFull returns O.K. (0274ms, 0875ms total)
T1688 001:154 JLINK_SetErrorOutHandler(...) (0000ms, 1149ms total)
T1688 001:155 JLINK_ExecCommand("ProjectFile = "D:\Program\STM32\EasyFlash\demo\stm32f10x\non_os\RVMDK\JLinkSettings.ini"", ...) returns 0x00 (0000ms, 1149ms total)
T1688 001:156 JLINK_ExecCommand("DisableConnectionTimeout", ...) returns 0x00 (0000ms, 1149ms total)
T1688 001:157 JLINK_TIF_Select(JLINKARM_TIF_SWD) returns 0x00 (0001ms, 1149ms total)
T1688 001:160 JLINK_SetSpeed(2000) (0001ms, 1150ms total)
T1688 001:161 JLINK_GetHardwareVersion() returns 0x11170 (0000ms, 1151ms total)
T1688 001:161 JLINK_GetDLLVersion() returns 41514 (0000ms, 1151ms total)
T1688 001:161 JLINK_GetFirmwareString(...) (0000ms, 1151ms total)
T1688 001:168 JLINK_GetDLLVersion() returns 41514 (0000ms, 1151ms total)
T1688 001:168 JLINK_GetCompileDateTime() (0000ms, 1151ms total)
T1688 001:168 JLINK_GetFirmwareString(...) (0000ms, 1151ms total)
T1688 001:169 JLINK_GetHardwareVersion() returns 0x11170 (0000ms, 1151ms total)
T1688 001:169 JLINK_Reset() >0x108 TIF>Found SWD-DP with ID 0x1BA01477 >0x33 TIF> >0x33 TIF> >0x35 TIF> >0x33 TIF> >0x35 TIF> >0x33 TIF> >0x33 TIF> >0x9B TIF> >0x9B TIF> >0x1D7 TIF> >0x13A TIF> >0x13A TIF>TPIU fitted. >0x13A TIF>ETM fitted. >0x13A TIF> FPUnit: 6 code (BP) slots and 2 literal slots >0x13A TIF> >0x13A TIF> >0x1D7 TIF> >0x1D7 TIF> >0x20C TIF> >0x13A TIF> >0x13A TIF> >0x1D7 TIF> >0x1D7 TIF> >0x13A TIF> >0x13A TIF> >0x11E4 TIF> >0x1D7 TIF> >0x13A TIF> >0x11E4 TIF> (0045ms, 1151ms total)
T1688 001:214 JLINK_JTAG_StoreRaw(..., 0x108 Bits) returns 0x00 (0000ms, 1196ms total)
T1688 001:214 JLINK_JTAG_GetU32(BitPos = 227) >0x108 TIF> returns 0x1BA01477 (0001ms, 1196ms total)
T1688 001:215 JLINK_GetDebugInfo(0x100) -- Value=0xE00FF003 returns 0x00 (0001ms, 1197ms total)
T1688 001:218 JLINK_ReadMem (0xE00FF000, 0x0018 Bytes, ...) -- CPU_ReadMem(24 bytes @ 0xE00FF000) -- Data: 03 F0 F0 FF 03 20 F0 FF 03 30 F0 FF 03 10 F0 FF ... returns 0x00 (0002ms, 1198ms total)
T1688 001:220 JLINK_ReadMemU32(0xE000ED00, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000ED00) -- Data: 31 C2 1F 41 returns 0x01 (0001ms, 1200ms total)
T1688 001:221 JLINK_Halt() returns 0x00 (0000ms, 1201ms total)
T1688 001:221 JLINK_IsHalted() returns TRUE (0001ms, 1201ms total)
T1688 001:222 JLINK_ReadMemU32(0xE000EDF0, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- Data: 03 00 03 00 returns 0x01 (0000ms, 1201ms total)
T1688 001:222 JLINK_WriteU32(0xE000EDF0, 0xA05F0003) -- CPU_WriteMem(4 bytes @ 0xE000EDF0) returns 0x00 (0001ms, 1201ms total)
T1688 001:223 JLINK_WriteU32(0xE000EDFC, 0x01000000) -- CPU_WriteMem(4 bytes @ 0xE000EDFC) returns 0x00 (0001ms, 1202ms total)
T1688 001:224 JLINK_ReadMemU32(0xE0002000, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0002000) -- Data: 60 02 00 00 returns 0x01 (0001ms, 1203ms total)
T1688 001:225 JLINK_ReadMemU32(0xE0001000, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0001000) -- Data: 01 00 00 40 returns 0x01 (0001ms, 1204ms total)
T1688 001:227 JLINK_ExecCommand("Device = STM32F103RE", ...)
JLINK_ExecCommand("map ram 0x20000000 - 0x2000FFFF", ...) returns 0x00 (0000ms, 0001ms total)
JLINK_AddMirrorAreaEx(Addr = 0x00000000, Size = 0x00000000) (0000ms, 0001ms total)
returns 0x00 (0001ms, 1205ms total)
T1688 001:228 JLINK_GetHWStatus(...) returns 0x00 (0001ms, 1206ms total)
T1688 001:229 JLINK_GetNumBPUnits(Type = 0xFFFFFF00) >0x108 TIF>Found SWD-DP with ID 0x1BA01477 >0x33 TIF> >0x33 TIF> >0x35 TIF> >0x33 TIF> >0x35 TIF> >0x33 TIF> >0x33 TIF> >0x9B TIF> >0x9B TIF> >0x1D7 TIF> >0x13A TIF> >0x13A TIF>TPIU fitted. >0x13A TIF>ETM fitted. >0x13A TIF> FPUnit: 6 code (BP) slots and 2 literal slots >0x13A TIF> >0x13A TIF> returns 0x06 (0015ms, 1207ms total)
T1688 001:244 JLINK_GetNumBPUnits(Type = 0xF0) returns 0x800 (0000ms, 1222ms total)
T1688 001:244 JLINK_GetNumWPUnits() returns 0x04 (0000ms, 1222ms total)
T1688 001:244 JLINK_GetSpeed() returns 0x7D0 (0000ms, 1222ms total)
T1688 001:244 JLINK_ReadMemU32(0xE000E004, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000E004) -- Data: 01 00 00 00 returns 0x01 (0001ms, 1222ms total)
T1688 001:245 JLINK_WriteMem(0xE0001000, 0x001C Bytes, ...) -- Data: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... -- CPU_WriteMem(28 bytes @ 0xE0001000) returns 0x1C (0001ms, 1223ms total)
T1688 001:246 JLINK_ReadMem (0xE0001000, 0x001C Bytes, ...) -- CPU_ReadMem(28 bytes @ 0xE0001000) -- Data: 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 ... returns 0x00 (0001ms, 1224ms total)
T1688 001:247 JLINK_ReadReg(R15) returns 0x08000144 (0000ms, 1225ms total)
T1688 001:247 JLINK_ReadReg(XPSR) returns 0x01000000 (0000ms, 1225ms total)
T1688 001:882 JLINK_SetResetType(JLINKARM_RESET_TYPE_NORMAL) returns JLINKARM_RESET_TYPE_NORMAL (0000ms, 1225ms total)
T1688 001:882 JLINK_Reset() >0x108 TIF>Found SWD-DP with ID 0x1BA01477 >0x33 TIF> >0x33 TIF> >0x35 TIF> >0x33 TIF> >0x35 TIF> >0x33 TIF> >0x33 TIF> >0x9B TIF> >0x9B TIF> >0x1D7 TIF> >0x13A TIF> >0x13A TIF>TPIU fitted. >0x13A TIF>ETM fitted. >0x13A TIF> FPUnit: 6 code (BP) slots and 2 literal slots >0x13A TIF> >0x13A TIF> >0x1D7 TIF> >0x1D7 TIF> >0x20C TIF> >0x13A TIF> >0x13A TIF> >0x1D7 TIF> >0x1D7 TIF> >0x13A TIF> >0x13A TIF> >0x1D7 TIF> >0x13A TIF> >0x11E4 TIF> (0047ms, 1225ms total)
T1688 001:929 JLINK_ReadReg(R15) returns 0x08000144 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(XPSR) returns 0x01000000 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R0) returns 0x000BF9A2 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R1) returns 0x00000020 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R2) returns 0x00000000 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R3) returns 0x00000000 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R4) returns 0x08003EBC (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R5) returns 0x08003EBC (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R6) returns 0x00000000 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R7) returns 0x00000000 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R8) returns 0x00000000 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R9) returns 0x20000160 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R10) returns 0x00000000 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R11) returns 0x00000000 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R12) returns 0x00000000 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R13) returns 0x200014C0 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R14) returns 0xFFFFFFFF (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(R15) returns 0x08000144 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(XPSR) returns 0x01000000 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(MSP) returns 0x200014C0 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(PSP) returns 0x20000800 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadReg(CFBP) returns 0x00000000 (0000ms, 1272ms total)
T1688 001:929 JLINK_ReadMem (0x08000144, 0x003C Bytes, ...) -- CPU_ReadMem(64 bytes @ 0x08000140) -- Updating C cache (64 bytes @ 0x08000140) -- Read from C cache (60 bytes @ 0x08000144) -- Data: 06 48 80 47 06 48 00 47 FE E7 FE E7 FE E7 FE E7 ... returns 0x00 (0002ms, 1272ms total)
T1688 002:608 JLINK_ReadMem (0x00000000, 0x00C3 Bytes, ...)
JLINK_ReadMemHW(0x00000000, 0x0004 Bytes, ...) -- CPU_ReadMem(4 bytes @ 0x00000000) -- Data: C0 14 00 20 returns 0x00 (0001ms, 0000ms total)
JLINK_ReadMemHW(0x08000000, 0x0004 Bytes, ...) -- CPU_ReadMem(4 bytes @ 0x08000000) -- Data: C0 14 00 20 returns 0x00 (0001ms, 0001ms total)
Feature(s): RDI,FlashDL,FlashBP,JFlash,GDBFull returns O.K. (0122ms, 0688ms total)
T2360 000:814 JLINK_SetErrorOutHandler(...) (0000ms, 0810ms total)
T2360 000:814 JLINK_ExecCommand("ProjectFile = "D:\Program\STM32\EasyFlash\demo\stm32f10x\non_os\RVMDK\JLinkSettings.ini"", ...) returns 0x00 (0000ms, 0810ms total)
T2360 000:815 JLINK_ExecCommand("DisableConnectionTimeout", ...) returns 0x00 (0000ms, 0810ms total)
T2360 000:816 JLINK_TIF_Select(JLINKARM_TIF_SWD) returns 0x00 (0002ms, 0810ms total)
T2360 000:818 JLINK_SetSpeed(2000) (0001ms, 0812ms total)
T2360 000:819 JLINK_GetHardwareVersion() returns 0x11170 (0000ms, 0813ms total)
T2360 000:819 JLINK_GetDLLVersion() returns 41514 (0000ms, 0813ms total)
T2360 000:819 JLINK_GetFirmwareString(...) (0000ms, 0813ms total)
T2360 000:819 JLINK_GetDLLVersion() returns 41514 (0000ms, 0813ms total)
T2360 000:819 JLINK_GetCompileDateTime() (0000ms, 0813ms total)
T2360 000:819 JLINK_GetFirmwareString(...) (0000ms, 0813ms total)
T2360 000:819 JLINK_GetHardwareVersion() returns 0x11170 (0000ms, 0813ms total)
T2360 000:820 JLINK_Reset() >0x108 TIF>Found SWD-DP with ID 0x1BA01477 >0x33 TIF> >0x33 TIF> >0x35 TIF> >0x33 TIF> >0x35 TIF> >0x33 TIF> >0x33 TIF> >0x9B TIF> >0x9B TIF> >0x1D7 TIF> >0x13A TIF> >0x13A TIF>TPIU fitted. >0x13A TIF>ETM fitted. >0x13A TIF> FPUnit: 6 code (BP) slots and 2 literal slots >0x13A TIF> >0x13A TIF> >0x1D7 TIF> >0x1D7 TIF> >0x20C TIF> >0x13A TIF> >0x13A TIF> >0x1D7 TIF> >0x1D7 TIF> >0x13A TIF> >0x13A TIF> >0x11E4 TIF> >0x1D7 TIF> >0x13A TIF> >0x11E4 TIF> (0044ms, 0813ms total)
T2360 000:864 JLINK_JTAG_StoreRaw(..., 0x108 Bits) returns 0x00 (0000ms, 0857ms total)
T2360 000:864 JLINK_JTAG_GetU32(BitPos = 227) >0x108 TIF> returns 0x1BA01477 (0001ms, 0857ms total)
T2360 000:865 JLINK_GetDebugInfo(0x100) -- Value=0xE00FF003 returns 0x00 (0000ms, 0858ms total)
T2360 000:866 JLINK_ReadMem (0xE00FF000, 0x0018 Bytes, ...) -- CPU_ReadMem(24 bytes @ 0xE00FF000) -- Data: 03 F0 F0 FF 03 20 F0 FF 03 30 F0 FF 03 10 F0 FF ... returns 0x00 (0001ms, 0858ms total)
T2360 000:867 JLINK_ReadMemU32(0xE000ED00, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000ED00) -- Data: 31 C2 1F 41 returns 0x01 (0001ms, 0859ms total)
T2360 000:869 JLINK_Halt() returns 0x00 (0000ms, 0860ms total)
T2360 000:869 JLINK_IsHalted() returns TRUE (0000ms, 0860ms total)
T2360 000:869 JLINK_ReadMemU32(0xE000EDF0, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- Data: 03 00 03 00 returns 0x01 (0000ms, 0860ms total)
T2360 000:869 JLINK_WriteU32(0xE000EDF0, 0xA05F0003) -- CPU_WriteMem(4 bytes @ 0xE000EDF0) returns 0x00 (0001ms, 0860ms total)
T2360 000:870 JLINK_WriteU32(0xE000EDFC, 0x01000000) -- CPU_WriteMem(4 bytes @ 0xE000EDFC) returns 0x00 (0001ms, 0861ms total)
T2360 000:871 JLINK_ReadMemU32(0xE0002000, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0002000) -- Data: 60 02 00 00 returns 0x01 (0001ms, 0862ms total)
T2360 000:872 JLINK_ReadMemU32(0xE0001000, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0001000) -- Data: 01 00 00 40 returns 0x01 (0001ms, 0863ms total)
T2360 000:873 JLINK_ExecCommand("Device = STM32F103RE", ...)
JLINK_ExecCommand("map ram 0x20000000 - 0x2000FFFF", ...) returns 0x00 (0000ms, 0000ms total)
JLINK_AddMirrorAreaEx(Addr = 0x00000000, Size = 0x00000000) (0000ms, 0000ms total)
returns 0x00 (0001ms, 0864ms total)
T2360 000:874 JLINK_GetHWStatus(...) returns 0x00 (0000ms, 0865ms total)
T2360 000:875 JLINK_GetNumBPUnits(Type = 0xFFFFFF00) >0x108 TIF>Found SWD-DP with ID 0x1BA01477 >0x33 TIF> >0x33 TIF> >0x35 TIF> >0x33 TIF> >0x35 TIF> >0x33 TIF> >0x33 TIF> >0x9B TIF> >0x9B TIF> >0x1D7 TIF> >0x13A TIF> >0x13A TIF>TPIU fitted. >0x13A TIF>ETM fitted. >0x13A TIF> FPUnit: 6 code (BP) slots and 2 literal slots >0x13A TIF> >0x13A TIF> returns 0x06 (0014ms, 0865ms total)
T2360 000:889 JLINK_GetNumBPUnits(Type = 0xF0) returns 0x800 (0000ms, 0879ms total)
T2360 000:889 JLINK_GetNumWPUnits() returns 0x04 (0000ms, 0879ms total)
T2360 000:889 JLINK_GetSpeed() returns 0x7D0 (0000ms, 0879ms total)
T2360 000:890 JLINK_ReadMemU32(0xE000E004, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000E004) -- Data: 01 00 00 00 returns 0x01 (0000ms, 0879ms total)
T2360 000:890 JLINK_WriteMem(0xE0001000, 0x001C Bytes, ...) -- Data: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... -- CPU_WriteMem(28 bytes @ 0xE0001000) returns 0x1C (0001ms, 0879ms total)
T2360 000:891 JLINK_ReadMem (0xE0001000, 0x001C Bytes, ...) -- CPU_ReadMem(28 bytes @ 0xE0001000) -- Data: 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 ... returns 0x00 (0002ms, 0880ms total)
T2360 000:893 JLINK_ReadReg(R15) returns 0x08000144 (0000ms, 0882ms total)
T2360 000:893 JLINK_ReadReg(XPSR) returns 0x01000000 (0000ms, 0882ms total)
T2360 001:380 JLINK_SetResetType(JLINKARM_RESET_TYPE_NORMAL) returns JLINKARM_RESET_TYPE_NORMAL (0000ms, 0882ms total)
T2360 001:380 JLINK_Reset() >0x108 TIF>Found SWD-DP with ID 0x1BA01477 >0x33 TIF> >0x33 TIF> >0x35 TIF> >0x33 TIF> >0x35 TIF> >0x33 TIF> >0x33 TIF> >0x9B TIF> >0x9B TIF> >0x1D7 TIF> >0x13A TIF> >0x13A TIF>TPIU fitted. >0x13A TIF>ETM fitted. >0x13A TIF> FPUnit: 6 code (BP) slots and 2 literal slots >0x13A TIF> >0x13A TIF> >0x1D7 TIF> >0x1D7 TIF> >0x20C TIF> >0x13A TIF> >0x13A TIF> >0x1D7 TIF> >0x1D7 TIF> >0x13A TIF> >0x13A TIF> >0x1D7 TIF> >0x13A TIF> >0x11E4 TIF> (0038ms, 0882ms total)
T2360 001:418 JLINK_ReadReg(R15) returns 0x08000144 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(XPSR) returns 0x01000000 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R0) returns 0x000E88BE (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R1) returns 0x00000020 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R2) returns 0x00000000 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R3) returns 0x00000000 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R4) returns 0x080039A8 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R5) returns 0x080039A8 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R6) returns 0x00000000 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R7) returns 0x00000000 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R8) returns 0x00000000 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R9) returns 0x20000160 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R10) returns 0x00000000 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R11) returns 0x00000000 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R12) returns 0x00000000 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R13) returns 0x20000CB0 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R14) returns 0xFFFFFFFF (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(R15) returns 0x08000144 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(XPSR) returns 0x01000000 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(MSP) returns 0x20000CB0 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(PSP) returns 0x20000800 (0000ms, 0920ms total)
T2360 001:418 JLINK_ReadReg(CFBP) returns 0x00000000 (0000ms, 0920ms total)
T2360 001:419 JLINK_ReadMem (0x08000144, 0x003C Bytes, ...) -- CPU_ReadMem(64 bytes @ 0x08000140) -- Updating C cache (64 bytes @ 0x08000140) -- Read from C cache (60 bytes @ 0x08000144) -- Data: 06 48 80 47 06 48 00 47 FE E7 FE E7 FE E7 FE E7 ... returns 0x00 (0001ms, 0920ms total)
T2360 001:732 JLINK_ReadMem (0x00000000, 0x00C3 Bytes, ...)
JLINK_ReadMemHW(0x00000000, 0x0004 Bytes, ...) -- CPU_ReadMem(4 bytes @ 0x00000000) -- Data: B0 0C 00 20 returns 0x00 (0001ms, 0000ms total)
JLINK_ReadMemHW(0x08000000, 0x0004 Bytes, ...) -- CPU_ReadMem(4 bytes @ 0x08000000) -- Data: B0 0C 00 20 returns 0x00 (0001ms, 0001ms total)
JLINK_WriteMemHW(0x00000000, 0x0004 Bytes, ...) -- Data: 01 00 01 00 -- CPU_WriteMem(4 bytes @ 0x00000000) returns 0x04 (0001ms, 0002ms total)
JLINK_ReadMemHW(0x00000000, 0x0004 Bytes, ...) -- CPU_ReadMem(4 bytes @ 0x00000000) -- Data: C0 14 00 20 returns 0x00 (0001ms, 0003ms total)
-- MA0 is in flash -- Unmirror addr 0x00000000 -- CPU_ReadMem(256 bytes @ 0x08000000) -- Updating C cache (256 bytes @ 0x08000000) -- Read from C cache (195 bytes @ 0x08000000) -- Data: C0 14 00 20 45 01 00 08 ED 0E 00 08 4F 01 00 08 ... returns 0x00 (0008ms, 1274ms total)
T21C4 003:281 JLINK_SetBPEx(Addr = 0x080035B0, Type = 0xFFFFFFF2) returns 0x00000001 (0000ms, 1282ms total)
T21C4 003:281 JLINK_Go() -- CPU_WriteMem(4 bytes @ 0xE0002000) -- CPU_WriteMem(4 bytes @ 0xE0002008) -- CPU_WriteMem(4 bytes @ 0xE000200C) -- CPU_WriteMem(4 bytes @ 0xE0002010) -- CPU_WriteMem(4 bytes @ 0xE0002014) -- CPU_WriteMem(4 bytes @ 0xE0002018) -- CPU_WriteMem(4 bytes @ 0xE000201C) -- Invalidate MA0 status (0012ms, 1282ms total)
T21C4 003:394 JLINK_IsHalted() returns TRUE (0004ms, 1294ms total)
T21C4 003:398 JLINK_Halt() returns 0x00 (0000ms, 1294ms total)
T21C4 003:398 JLINK_IsHalted() returns TRUE (0000ms, 1294ms total)
T21C4 003:398 JLINK_IsHalted() returns TRUE (0000ms, 1294ms total)
T21C4 003:398 JLINK_IsHalted() returns TRUE (0000ms, 1294ms total)
T21C4 003:398 JLINK_ReadReg(R15) returns 0x080035B0 (0000ms, 1294ms total)
T21C4 003:398 JLINK_ReadReg(XPSR) returns 0x61000000 (0000ms, 1294ms total)
T21C4 003:398 JLINK_ClrBPEx(BPHandle = 0x00000001) returns 0x00 (0000ms, 1294ms total)
T21C4 003:398 JLINK_ReadMemU32(0xE000ED30, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000ED30) -- Data: 03 00 00 00 returns 0x01 (0001ms, 1294ms total)
T21C4 003:399 JLINK_ReadMemU32(0xE0001028, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0001028) -- Data: 01 00 00 40 returns 0x01 (0001ms, 1295ms total)
T21C4 003:400 JLINK_ReadMemU32(0xE0001038, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0001038) -- Data: 01 00 00 40 returns 0x01 (0001ms, 1296ms total)
T21C4 003:401 JLINK_ReadMemU32(0xE0001048, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0001048) -- Data: 01 00 00 40 returns 0x01 (0001ms, 1297ms total)
T21C4 003:402 JLINK_ReadMemU32(0xE0001058, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0001058) -- Data: 01 00 00 40 returns 0x01 (0000ms, 1298ms total)
T21C4 003:402 JLINK_ReadReg(R0) returns 0x080035B1 (0000ms, 1298ms total)
T21C4 003:402 JLINK_ReadReg(R1) returns 0x200014C0 (0000ms, 1298ms total)
T21C4 003:402 JLINK_ReadReg(R2) returns 0x00000000 (0000ms, 1298ms total)
T21C4 003:402 JLINK_ReadReg(R3) returns 0x0800188D (0000ms, 1298ms total)
T21C4 003:402 JLINK_ReadReg(R4) returns 0x08003EBC (0000ms, 1298ms total)
T21C4 003:402 JLINK_ReadReg(R5) returns 0x08003EBC (0000ms, 1298ms total)
T21C4 003:402 JLINK_ReadReg(R6) returns 0x00000000 (0000ms, 1298ms total)
T21C4 003:402 JLINK_ReadReg(R7) returns 0x00000000 (0000ms, 1298ms total)
T21C4 003:402 JLINK_ReadReg(R8) returns 0x00000000 (0000ms, 1298ms total)
T21C4 003:403 JLINK_ReadReg(R9) returns 0x20000160 (0000ms, 1299ms total)
T21C4 003:403 JLINK_ReadReg(R10) returns 0x00000000 (0000ms, 1299ms total)
T21C4 003:403 JLINK_ReadReg(R11) returns 0x00000000 (0000ms, 1299ms total)
T21C4 003:403 JLINK_ReadReg(R12) returns 0x00000000 (0000ms, 1299ms total)
T21C4 003:403 JLINK_ReadReg(R13) returns 0x200014C0 (0000ms, 1299ms total)
T21C4 003:403 JLINK_ReadReg(R14) returns 0x08000689 (0000ms, 1299ms total)
T21C4 003:403 JLINK_ReadReg(R15) returns 0x080035B0 (0000ms, 1299ms total)
T21C4 003:403 JLINK_ReadReg(XPSR) returns 0x61000000 (0000ms, 1299ms total)
T21C4 003:403 JLINK_ReadReg(MSP) returns 0x200014C0 (0000ms, 1299ms total)
T21C4 003:403 JLINK_ReadReg(PSP) returns 0x20000800 (0000ms, 1299ms total)
T21C4 003:403 JLINK_ReadReg(CFBP) returns 0x00000000 (0000ms, 1299ms total)
T1688 003:446 JLINK_ReadMem (0x080035B0, 0x003C Bytes, ...) -- CPU_ReadMem(128 bytes @ 0x08003580) -- Updating C cache (128 bytes @ 0x08003580) -- Read from C cache (60 bytes @ 0x080035B0) -- Data: FD F7 63 F9 FF F7 58 FC 08 B9 00 F0 51 F8 0D E0 ... returns 0x00 (0002ms, 1299ms total)
T21C4 004:656 JLINK_Go() -- CPU_WriteMem(4 bytes @ 0xE0002008) -- CPU_WriteMem(4 bytes @ 0xE000200C) -- CPU_WriteMem(4 bytes @ 0xE0002010) -- CPU_WriteMem(4 bytes @ 0xE0002014) -- CPU_WriteMem(4 bytes @ 0xE0002018) -- CPU_WriteMem(4 bytes @ 0xE000201C) (0007ms, 1301ms total)
T21C4 004:764 JLINK_IsHalted() returns FALSE (0000ms, 1308ms total)
T21C4 004:865 JLINK_IsHalted() returns FALSE (0001ms, 1308ms total)
T21C4 004:967 JLINK_IsHalted() returns FALSE (0000ms, 1308ms total)
T21C4 005:068 JLINK_IsHalted() returns FALSE (0000ms, 1308ms total)
T21C4 005:169 JLINK_IsHalted() returns FALSE (0000ms, 1308ms total)
T21C4 005:270 JLINK_ReadMemU32(0xE0001004, 0x0001 Items, ...) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE0001004) -- Data: 01 00 00 40 returns 0x01 (0001ms, 1308ms total)
T21C4 005:272 JLINK_IsHalted() returns FALSE (0001ms, 1309ms total)
T21C4 005:374 JLINK_IsHalted() returns FALSE (0000ms, 1309ms total)
T21C4 005:475 JLINK_IsHalted() returns FALSE (0000ms, 1309ms total)
T21C4 005:576 JLINK_IsHalted() returns FALSE (0001ms, 1309ms total)
T21C4 005:679 JLINK_IsHalted() returns FALSE (0001ms, 1309ms total)
T21C4 005:781 JLINK_IsHalted() returns FALSE (0000ms, 1309ms total)
T21C4 005:882 JLINK_ReadMemU32(0xE0001004, 0x0001 Items, ...) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE0001004) -- Data: 01 00 00 40 returns 0x01 (0000ms, 1309ms total)
T21C4 005:883 JLINK_IsHalted() returns FALSE (0000ms, 1309ms total)
T21C4 005:984 JLINK_IsHalted() returns FALSE (0000ms, 1309ms total)
T21C4 006:085 JLINK_IsHalted() returns FALSE (0000ms, 1309ms total)
T21C4 006:186 JLINK_IsHalted() returns FALSE (0000ms, 1309ms total)
T21C4 006:287 JLINK_IsHalted() returns FALSE (0002ms, 1309ms total)
T21C4 006:390 JLINK_IsHalted() returns FALSE (0000ms, 1309ms total)
T21C4 006:491 JLINK_ReadMemU32(0xE0001004, 0x0001 Items, ...) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE0001004) -- Data: 01 00 00 40 returns 0x01 (0000ms, 1309ms total)
T21C4 006:492 JLINK_IsHalted() returns FALSE (0000ms, 1309ms total)
T21C4 006:593 JLINK_IsHalted() returns FALSE (0002ms, 1309ms total)
T21C4 006:696 JLINK_IsHalted() returns FALSE (0001ms, 1309ms total)
T21C4 006:798 JLINK_IsHalted() returns FALSE (0005ms, 1309ms total)
T21C4 006:904 JLINK_Halt() returns 0x00 (0004ms, 1309ms total)
T21C4 006:908 JLINK_IsHalted() returns TRUE (0000ms, 1313ms total)
T21C4 006:908 JLINK_IsHalted() returns TRUE (0000ms, 1313ms total)
T21C4 006:908 JLINK_IsHalted() returns TRUE (0000ms, 1313ms total)
T21C4 006:908 JLINK_ReadReg(R15) returns 0x0800257C (0000ms, 1313ms total)
T21C4 006:908 JLINK_ReadReg(XPSR) returns 0x21000000 (0000ms, 1313ms total)
T21C4 006:908 JLINK_ReadMemU32(0xE000ED30, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000ED30) -- Data: 01 00 00 00 returns 0x01 (0001ms, 1313ms total)
T21C4 006:910 JLINK_ReadMemU32(0xE0001028, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0001028) -- Data: 01 00 00 40 returns 0x01 (0000ms, 1314ms total)
T21C4 006:910 JLINK_ReadMemU32(0xE0001038, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0001038) -- Data: 01 00 00 40 returns 0x01 (0001ms, 1314ms total)
T21C4 006:911 JLINK_ReadMemU32(0xE0001048, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0001048) -- Data: 01 00 00 40 returns 0x01 (0001ms, 1315ms total)
T21C4 006:912 JLINK_ReadMemU32(0xE0001058, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0001058) -- Data: 01 00 00 40 returns 0x01 (0001ms, 1316ms total)
T21C4 006:913 JLINK_ReadReg(R0) returns 0x000EDB3E (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(R1) returns 0x00000020 (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(R2) returns 0x00000000 (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(R3) returns 0x00000000 (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(R4) returns 0x08003EBC (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(R5) returns 0x08003EBC (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(R6) returns 0x00000000 (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(R7) returns 0x00000000 (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(R8) returns 0x00000000 (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(R9) returns 0x20000160 (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(R10) returns 0x00000000 (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(R11) returns 0x00000000 (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(R12) returns 0x00000000 (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(R13) returns 0x200014C0 (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(R14) returns 0x080035CF (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(R15) returns 0x0800257C (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(XPSR) returns 0x21000000 (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(MSP) returns 0x200014C0 (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(PSP) returns 0x20000800 (0000ms, 1317ms total)
T21C4 006:913 JLINK_ReadReg(CFBP) returns 0x00000000 (0000ms, 1317ms total)
T1688 007:281 JLINK_ReadMem (0x0800257C, 0x003C Bytes, ...) -- CPU_ReadMem(128 bytes @ 0x08002540) -- Updating C cache (128 bytes @ 0x08002540) -- Read from C cache (60 bytes @ 0x0800257C) -- Data: 00 28 FC D1 70 47 00 00 10 B5 FF F7 11 FF 07 49 ... returns 0x00 (0002ms, 1317ms total)
T1688 010:160 JLINK_WriteU32(0xE000EDFC, 0x00000000) -- CPU_WriteMem(4 bytes @ 0xE000EDFC) returns 0x00 (0002ms, 1319ms total)
T1688 010:162 JLINK_Close() -- CPU_WriteMem(4 bytes @ 0xE0002008) -- CPU_WriteMem(4 bytes @ 0xE000200C) -- CPU_WriteMem(4 bytes @ 0xE0002010) -- CPU_WriteMem(4 bytes @ 0xE0002014) -- CPU_WriteMem(4 bytes @ 0xE0002018) -- CPU_WriteMem(4 bytes @ 0xE000201C) (0264ms, 1321ms total)
JLINK_ReadMemHW(0x00000000, 0x0004 Bytes, ...) -- CPU_ReadMem(4 bytes @ 0x00000000) -- Data: B0 0C 00 20 returns 0x00 (0001ms, 0003ms total)
-- MA0 is in flash -- Unmirror addr 0x00000000 -- CPU_ReadMem(256 bytes @ 0x08000000) -- Updating C cache (256 bytes @ 0x08000000) -- Read from C cache (195 bytes @ 0x08000000) -- Data: B0 0C 00 20 45 01 00 08 ED 0E 00 08 4F 01 00 08 ... returns 0x00 (0007ms, 0921ms total)
T13CC 002:011 JLINK_SetBPEx(Addr = 0x08003268, Type = 0xFFFFFFF2) returns 0x00000001 (0000ms, 0928ms total)
T13CC 002:011 JLINK_Go() -- CPU_WriteMem(4 bytes @ 0xE0002000) -- CPU_WriteMem(4 bytes @ 0xE0002008) -- CPU_WriteMem(4 bytes @ 0xE000200C) -- CPU_WriteMem(4 bytes @ 0xE0002010) -- CPU_WriteMem(4 bytes @ 0xE0002014) -- CPU_WriteMem(4 bytes @ 0xE0002018) -- CPU_WriteMem(4 bytes @ 0xE000201C) -- Invalidate MA0 status (0007ms, 0928ms total)
T13CC 002:118 JLINK_IsHalted() returns TRUE (0004ms, 0935ms total)
T13CC 002:122 JLINK_Halt() returns 0x00 (0000ms, 0935ms total)
T13CC 002:122 JLINK_IsHalted() returns TRUE (0000ms, 0935ms total)
T13CC 002:122 JLINK_IsHalted() returns TRUE (0000ms, 0935ms total)
T13CC 002:122 JLINK_IsHalted() returns TRUE (0000ms, 0935ms total)
T13CC 002:122 JLINK_ReadReg(R15) returns 0x08003268 (0000ms, 0935ms total)
T13CC 002:122 JLINK_ReadReg(XPSR) returns 0x61000000 (0000ms, 0935ms total)
T13CC 002:122 JLINK_ClrBPEx(BPHandle = 0x00000001) returns 0x00 (0000ms, 0935ms total)
T13CC 002:122 JLINK_ReadMemU32(0xE000ED30, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000ED30) -- Data: 03 00 00 00 returns 0x01 (0001ms, 0935ms total)
T13CC 002:123 JLINK_ReadMemU32(0xE0001028, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0001028) -- Data: 01 00 00 40 returns 0x01 (0001ms, 0936ms total)
T13CC 002:124 JLINK_ReadMemU32(0xE0001038, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0001038) -- Data: 01 00 00 40 returns 0x01 (0001ms, 0937ms total)
T13CC 002:125 JLINK_ReadMemU32(0xE0001048, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0001048) -- Data: 01 00 00 40 returns 0x01 (0001ms, 0938ms total)
T13CC 002:126 JLINK_ReadMemU32(0xE0001058, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE0001058) -- Data: 01 00 00 40 returns 0x01 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R0) returns 0x08003269 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R1) returns 0x20000CB0 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R2) returns 0x00000000 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R3) returns 0x0800188D (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R4) returns 0x080039A8 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R5) returns 0x080039A8 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R6) returns 0x00000000 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R7) returns 0x00000000 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R8) returns 0x00000000 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R9) returns 0x20000160 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R10) returns 0x00000000 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R11) returns 0x00000000 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R12) returns 0x00000000 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R13) returns 0x20000CB0 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R14) returns 0x08000689 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(R15) returns 0x08003268 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(XPSR) returns 0x61000000 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(MSP) returns 0x20000CB0 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(PSP) returns 0x20000800 (0000ms, 0939ms total)
T13CC 002:127 JLINK_ReadReg(CFBP) returns 0x00000000 (0000ms, 0939ms total)
T2360 002:162 JLINK_ReadMem (0x08003268, 0x003C Bytes, ...) -- CPU_ReadMem(128 bytes @ 0x08003240) -- Updating C cache (128 bytes @ 0x08003240) -- Read from C cache (60 bytes @ 0x08003268) -- Data: FD F7 07 FB FF F7 2A FD 08 B9 00 F0 1B F8 0D E0 ... returns 0x00 (0003ms, 0939ms total)
T13CC 008:178 JLINK_Go() -- CPU_WriteMem(4 bytes @ 0xE0002008) -- CPU_WriteMem(4 bytes @ 0xE000200C) -- CPU_WriteMem(4 bytes @ 0xE0002010) -- CPU_WriteMem(4 bytes @ 0xE0002014) -- CPU_WriteMem(4 bytes @ 0xE0002018) -- CPU_WriteMem(4 bytes @ 0xE000201C) (0008ms, 0942ms total)
T13CC 008:287 JLINK_IsHalted() returns FALSE (0001ms, 0950ms total)
T13CC 008:389 JLINK_IsHalted() returns FALSE (0001ms, 0950ms total)
T13CC 008:491 JLINK_IsHalted() returns FALSE (0001ms, 0950ms total)
T13CC 008:593 JLINK_IsHalted() returns FALSE (0001ms, 0950ms total)
T13CC 008:695 JLINK_ReadMemU32(0xE0001004, 0x0001 Items, ...) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE0001004) -- Data: 01 00 00 40 returns 0x01 (0001ms, 0950ms total)
T13CC 008:696 JLINK_IsHalted() returns FALSE (0001ms, 0951ms total)
T13CC 008:798 JLINK_IsHalted() returns FALSE (0001ms, 0951ms total)
T13CC 008:899 JLINK_IsHalted() returns FALSE (0000ms, 0951ms total)
T13CC 009:000 JLINK_IsHalted() returns FALSE (0001ms, 0951ms total)
T13CC 009:102 JLINK_IsHalted() returns FALSE (0001ms, 0951ms total)
T13CC 009:204 JLINK_IsHalted() returns FALSE (0001ms, 0951ms total)
T13CC 009:306 JLINK_ReadMemU32(0xE0001004, 0x0001 Items, ...) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE0001004) -- Data: 01 00 00 40 returns 0x01 (0001ms, 0951ms total)
T13CC 009:307 JLINK_IsHalted() returns FALSE (0001ms, 0952ms total)
T13CC 009:409 JLINK_IsHalted() returns FALSE (0000ms, 0952ms total)
T13CC 009:510 JLINK_IsHalted() returns FALSE (0001ms, 0952ms total)
T13CC 009:612 JLINK_IsHalted() returns FALSE (0001ms, 0952ms total)
T13CC 009:715 JLINK_IsHalted() returns FALSE (0001ms, 0952ms total)
T13CC 009:816 JLINK_IsHalted() returns FALSE (0000ms, 0952ms total)
T13CC 009:917 JLINK_ReadMemU32(0xE0001004, 0x0001 Items, ...) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE0001004) -- Data: 01 00 00 40 returns 0x01 (0001ms, 0952ms total)
T13CC 009:929 JLINK_IsHalted() returns FALSE (0000ms, 0953ms total)
T13CC 010:030 JLINK_IsHalted() returns FALSE (0001ms, 0953ms total)
T13CC 010:132 JLINK_IsHalted() returns FALSE (0001ms, 0953ms total)
T13CC 010:233 JLINK_IsHalted() returns FALSE (0001ms, 0953ms total)
T13CC 010:335 JLINK_IsHalted() returns FALSE (0000ms, 0953ms total)
T13CC 010:436 JLINK_ReadMemU32(0xE0001004, 0x0001 Items, ...) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE0001004) -- Data: 01 00 00 40 returns 0x01 (0001ms, 0953ms total)
T13CC 010:437 JLINK_IsHalted() returns FALSE (0001ms, 0954ms total)
T13CC 010:538 JLINK_IsHalted() returns FALSE (0001ms, 0954ms total)
T13CC 010:639 JLINK_IsHalted() returns FALSE (0001ms, 0954ms total)
T13CC 010:741 JLINK_IsHalted() returns FALSE (0001ms, 0954ms total)
T13CC 010:843 JLINK_IsHalted() returns FALSE (0001ms, 0954ms total)
T13CC 010:945 JLINK_ReadMemU32(0xE0001004, 0x0001 Items, ...) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE0001004) -- Data: 01 00 00 40 returns 0x01 (0001ms, 0954ms total)
T13CC 010:946 JLINK_IsHalted() returns FALSE (0001ms, 0955ms total)
T13CC 011:048 JLINK_IsHalted() returns FALSE (0000ms, 0955ms total)
T2360 011:070 JLINK_WriteU32(0xE000EDFC, 0x00000000) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000EDFC) returns 0x00 (0001ms, 0955ms total)
T2360 011:071 JLINK_Close() -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE0002008) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000200C) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE0002010) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE0002014) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE0002018) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000201C) (0029ms, 0956ms total)
T13CC 011:149 JLINK_Close() (0000ms, 0985ms total)
T13CC 011:149 JLINK_Close() (0000ms, 0985ms total)
T13CC 011:149 JLINK_Close() (0000ms, 0985ms total)

@ -37,8 +37,6 @@
#define FLASH_ENV_START_ADDR (FLASH_BASE + 100 * 1024) /* from the chip position: 100KB */
/* the minimum size of flash erasure */
#define FLASH_ERASE_MIN_SIZE PAGE_SIZE /* it is one page for STM32 */
/* the user setting size of ENV */
#define FLASH_USER_SETTING_ENV_SIZE PAGE_SIZE /* a page size */
#ifdef FLASH_ENV_USING_WEAR_LEVELING_MODE
/* ENV section total bytes size in wear leveling mode. */
#define FLASH_ENV_SECTION_SIZE (4 * FLASH_ERASE_MIN_SIZE)/* 8K */
@ -64,7 +62,6 @@ static char log_buf[128];
* Flash port for hardware initialize.
*
* @param env_addr ENV start address
* @param env_user_size user setting ENV bytes size (@note must be word alignment)
* @param env_total_size ENV sector total bytes size (@note must be word alignment)
* @param erase_min_size the minimum size of Flash erasure
* @param default_env default ENV set for user
@ -72,15 +69,14 @@ static char log_buf[128];
*
* @return result
*/
FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_user_size, size_t *env_total_size,
size_t *erase_min_size, flash_env const **default_env, size_t *default_env_size) {
FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_total_size, size_t *erase_min_size,
flash_env const **default_env, size_t *default_env_size) {
FlashErrCode result = FLASH_NO_ERR;
FLASH_ASSERT(FLASH_USER_SETTING_ENV_SIZE % 4 == 0);
FLASH_ASSERT(FLASH_ENV_SECTION_SIZE % 4 == 0);
*env_addr = FLASH_ENV_START_ADDR;
*env_user_size = FLASH_USER_SETTING_ENV_SIZE;
*env_total_size = FLASH_ENV_SECTION_SIZE;
*erase_min_size = FLASH_ERASE_MIN_SIZE;
*default_env = default_env_set;
@ -184,27 +180,6 @@ FlashErrCode flash_write(uint32_t addr, const uint32_t *buf, size_t size) {
return result;
}
/**
* Allocate a block of memory with a minimum of 'size' bytes.
*
* @param size is the minimum size of the requested block in bytes.
*
* @return pointer to allocated memory or NULL if no free memory was found.
*/
void *flash_malloc(size_t size) {
return malloc(size);
}
/**
* This function will release the previously allocated memory block by
* flash_malloc. The released memory block is taken back to system heap.
*
* @param p the pointer to allocated memory which will be released
*/
void flash_free(void *p) {
free(p);
}
/**
* This function is print flash debug info.
*

File diff suppressed because it is too large Load Diff

@ -17,7 +17,7 @@
<Build><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1215</ColumnWidth1><ColumnWidth2>324</ColumnWidth2><ColumnWidth3>81</ColumnWidth3></Build><TerminalIO/><Debug-Log><ColumnWidth0>19</ColumnWidth0><ColumnWidth1>1622</ColumnWidth1></Debug-Log><Find-All-Declarations><ColumnWidth0>580</ColumnWidth0><ColumnWidth1>82</ColumnWidth1><ColumnWidth2>994</ColumnWidth2></Find-All-Declarations></Static>
<Windows>
<Wnd2>
<Wnd0>
<Tabs>
<Tab>
<Identity>TabID-30370-1297</Identity>
@ -29,20 +29,20 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-24390-6730</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-3984-13619</Identity><TabName>Find All Declarations</TabName><Factory>Find-All-Declarations</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-24390-6730</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-3984-13619</Identity><TabName>Find All Declarations</TabName><Factory>Find-All-Declarations</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd1></Windows>
<Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\app\src\app_task.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>514</SelStart2><SelEnd2>514</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\app\src\app_task.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>140</SelStart2><SelEnd2>140</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-00e38f08><key>iaridepm.enu1</key></Toolbar-00e38f08></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>744</Bottom><Right>314</Right><x>-2</x><y>-2</y><xscreen>510</xscreen><yscreen>51</yscreen><sizeHorzCX>303571</sizeHorzCX><sizeHorzCY>52740</sizeHorzCY><sizeVertCX>188095</sizeVertCX><sizeVertCY>771458</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>178</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>180</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>186143</sizeHorzCY><sizeVertCX>303571</sizeVertCX><sizeVertCY>52740</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-03328f08><key>iaridepm.enu1</key></Toolbar-03328f08></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>744</Bottom><Right>314</Right><x>-2</x><y>-2</y><xscreen>510</xscreen><yscreen>51</yscreen><sizeHorzCX>303571</sizeHorzCX><sizeHorzCY>52740</sizeHorzCY><sizeVertCX>188095</sizeVertCX><sizeVertCY>771458</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>178</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>180</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>186143</sizeHorzCY><sizeVertCX>303571</sizeVertCX><sizeVertCY>52740</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>

@ -36,8 +36,6 @@
#define FLASH_ENV_START_ADDR (FLASH_BASE + 100 * 1024) /* from the chip position: 100KB */
/* the minimum size of flash erasure */
#define FLASH_ERASE_MIN_SIZE PAGE_SIZE /* it is one page for STM32 */
/* the user setting size of ENV */
#define FLASH_USER_SETTING_ENV_SIZE PAGE_SIZE /* a page size */
#ifdef FLASH_ENV_USING_WEAR_LEVELING_MODE
/* ENV section total bytes size in wear leveling mode. */
#define FLASH_ENV_SECTION_SIZE (4 * FLASH_ERASE_MIN_SIZE)/* 8K */
@ -63,7 +61,6 @@ static char log_buf[RT_CONSOLEBUF_SIZE];
* Flash port for hardware initialize.
*
* @param env_addr ENV start address
* @param env_user_size user setting ENV bytes size (@note must be word alignment)
* @param env_total_size ENV sector total bytes size (@note must be word alignment)
* @param erase_min_size the minimum size of Flash erasure
* @param default_env default ENV set for user
@ -71,15 +68,14 @@ static char log_buf[RT_CONSOLEBUF_SIZE];
*
* @return result
*/
FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_user_size, size_t *env_total_size,
size_t *erase_min_size, flash_env const **default_env, size_t *default_env_size) {
FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_total_size, size_t *erase_min_size,
flash_env const **default_env, size_t *default_env_size) {
FlashErrCode result = FLASH_NO_ERR;
FLASH_ASSERT(FLASH_USER_SETTING_ENV_SIZE % 4 == 0);
FLASH_ASSERT(FLASH_ENV_SECTION_SIZE % 4 == 0);
*env_addr = FLASH_ENV_START_ADDR;
*env_user_size = FLASH_USER_SETTING_ENV_SIZE;
*env_total_size = FLASH_ENV_SECTION_SIZE;
*erase_min_size = FLASH_ERASE_MIN_SIZE;
*default_env = default_env_set;
@ -88,6 +84,7 @@ FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_user_size, size_t *
return result;
}
/**
* Read data from flash.
* @note This operation's units is word.
@ -183,27 +180,6 @@ FlashErrCode flash_write(uint32_t addr, const uint32_t *buf, size_t size) {
return result;
}
/**
* Allocate a block of memory with a minimum of 'size' bytes.
*
* @param size is the minimum size of the requested block in bytes.
*
* @return pointer to allocated memory or NULL if no free memory was found.
*/
void *flash_malloc(size_t size) {
return rt_malloc(size);
}
/**
* This function will release the previously allocated memory block by
* flash_malloc. The released memory block is taken back to system heap.
*
* @param p the pointer to allocated memory which will be released
*/
void flash_free(void *p) {
rt_free(p);
}
/**
* This function is print flash debug info.
*

File diff suppressed because it is too large Load Diff

@ -17,7 +17,7 @@
<Build><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Find-All-Declarations</Factory></Window><Window><Factory>Debug-Log</Factory></Window></Windows></PreferedWindows><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1215</ColumnWidth1><ColumnWidth2>324</ColumnWidth2><ColumnWidth3>81</ColumnWidth3></Build><TerminalIO/><Debug-Log><ColumnWidth0>19</ColumnWidth0><ColumnWidth1>1622</ColumnWidth1></Debug-Log><Find-All-Declarations><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Debug-Log</Factory></Window></Windows></PreferedWindows><ColumnWidth0>580</ColumnWidth0><ColumnWidth1>82</ColumnWidth1><ColumnWidth2>994</ColumnWidth2></Find-All-Declarations><DRIVER_CUSTOM_SFR><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><col-names><item>Access</item><item>Address</item><item>Name</item><item>Size</item><item>Zone</item><item>_I0</item></col-names><col-widths><item>120</item><item>150</item><item>150</item><item>50</item><item>120</item><item>20</item></col-widths></DRIVER_CUSTOM_SFR></Static>
<Windows>
<Wnd2>
<Wnd0>
<Tabs>
<Tab>
<Identity>TabID-30370-1297</Identity>
@ -29,20 +29,20 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-28122-19222</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-16453-20055</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab></Tabs><SelectedTab>1</SelectedTab></Wnd3></Windows>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-28122-19222</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-16453-20055</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab></Tabs><SelectedTab>1</SelectedTab></Wnd1></Windows>
<Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\app\src\app_task.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>140</SelStart2><SelEnd2>140</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\app\src\app_task.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>425</SelStart2><SelEnd2>425</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-037a8f08><key>iaridepm.enu1</key></Toolbar-037a8f08></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>744</Bottom><Right>314</Right><x>-2</x><y>-2</y><xscreen>510</xscreen><yscreen>51</yscreen><sizeHorzCX>303571</sizeHorzCX><sizeHorzCY>52740</sizeHorzCY><sizeVertCX>188095</sizeVertCX><sizeVertCY>771458</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>178</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>180</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>186143</sizeHorzCY><sizeVertCX>303571</sizeVertCX><sizeVertCY>52740</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-03d58f08><key>iaridepm.enu1</key></Toolbar-03d58f08></Sizes></Row0></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>744</Bottom><Right>314</Right><x>-2</x><y>-2</y><xscreen>510</xscreen><yscreen>51</yscreen><sizeHorzCX>303571</sizeHorzCX><sizeHorzCY>52740</sizeHorzCY><sizeVertCX>188095</sizeVertCX><sizeVertCY>771458</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>178</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>180</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>186143</sizeHorzCY><sizeVertCX>303571</sizeVertCX><sizeVertCY>52740</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>

@ -29,8 +29,6 @@
#define FLASH_ENV_START_ADDR (FLASH_BASE + 256 * 1024) /* on the chip position: 256KB */
/* the minimum size of flash erasure */
#define FLASH_ERASE_MIN_SIZE (128 * 1024) /* it is 128K for compatibility */
/* the user setting size of ENV */
#define FLASH_USER_SETTING_ENV_SIZE (2 * 1024) /* 2K */
#ifdef FLASH_ENV_USING_WEAR_LEVELING_MODE
/* ENV section total bytes size in wear leveling mode. */
#define FLASH_ENV_SECTION_SIZE (4 * FLASH_ERASE_MIN_SIZE)/* 512K */
@ -85,7 +83,6 @@ static uint32_t stm32_get_sector_size(uint32_t sector);
* Flash port for hardware initialize.
*
* @param env_addr ENV start address
* @param env_user_size user setting ENV bytes size (@note must be word alignment)
* @param env_total_size ENV sector total bytes size (@note must be word alignment)
* @param erase_min_size the minimum size of Flash erasure
* @param default_env default ENV set for user
@ -93,15 +90,14 @@ static uint32_t stm32_get_sector_size(uint32_t sector);
*
* @return result
*/
FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_user_size, size_t *env_total_size,
size_t *erase_min_size, flash_env const **default_env, size_t *default_env_size) {
FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_total_size, size_t *erase_min_size,
flash_env const **default_env, size_t *default_env_size) {
FlashErrCode result = FLASH_NO_ERR;
FLASH_ASSERT(FLASH_USER_SETTING_ENV_SIZE % 4 == 0);
FLASH_ASSERT(FLASH_ENV_SECTION_SIZE % 4 == 0);
*env_addr = FLASH_ENV_START_ADDR;
*env_user_size = FLASH_USER_SETTING_ENV_SIZE;
*env_total_size = FLASH_ENV_SECTION_SIZE;
*erase_min_size = FLASH_ERASE_MIN_SIZE;
*default_env = default_env_set;
@ -110,6 +106,7 @@ FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_user_size, size_t *
return result;
}
/**
* Read data from flash.
* @note This operation's units is word.
@ -308,28 +305,6 @@ static uint32_t stm32_get_sector_size(uint32_t sector) {
}
}
/**
* Allocate a block of memory with a minimum of 'size' bytes.
*
* @param size is the minimum size of the requested block in bytes.
*
* @return pointer to allocated memory or NULL if no free memory was found.
*/
void *flash_malloc(size_t size) {
return rt_malloc(size);
}
/**
* This function will release the previously allocated memory block by
* flash_malloc. The released memory block is taken back to system heap.
*
* @param p the pointer to allocated memory which will be released
*/
void flash_free(void *p) {
rt_free(p);
}
/**
* This function is print flash debug info.
*

@ -28,6 +28,8 @@
/* using CRC32 check when load environment variable from Flash */
#define FLASH_ENV_USING_CRC_CHECK
/* the user setting size of ENV, must be word alignment */
#define FLASH_USER_SETTING_ENV_SIZE (2 * 1024) /* default 2K */
/* using wear leveling mode or normal mode */
/* #define FLASH_ENV_USING_WEAR_LEVELING_MODE */
#define FLASH_ENV_USING_NORMAL_MODE
@ -87,8 +89,6 @@ FlashErrCode flash_copy_bl_from_bak(uint32_t bl_addr, size_t bl_size);
FlashErrCode flash_read(uint32_t addr, uint32_t *buf, size_t size);
FlashErrCode flash_erase(uint32_t addr, size_t size);
FlashErrCode flash_write(uint32_t addr, const uint32_t *buf, size_t size);
void *flash_malloc(size_t size);
void flash_free(void *p);
void flash_log_debug(const char *file, const long line, const char *format, ...);
void flash_log_info(const char *format, ...);
void flash_print(const char *format, ...);

@ -26,8 +26,6 @@
#define FLASH_ENV_START_ADDR /* @note you must define it for a value */
/* the minimum size of flash erasure */
#define FLASH_ERASE_MIN_SIZE /* @note you must define it for a value */
/* the user setting size of ENV */
#define FLASH_USER_SETTING_ENV_SIZE /* @note you must define it for a value */
#ifdef FLASH_ENV_USING_WEAR_LEVELING_MODE
/* ENV section total bytes size in wear leveling mode. */
#define FLASH_ENV_SECTION_SIZE /* @note you must define it for a value */
@ -47,7 +45,6 @@ static const flash_env default_env_set[] = {
* Flash port for hardware initialize.
*
* @param env_addr ENV start address
* @param env_user_size user setting ENV bytes size (@note must be word alignment)
* @param env_total_size ENV sector total bytes size (@note must be word alignment)
* @param erase_min_size the minimum size of Flash erasure
* @param default_env default ENV set for user
@ -55,15 +52,14 @@ static const flash_env default_env_set[] = {
*
* @return result
*/
FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_user_size, size_t *env_total_size,
size_t *erase_min_size, flash_env const **default_env, size_t *default_env_size) {
FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_total_size, size_t *erase_min_size,
flash_env const **default_env, size_t *default_env_size) {
FlashErrCode result = FLASH_NO_ERR;
FLASH_ASSERT(FLASH_USER_SETTING_ENV_SIZE % 4 == 0);
FLASH_ASSERT(FLASH_ENV_SECTION_SIZE % 4 == 0);
*env_addr = FLASH_ENV_START_ADDR;
*env_user_size = FLASH_USER_SETTING_ENV_SIZE;
*env_total_size = FLASH_ENV_SECTION_SIZE;
*erase_min_size = FLASH_ERASE_MIN_SIZE;
*default_env = default_env_set;
@ -132,31 +128,6 @@ FlashErrCode flash_write(uint32_t addr, const uint32_t *buf, size_t size) {
return result;
}
/**
* Allocate a block of memory with a minimum of 'size' bytes.
*
* @param size is the minimum size of the requested block in bytes.
*
* @return pointer to allocated memory or NULL if no free memory was found.
*/
void *flash_malloc(size_t size) {
/* You can add your code under here. */
}
/**
* This function will release the previously allocated memory block by
* flash_malloc. The released memory block is taken back to system heap.
*
* @param p the pointer to allocated memory which will be released
*/
void flash_free(void *p) {
/* You can add your code under here. */
}
/**
* This function is print flash debug info.
*

@ -50,24 +50,23 @@
* @return result
*/
FlashErrCode flash_init(void) {
extern FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_user_size,
size_t *env_total_size, size_t *erase_min_size, flash_env const **default_env,
size_t *default_env_size);
extern FlashErrCode flash_env_init(uint32_t start_addr, size_t user_size, size_t total_size,
extern FlashErrCode flash_port_init(uint32_t *env_addr, size_t *env_total_size,
size_t *erase_min_size, flash_env const **default_env, size_t *default_env_size);
extern FlashErrCode flash_env_init(uint32_t start_addr, size_t total_size,
size_t erase_min_size, flash_env const *default_env, size_t default_env_size);
extern FlashErrCode flash_iap_init(uint32_t start_addr);
uint32_t env_start_addr;
size_t env_user_size, env_total_size, erase_min_size, default_env_set_size;
size_t env_total_size, erase_min_size, default_env_set_size;
const flash_env *default_env_set;
FlashErrCode result = FLASH_NO_ERR;
result = flash_port_init(&env_start_addr, &env_user_size, &env_total_size, &erase_min_size,
&default_env_set, &default_env_set_size);
result = flash_port_init(&env_start_addr, &env_total_size, &erase_min_size, &default_env_set,
&default_env_set_size);
if (result == FLASH_NO_ERR) {
result = flash_env_init(env_start_addr, env_user_size, env_total_size, erase_min_size,
default_env_set, default_env_set_size);
result = flash_env_init(env_start_addr, env_total_size, erase_min_size, default_env_set,
default_env_set_size);
}
if (result == FLASH_NO_ERR) {

@ -57,10 +57,8 @@ enum {
static flash_env const *default_env_set = NULL;
/* default ENV set size, must be initialized by user */
static size_t default_env_set_size = NULL;
/* flash ENV all section total size */
static size_t env_total_size = NULL;
/* ENV RAM cache */
static uint32_t *env_cache = NULL;
static uint32_t env_cache[FLASH_USER_SETTING_ENV_SIZE / 4] = { 0 };
/* ENV start address in flash */
static uint32_t env_start_addr = NULL;
@ -82,7 +80,6 @@ static bool_t env_crc_is_ok(void);
* Flash ENV initialize.
*
* @param start_addr ENV start address in flash
* @param user_size user setting ENV bytes size (@note must be word alignment)
* @param total_size ENV section total size (@note must be word alignment)
* @param erase_min_size the minimum size of flash erasure. it isn't be used in normal mode.
* @param default_env default ENV set for user
@ -92,33 +89,25 @@ static bool_t env_crc_is_ok(void);
*
* @return result
*/
FlashErrCode flash_env_init(uint32_t start_addr, size_t user_size, size_t total_size,
size_t erase_min_size, flash_env const *default_env, size_t default_env_size) {
FlashErrCode flash_env_init(uint32_t start_addr, size_t total_size, size_t erase_min_size,
flash_env const *default_env, size_t default_env_size) {
FlashErrCode result = FLASH_NO_ERR;
FLASH_ASSERT(start_addr);
FLASH_ASSERT(user_size);
FLASH_ASSERT(total_size);
/* user_size must equal with total_size in normal mode */
FLASH_ASSERT(user_size == total_size);
FLASH_ASSERT(FLASH_USER_SETTING_ENV_SIZE == total_size);
FLASH_ASSERT(default_env);
FLASH_ASSERT(default_env_size < total_size);
/* must be word alignment for ENV */
FLASH_ASSERT(total_size % 4 == 0);
/* make true only be initialized once */
FLASH_ASSERT(!env_cache);
env_start_addr = start_addr;
env_total_size = total_size;
default_env_set = default_env;
default_env_set_size = default_env_size;
FLASH_DEBUG("Env start address is 0x%08X, size is %d bytes.\n", start_addr, total_size);
/* create ENV ram cache */
env_cache = (uint32_t *) flash_malloc(sizeof(uint8_t) * user_size);
FLASH_ASSERT(env_cache);
flash_load_env();
return result;
@ -133,7 +122,6 @@ FlashErrCode flash_env_set_default(void){
FlashErrCode result = FLASH_NO_ERR;
size_t i;
FLASH_ASSERT(env_cache);
FLASH_ASSERT(default_env_set);
FLASH_ASSERT(default_env_set_size);
@ -207,9 +195,8 @@ static size_t get_env_data_size(void) {
*/
size_t flash_get_env_total_size(void) {
/* must be initialized */
FLASH_ASSERT(env_total_size);
return env_total_size;
return FLASH_USER_SETTING_ENV_SIZE;
}
/**
@ -360,7 +347,6 @@ FlashErrCode flash_del_env(const char *key){
size_t del_env_length, remain_env_length;
FLASH_ASSERT(key);
FLASH_ASSERT(env_cache);
if (*key == NULL) {
FLASH_INFO("Flash ENV name must be not NULL!\n");
@ -408,8 +394,6 @@ FlashErrCode flash_del_env(const char *key){
FlashErrCode flash_set_env(const char *key, const char *value) {
FlashErrCode result = FLASH_NO_ERR;
FLASH_ASSERT(env_cache);
/* if ENV value is empty, delete it */
if (*value == NULL) {
result = flash_del_env(key);
@ -436,8 +420,6 @@ char *flash_get_env(const char *key) {
uint32_t *env_cache_addr = NULL;
char *value = NULL;
FLASH_ASSERT(env_cache);
/* find ENV */
env_cache_addr = find_env(key);
if (env_cache_addr == NULL) {
@ -461,8 +443,6 @@ void flash_print_env(void) {
uint8_t j;
char c;
FLASH_ASSERT(env_cache);
for (; env_cache_data_addr < env_cache_end_addr; env_cache_data_addr += 1) {
for (j = 0; j < 4; j++) {
c = (*env_cache_data_addr) >> (8 * j);
@ -483,12 +463,11 @@ void flash_print_env(void) {
void flash_load_env(void) {
uint32_t *env_cache_bak, env_end_addr;
FLASH_ASSERT(env_cache);
/* read ENV end address from flash */
flash_read(get_env_system_addr() + ENV_PARAM_INDEX_END_ADDR * 4, &env_end_addr, 4);
/* if ENV is not initialize or flash has dirty data, set default for it */
if ((env_end_addr == 0xFFFFFFFF) || (env_end_addr > env_start_addr + env_total_size)) {
if ((env_end_addr == 0xFFFFFFFF)
|| (env_end_addr > env_start_addr + flash_get_env_total_size())) {
flash_env_set_default();
} else {
/* set ENV end address */
@ -519,8 +498,6 @@ void flash_load_env(void) {
FlashErrCode flash_save_env(void) {
FlashErrCode result = FLASH_NO_ERR;
FLASH_ASSERT(env_cache);
#ifdef FLASH_ENV_USING_CRC_CHECK
/* calculate and cache CRC32 code */
env_cache[ENV_PARAM_INDEX_DATA_CRC] = calc_env_crc();

@ -64,14 +64,12 @@ enum {
static flash_env const *default_env_set = NULL;
/* default ENV set size, must be initialized by user */
static size_t default_env_set_size = NULL;
/* flash user setting ENV size */
static size_t env_user_size = NULL;
/* flash ENV all section total size */
static size_t env_total_size = NULL;
/* the minimum size of flash erasure */
static size_t flash_erase_min_size = NULL;
/* ENV RAM cache */
static uint32_t *env_cache = NULL;
static uint32_t env_cache[FLASH_USER_SETTING_ENV_SIZE / 4] = { 0 };
/* ENV start address in flash */
static uint32_t env_start_addr = NULL;
/* current using data section address */
@ -86,7 +84,6 @@ static void set_env_detail_end_addr(uint32_t end_addr);
static FlashErrCode write_env(const char *key, const char *value);
static uint32_t *find_env(const char *key);
static size_t get_env_detail_size(void);
static size_t get_env_user_size(void);
static size_t get_env_user_used_size(void);
static FlashErrCode create_env(const char *key, const char *value);
static FlashErrCode save_cur_using_data_addr(uint32_t cur_data_addr);
@ -100,7 +97,6 @@ static bool_t env_crc_is_ok(void);
* Flash ENV initialize.
*
* @param start_addr ENV start address in flash
* @param user_size user setting ENV bytes size (@note must be word alignment)
* @param total_size ENV section total size (@note must be word alignment)
* @param erase_min_size the minimum size of flash erasure
* @param default_env default ENV set for user
@ -108,24 +104,20 @@ static bool_t env_crc_is_ok(void);
*
* @return result
*/
FlashErrCode flash_env_init(uint32_t start_addr, size_t user_size, size_t total_size,
size_t erase_min_size, flash_env const *default_env, size_t default_env_size) {
FlashErrCode flash_env_init(uint32_t start_addr, size_t total_size, size_t erase_min_size,
flash_env const *default_env, size_t default_env_size) {
FlashErrCode result = FLASH_NO_ERR;
FLASH_ASSERT(start_addr);
FLASH_ASSERT(user_size);
FLASH_ASSERT(total_size);
FLASH_ASSERT(erase_min_size);
FLASH_ASSERT(default_env);
FLASH_ASSERT(default_env_size < user_size);
FLASH_ASSERT(default_env_size < FLASH_USER_SETTING_ENV_SIZE);
/* must be word alignment for ENV */
FLASH_ASSERT(user_size % 4 == 0);
FLASH_ASSERT(FLASH_USER_SETTING_ENV_SIZE % 4 == 0);
FLASH_ASSERT(total_size % 4 == 0);
/* make true only be initialized once */
FLASH_ASSERT(!env_cache);
env_start_addr = start_addr;
env_user_size = user_size;
env_total_size = total_size;
flash_erase_min_size = erase_min_size;
default_env_set = default_env;
@ -133,10 +125,6 @@ FlashErrCode flash_env_init(uint32_t start_addr, size_t user_size, size_t total_
FLASH_DEBUG("Env start address is 0x%08X, size is %d bytes.\n", start_addr, total_size);
/* create ENV ram cache */
env_cache = (uint32_t *) flash_malloc(sizeof(uint8_t) * user_size);
FLASH_ASSERT(env_cache);
flash_load_env();
return result;
@ -151,7 +139,6 @@ FlashErrCode flash_env_set_default(void){
FlashErrCode result = FLASH_NO_ERR;
size_t i;
FLASH_ASSERT(env_cache);
FLASH_ASSERT(default_env_set);
FLASH_ASSERT(default_env_set_size);
@ -236,28 +223,15 @@ static size_t get_env_detail_size(void) {
return get_env_detail_end_addr() - get_env_detail_addr();
}
/**
* Get current user setting ENV size.
*
* @return size
*/
static size_t get_env_user_size(void) {
/* must be initialized */
FLASH_ASSERT(env_user_size);
return env_user_size;
}
/**
* Get current user used ENV size.
*
* @see get_env_user_size
* @see FLASH_USER_SETTING_ENV_SIZE
*
* @return size
*/
/* must be initialized */
static size_t get_env_user_used_size(void) {
FLASH_ASSERT(env_user_size);
return get_env_detail_end_addr() - get_cur_using_data_addr();
}
@ -304,7 +278,7 @@ static FlashErrCode write_env(const char *key, const char *value) {
env_str_len = (env_str_len / 4 + 1) * 4;
}
/* check capacity of ENV */
if (env_str_len + get_env_detail_size() >= get_env_user_size()) {
if (env_str_len + get_env_detail_size() >= FLASH_USER_SETTING_ENV_SIZE) {
return FLASH_ENV_FULL;
}
/* calculate current ENV ram cache end address */
@ -424,7 +398,6 @@ FlashErrCode flash_del_env(const char *key){
size_t del_env_length, remain_env_length;
FLASH_ASSERT(key);
FLASH_ASSERT(env_cache);
if (*key == NULL) {
FLASH_INFO("Flash ENV name must be not NULL!\n");
@ -472,8 +445,6 @@ FlashErrCode flash_del_env(const char *key){
FlashErrCode flash_set_env(const char *key, const char *value) {
FlashErrCode result = FLASH_NO_ERR;
FLASH_ASSERT(env_cache);
/* if ENV value is empty, delete it */
if (*value == NULL) {
result = flash_del_env(key);
@ -500,8 +471,6 @@ char *flash_get_env(const char *key) {
uint32_t *env_cache_addr = NULL;
char *value = NULL;
FLASH_ASSERT(env_cache);
/* find ENV */
env_cache_addr = find_env(key);
if (env_cache_addr == NULL) {
@ -525,8 +494,6 @@ void flash_print_env(void) {
uint8_t j;
char c;
FLASH_ASSERT(env_cache);
for (; env_cache_detail_addr < env_cache_end_addr; env_cache_detail_addr += 1) {
for (j = 0; j < 4; j++) {
c = (*env_cache_detail_addr) >> (8 * j);
@ -538,7 +505,7 @@ void flash_print_env(void) {
}
}
flash_print("\nENV size: %ld/%ld bytes, write bytes %ld/%ld, mode: wear leveling.\n",
get_env_user_used_size(), get_env_user_size(), flash_get_env_write_bytes(),
get_env_user_used_size(), FLASH_USER_SETTING_ENV_SIZE, flash_get_env_write_bytes(),
flash_get_env_total_size());
}
@ -548,8 +515,6 @@ void flash_print_env(void) {
void flash_load_env(void) {
uint32_t *env_cache_bak, env_end_addr, using_data_addr;
FLASH_ASSERT(env_cache);
/* read current using data section address */
flash_read(get_env_start_addr(), &using_data_addr, 4);
/* if ENV is not initialize or flash has dirty data, set default for it */
@ -602,8 +567,6 @@ FlashErrCode flash_save_env(void) {
uint32_t cur_data_addr_bak = get_cur_using_data_addr(), move_offset_addr;
size_t env_detail_size = get_env_detail_size();
FLASH_ASSERT(env_cache);
/* wear leveling process, automatic move ENV to next available position */
while (get_cur_using_data_addr() + env_detail_size
< get_env_start_addr() + flash_get_env_total_size()) {

Loading…
Cancel
Save