OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3502|回复: 4

串口IAP实验中的疑问

[复制链接]

9

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2015-3-7
在线时间
4 小时
发表于 2015-5-30 11:18:48 | 显示全部楼层 |阅读模式
5金钱
几天学习了串口IAP实验,阅读了战舰STM32F103关于这个实验的例程,但是我有一些疑问想要请教一下。望指点一二。

在例程的stmflash.c的文件中,有这么一个函数STMFLASH_Write,这个函数对flash进写操作时是通过一页一页(一个扇区一个扇区)方式对flash区域进行写操作的。我想要问的是,为什么不直接采取连续地址写操作,这样操作不是更方便快捷吗,而且不用写那么多那么复杂。难道flash区域有什么特殊的地方,需要一页一页的写数据吗?

最佳答案

查看完整内容[请看2#楼]

回复【3楼】正点原子: --------------------------------- u8 StmFlash_Write (u32 WriteAddr,u16 *FlashData,u16 NumToData) {   if ((WriteAddr<STM32_FLASH_ADDR_START) || (WriteAddr>(STM32_FLASH_ADDR_SIZE+STM32_FLASH_ADDR_SIZE*1024)))     return ERROR;   FLASH_Unlock (); //FLASH解锁       ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2015-3-7
在线时间
4 小时
 楼主| 发表于 2015-5-30 11:18:49 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
u8 StmFlash_Write (u32 WriteAddr,u16 *FlashData,u16 NumToData)
{
  if ((WriteAddr<STM32_FLASH_ADDR_START) || (WriteAddr>(STM32_FLASH_ADDR_SIZE+STM32_FLASH_ADDR_SIZE*1024)))
    return ERROR;
  FLASH_Unlock (); //FLASH解锁
  
  for (int i=0;i<NumToData;i++)
  {
    FLASH_ProgramHalfWord (WriteAddr,FlashData);
    WriteAddr+=2;
  }

  FLASH_Lock (); //FLASH上锁
  return SUCCESS;
}


这样可以吗?请指教……>
回复

使用道具 举报

14

主题

338

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
464
金钱
464
注册时间
2013-6-15
在线时间
15 小时
发表于 2015-5-30 13:30:58 | 显示全部楼层
虽然我没看过这个IAP,但是如果是我有疑问我会自己写一个连续写的函数试验一下。擦除flash是要按扇区擦的,写的话可能需要换扇区操作也可能是为了方便管理数据
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-5-30 23:14:41 | 显示全部楼层
你写代码出来试试看。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-6-3 23:31:09 | 显示全部楼层
回复【4楼】水瓶座:
---------------------------------
 试试就知道。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 14:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表