沈阳芯硕科技有限公司
沈阳芯硕科技有限公司 入驻平台 第4
  • 资质核验已核验企业营业执照
  • 资质核验已核验企业营业执照
当前位置:
首页>
供应产品>
华大HC32F460 HC32F4A0加速程序运行速度

华大HC32F460 HC32F4A0加速程序运行速度

价    格

订货量

  • 面议 价格为商家提供的参考价,请通过"获取最低报价"
    获得您最满意的心理价位~

    不限

沈女士
手机已验证
𐀨𐀩𐀪****𐀩𐀮𐀩𐀨
微信在线
  • 发货地:辽宁 沈阳
  • 发货期限:不限
沈阳芯硕科技有限公司 入驻平台 第4
  • 资质核验已核验企业营业执照
  • 沈女士
    手机已验证
  • 辽宁 沈阳
  • 消防电子,家电电子,汽车电子,电力系统

联系方式

  • 联系人:
    沈女士
  • 地   址:
    辽宁 沈阳 铁西区 辽宁省沈阳市铁西区建工西路5号财富星座B座
品牌:华大型号:HC32F460类型:单片机
封装:盘

华大单片机HC32F4xx系类(HC32F460 HC32F4A0)可以运行200Mhz,但内部Flash CPU运行频率达到33M后,就需要加入不同的等待周期。
所以实际程序在内部FLash内运行时,是跟不上CPU速度,也就不能达到高运行速度200Mhz
如下图:可以看到在200Mhz时,读Flash中的指令需要等待5CPU时钟周期,那大概200M运行时实际CPU能够跑到不到40Mhz


那怎么能够使程序运行的快,跑出实际CPU的频率呢?
两种方法:
1.
理所应当想到的一种方法就是把关键程序或需要运行速度的代码搬到SRAM内运行。
   
这个方法不在本贴讨论范围内,不过原理和细节都不太复杂。
   
这里提醒以下两点,具体做法也不难,不管是谁家的MCU这种SRAM内运行的方法都是一样的。
   1
)只需要注意中断向量表要重映射到SRAM中,如果想把中断搬运到SRAM中运行的话。
   2
)还有一点是,搬运到SRAM内运行的代码如果有调用Flash内代码的,也是会影响速度。需要再把调用链上所有代码一同搬运到SRAM内。

2.
就是在华大HC32Fxx系列MCU内,有一个1K大小的FLash Cache,可以使运行FLash内的代码加速,或读取Flash内数据加速。
  
使运行在Flash内的代码执行速度和CPU速度同频。当然,既然是读的cache,那么如果CPU没有命中cache中的内容,还是会从Flash中取数据和指令的。
   
所以在整个程序运行期间 cache起到了加速作用,而不能认为每个运行时段程序运行的速度都会和CPU一致。
 

如果HCLK200Mhz,那么使能cache,可以加速程序运行速度到200Mhz
千万别认为程序每时每刻都运行在200M,所以也不要用忙等待的方式做延时函数,建议使用systick做忙等待延时函数

我做了一个试验,测试一段代码运行时在不开启cache和开启cache的运行表现:

测试的这段代码:



运行结果:
cacheflash_run_performance_test函数使用了72802310ns10纳秒),
cacheflash_run_performance_test函数使用了25988010ns
大家可以计算出测试函数花的时间,有cache时和无cache时速度的对比,是多少倍。

 

总结下:就是华大HC32F4XX系列ARM cortex-M4的这颗MCU速度还是不错的。


?      欢迎入群了解更多信息

?     华大MCU交流QQ群: 164973950


免责声明:
本页面所展现的公司信息、产品信息及其他相关信息,均来源于其对应的商铺,信息的真实性、准确性和合法性由该信息来源商铺的所属发布者完全负责,供应商网对此不承担任何保证责任。
友情提醒:
建议您在购买相关产品前务必确认供应商资质及产品质量,过低的价格有可能是虚假信息,请谨慎对待,谨防欺诈行为。
 
建议您在搜索产品时,优先选择带有标识的会员,该为供应商网VIP会员标识,信誉度更高。

版权所有 供应商网(www.gys.cn)

京ICP备2023035610号-2

沈阳芯硕科技有限公司 地址:辽宁 沈阳 铁西区 辽宁省沈阳市铁西区建工西路5号财富星座B座