**作FLASH时把中断都关了,堆栈我设置很大了,
Stack_Size EQU 0x00001400
AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
__initial_sp
__initial_spTop EQU 0x20001400 ; stack used for SystemInit_ExtMemCtl
; always internal RAM used
; <h> Heap Configuration
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
Heap_Size EQU 0x00000C00
读写缓冲区我就是直接地址操作的
m_u32FlashAddr = 0x08040000
status = FLASH_ProgramWord(m_u32FlashAddr, *(uint32*)((uint32)(m_TempBuf + i)));
写完后再把数据读出来跟m_TempBuf比较。
|