单片机/MCU论坛
直播中

张英

7年用户 1407经验值
私信 关注

XMC1400系列的FLASH功能应该怎么用呢?

大佬们好,XMC1400的flash功能应该怎么用呢,有没有参考例程借鉴一下?
                                                                                                                                                                                                                                                                                                                                                                                                

回帖(1)

李建华

2024-2-1 15:50:53
我们有两种方式可以操作Flash,第一种可以使用ROM中的Flash API,第二种可以使用底层驱动库。
(1)ROM中的Flash API:
    - NVM_STATUS _NvmErase (uint32_t * PageAddr)
    - NVM_STATUS _NvmProgVerify(uint32_t * DataAddr, uint32_t *FlashAddr)
    _NvmErase()的地址位于0x00000100,功能是擦除一页。
    _NvmProgVerify()的地址位于0x00000104,功能是先擦除(如有必要),再写一页,所以这个函数只能写一页,不能单独写一个Block。
    利用这两个API操作Flash的例程见6_1_XMC1000_Flash_BIROM.zip
(2)利用LLD操作Flash:
    - void XMC_FLASH_ErasePages(uint32_t *address, uint32_t num_pages);
    - void XMC_FLASH_WriteBlocks(uint32_t *address, const uint32_t*data, uint32_t num_blocks, bool verify);
    XMC_FLASH_ErasePages()用于擦除多个页,XMC_FLASH_WriteBlocks()用于擦除多个Block.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分