硬汉嵌入式论坛

 找回密码
 立即注册
查看: 847|回复: 3
收起左侧

[MDK] FLM编程算法

[复制链接]

56

主题

131

回帖

299

积分

高级会员

积分
299
发表于 2023-4-14 16:01:35 | 显示全部楼层 |阅读模式
struct FlashDevice  {
   unsigned short     Vers;    // Version Number and Architecture
   char       DevName[128];    // Device Name and Description
   unsigned short  DevType;    // Device Type: ONCHIP, EXT8BIT, EXT16BIT, ...
   unsigned long    DevAdr;    // Default Device Start Address
   unsigned long     szDev;    // Total Size of Device
   unsigned long    szPage;    // Programming Page Size
   unsigned long       Res;    // Reserved for future Extension
   unsigned char  valEmpty;    // Content of Erased Memory

   unsigned long    toProg;    // Time Out of Program Page Function
   unsigned long   toErase;    // Time Out of Erase Sector Function

   struct FlashSectors sectors[SECTOR_NUM];
};

想问一下这个超时时间是指调用一次ProgramPage和EraseSector函数的时间?还是根据程序大小比如32K,页大小1K,调用32次函数的总时间?
然后这个时间和SW时钟有关系吗?

刚学习这个,求大神解答,谢谢:)


回复

使用道具 举报

23

主题

1406

回帖

1475

积分

至尊会员

积分
1475
发表于 2023-4-14 17:58:59 | 显示全部楼层
这个的含义应该是等待这么长时间没有响应。如果是函数执行时间那就太受限制了。
代码不规范,亲人两行泪!
回复

使用道具 举报

1

主题

109

回帖

112

积分

初级会员

固件開發工程師

积分
112
QQ
发表于 2023-4-17 13:07:36 | 显示全部楼层
还是根据程序大小比如32K,页大小1K,调用32次函数的总时间?

toProg和toErase是写、擦一个szPage大小的Flash基本单位的时间,单位是ms。
原理部分Keil算法和IAR Flash Loader相似,可以看IAR这份资料:IAR Flash Loader介绍

下载 (10).png
回复

使用道具 举报

56

主题

131

回帖

299

积分

高级会员

积分
299
 楼主| 发表于 2023-4-17 17:00:05 | 显示全部楼层
本帖最后由 lindahnu 于 2023-4-17 17:22 编辑
----- 发表于 2023-4-17 13:07
还是根据程序大小比如32K,页大小1K,调用32次函数的总时间?
toProg和toErase是写、擦一个szPage大小的Fl ...

谢谢解答,https://www.armbbs.cn/forum.php? ... 3968&extra=page%3D1

这个链接的问题能否看一下?

编译了H7的FLM算法文件工程,这个大小不是超过4K了吗?

Program Size: Code=428 RO-data=4256 RW-data=4 ZI-data=0

这个大小究竟如何去设置才算合适?和FLASH的页大小相关吗?

回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-10 16:08 , Processed in 0.165785 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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