【AT-START-F403A测评】之三freeRTOS系统基于IAR环境外部QSPI flash(SPIM)EN25QH...
本帖最后由 uuxz99 于 2020-10-5 16:54 编辑<p class="Default" style="text-indent:24.1pt"><span style="font-size:12pt"><span style="layout-grid-mode:char"><span style="font-family:Arial,sans-serif"><span style="color:black"><span lang="EN-US" style="font-family:"微软雅黑","sans-serif"">AT-START-F403A</span><span style="font-family:"微软雅黑","sans-serif"">评估板搭载了外置16M字节NOR QSPI Flash(</span> EN25QH128A<span lang="EN-US" style="font-family:"微软雅黑","sans-serif"">)</span><span style="font-family:"微软雅黑","sans-serif"">。足够大的容量和速度能够适合很多应用,在freeRTOS环境下做一个粗浅测试,因测试环境简单结果可能有谬误,仅供参考。</span></span></span></span></span></p>
<p style="text-align:justify; margin-top:22px; margin-bottom:22px"><span style="font-size:20px;"><strong><span style="font-family:Microsoft YaHei;"><span style="line-height:normal"><span lang="EN-US">1.SPIM</span>初始化:</span></span></strong></span> </p>
<ol>
<li style="list-style-type:none"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">1.1端口初始化</span></span></span></span></span></li>
</ol>
<p align="left" style="margin-left:28px; text-align:left; text-indent:-6.95pt"></p>
<p align="left" style="margin-left:28px; text-align:left; text-indent:-6.95pt"></p>
<p style="list-style-type:none"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span lang="EN-US" style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif""> 1.2SPIM</span></span><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">配置flash</span></span></span></span></span></p>
<ul style="margin-left: 40px;">
<li style="text-align: left;"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">配置外部flash器件类类型</span></span></span></span></span></li>
<li style="text-align: left;"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">无加密设置</span></span></span></span></span></li>
<li style="text-align: left;"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">测试样板设置</span></span></span></span></span></li>
</ul>
<p align="left" style="margin-left:28px; text-align:left; text-indent:-6.95pt"><strong><span style="font-size:22pt"><span style="line-height:normal"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span lang="EN-US" style="font-size:14.0pt"><span style="font-family:"微软雅黑","sans-serif"">2. SPIM</span></span><span style="font-size:14.0pt"><span style="font-family:"微软雅黑","sans-serif"">测试:</span></span></span></span></span></span></strong></p>
<p style="text-indent:21.25pt; text-align:justify"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">本次测试是完全应用环境下的测试,并非出于完全性指标测试,测试任务(线程)每秒启动一次测试循环,每次循环8个sector(4K)。每次测试过程是擦除扇区->逐字写入(4字节写入直到扇区满)->读扇区->校验。</span></span></span></span></span><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">由于外部flash是104MHz操作频率,因此将AHB降到200MHz,以便外部flash操作在最好性能下。</span></span></span></span></span></p>
<p> </p>
<p align="left" style="margin-left:28px; text-align:left; text-indent:-6.95pt"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><b><span lang="EN-US" style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">2.1 SPIM</span></span></b><b><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">写入测试方法:</span></span></b></span></span></span></p>
<p align="left" style="margin-left:28px; text-align:left"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">写入4K样本数据计算完成写入所需时间。数据按照4字节写入操作,整个写入时间包括如下</span></span></span></span></span></p>
<ul>
<li> <span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">扇区擦除时间。</span></span></span></span></span></li>
<li style="text-align: left;"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">扇区编程时间。</span></span></span></span></span></li>
<li style="text-align: left;"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">flash状态控制等时间。</span></span></span></span></span></li>
</ul>
<p style="text-align: left;"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><b><span lang="EN-US" style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif""> 2.2 SPIM</span></span></b><b><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">读取测试方法:</span></span></b></span></span></span></p>
<p><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">读取刚才写入4K样本数据所需时间。读取按照4字节读出操作,整个读出时间包括如下:</span></span></span></span></span> </p>
<ul>
<li style="text-indent: 24pt;"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">读取前检查外部flash状态</span></span></span></span></span></li>
<li style="text-indent: 24pt;"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">读取数据。</span></span></span></span></span></li>
</ul>
<p style="margin-top: 22px; margin-bottom: 22px;"><strong><span style="font-size:22pt"><span style="line-height:normal"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span lang="EN-US" style="font-size:14.0pt"><span style="font-family:"微软雅黑","sans-serif"">3. SPIM粗测结果</span></span></span></span></span></span></strong></p>
<p style="text-align:left"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">3.1 需要说明固件库相关SPIM函数操作命名FLASH_ErasePage中的page,与器件page是不同概念,器件手册说明了page是不可擦除操作,但可以编程操作,函数page对应器件的是器件sector,固件操作就是按照sector 4K来的,使用中可能需要注意。</span></span></span></span></span></p>
<p><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">3.2 测试结果</span></span></span></span></span></p>
<p style="list-style-type:none"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">测试结果如下图所示。</span></span></span></span></span></p>
<p style="text-align:left"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">3.3 测试结果说明</span></span></span></span></span></p>
<p style="list-style-type: none; margin-left: 40px;"><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">3.3.1 扇区写入时间约在50-60ms,其中扇区擦除用时占比80%以上,编程写入时间约在8毫秒,其余时间约为1-3毫秒为系统状态查询</span></span><m:omath><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif""><m:r><m:rpr><m:scr m:val="roman"><m:sty m:val="p"></m:sty></m:scr></m:rpr>、</m:r></span></span></m:omath></span></span></span><span style="font-size:10.5pt"><span style="layout-grid-mode:char"><span style="font-family:Calibri,sans-serif"><span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">控制及测试本身和信息打印等开销。</span></span></span></span></span></p>
<p style="list-style-type: none; margin-left: 40px;"></p>
<p style="list-style-type: none; margin-left: 40px;">3.3.2<span style="font-size:12.0pt"><span style="font-family:"微软雅黑","sans-serif"">扇区读取速度约在1毫秒及以内</span></span></p>
<p> </p>
<p>雅特力AT-START-F403A测评汇总</p>
<p><a href="https://bbs.eeworld.com.cn/thread-1143018-1-1.html" target="_blank">https://bbs.eeworld.com.cn/thread-1143018-1-1.html</a></p>
页:
[1]