GD32写4字节flash函数

GD32的写入flash代码,写入32位数据:
主要是fmc的解锁上锁,然后用的是gd32f30x_fmc.c的函数
fmc_page_erase——擦除,(一页1KB或者2KB 具体看芯片代码)
fmc_word_program——字写入(uint32_t)

如果需要半字写入,那就替换为下边这个函数:
fmc_halfword_program——半字写入(uint16_t)

void iap_write_u32(uint32_t appxaddr,uint32_t data){
				fmc_unlock();
				fmc_page_erase(APP_LEN_ADDR); 
				fmc_word_program(APP_LEN_ADDR,data);
				fmc_lock();

}

有问题欢迎评论区交流~
觉得不错就点个赞吧~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
GD32微控制器上进行Flash存储器操作,可以使用标准的C语言库函数GD32提供的库函数。下面我将介绍一些常用的GD32 Flash函数。 1. 入数据到Flash存储器: GD32提供了`fmc_word_program`函数用于向Flash存储器入数据。函数原型如下: ```c void fmc_word_program(uint32_t addr, uint32_t data); ``` 其中,`addr`是要入数据的地址,`data`是要入的数据。请注意,入数据时,需要确保地址对齐和解锁Flash。 2. 擦除Flash存储器: GD32提供了`fmc_page_erase`函数和`fmc_mass_erase`函数用于擦除Flash存储器。 - `fmc_page_erase`函数用于擦除指定页的数据。函数原型如下: ```c void fmc_page_erase(uint32_t page_addr); ``` 其中,`page_addr`是要擦除的页的起始地址。 - `fmc_mass_erase`函数用于擦除整个芯片的数据。函数原型如下: ```c void fmc_mass_erase(void); ``` 注意,擦除操作会将整个页面的数据都擦除掉,因此在执行擦除操作之前,请确保备份重要的数据。 3. 读取Flash存储器的数据: 可以直接通过指针访问Flash存储器的数据,如下所示: ```c uint32_t *flash_addr = (uint32_t *)0x08000000; // Flash地址 uint32_t data = *flash_addr; // 读取数据 ``` 上述代码将从Flash地址0x08000000处读取一个32位的数据。 需要注意的是,具体的Flash函数的使用方法可能会因不同的GD32微控制器型号而有所差异。请根据所使用的芯片型号和官方文档,查找相应的库函数和使用方法。 希望以上信息能对你有所帮助!如果还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

super尚

谢谢老板!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值