stm32l476 FLASH特征
• Up to 1 Mbyte of Flash memory with dual bank architecture supporting read-while-write
capability (RWW).
• Memory organization: 2 banks (Bank 1 and Bank 2)
– main memory: 512 Kbyte per bank
– information block: 32 Kbyte per bank
• 72-bit wide data read (64 bits plus 8 ECC bits)
• 72-bit wide data write (64 bits plus 8 ECC bits)
• Page erase (2 Kbyte), bank erase and mass erase (both banks)
摘自 STM32 RM0351 Reference manual 文档
- stm32l476 dual bank 地址表 

 
写入操作流程
- FLASH解锁 
HAL_FLASH_Unlock(); - 擦除FLASH 
HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError); - 写入FLASH 
HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data); - 锁定FLASH 
HAL_FLASH_Lock(); 
读取操作
直接从目标地址读取, uint8_t* 按照1个字节读取,如果是uint32_t* 按照一个字读取
buff[i] = *(__IO uint8_t*)(dest_addr + i);
//直接从目标地址读取, uint8_t* 按照1个字节读取,如果是uint32_t* 按照一个字读取 
具体实现
                
                  
                  
                  
                  
本文档详细介绍了STM32L476的Flash特性,包括双银行架构、支持读写同时进行的功能。内容涵盖Flash的内存组织、写入和读取操作流程,以及具体的解锁、擦除、写入和锁定步骤。对于读取操作,可以通过目标地址直接读取数据,按字节或字进行。
          
最低0.47元/天 解锁文章
                          
                      
      
          
                
                
                
                
              
                
                
                
                
                
              
                
                
              
            
                  
					1万+
					
被折叠的  条评论
		 为什么被折叠?
		 
		 
		
    
  
    
  
            


            