79817|64

1万

帖子

28

TA的资源

裸片初长成(高级)

楼主
 

HAL库,真的不敢用了! [复制链接]

 


         STM32F429,功能强大,还能带个LCD,很高兴。
         但是,开发F4,一不小心用HAL库,对它的函数调用的繁杂深感不妥,非常垃圾。开始曾试着去掉HAL库,特别是中断,使用寄存器直接操作。然而工作量大。

       今做一个平台,使用F429IGT,时钟设置到180MHZ,硬件上,使用TIM1控制电源,互补输出,频率200KHZ,在它的一个周期内,开了两次ADC --- 用于同步采集电压,并使用DMA传输8次数据后处理,
     打开的中断有:
               DMA中断,中断频率=200KHZ / 8 * 2,
               ADC中断,中断频率= 200KHZ *2 (两个ADC)
              TICK中断,每毫秒一次。
              TIM1中断,200KHZ

              中断函数还没有写,空的!以上这几个,就让F429在中断里处理出不来了!
      后来,把TIM1的频率降低到100KHZ时,才可以工作!

      由此,可见HAL库的效率,何等的低!一个F429,180MHZ啊,还抵不上一个TMS320F28027的速度


此帖出自stm32/stm8论坛

最新回复

ena
ty1649@163.com/////谢谢   详情 回复 发表于 2023-10-18 10:10
点赞 关注(2)
 

回复
举报

20

帖子

0

TA的资源

一粒金砂(中级)

推荐
 
关键是要熟练和变通
此帖出自stm32/stm8论坛
 
 

回复

1万

帖子

28

TA的资源

裸片初长成(高级)

板凳
 
HAL库让一个好CPU变成垃圾级
此帖出自stm32/stm8论坛

点评

那么请用标准库,但标准库好像不支持STM32F429,所以,希望ST能继续出标准。  详情 回复 发表于 2017-7-27 07:59
 
 

回复

1万

帖子

16

TA的资源

版主

4
 
本帖最后由 ddllxxrr 于 2017-7-27 08:19 编辑
dontium 发表于 2017-7-26 23:48
HAL库让一个好CPU变成垃圾级

那么请用标准库,但标准库好像不支持STM32F429,所以,希望ST能继续出标准库。
此帖出自stm32/stm8论坛

点评

兄台何出此言,我就用标准库成功编写过F429的程序  详情 回复 发表于 2020-4-21 08:59
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

379

帖子

0

TA的资源

一粒金砂(高级)

5
 
本帖最后由 LeoMe 于 2017-7-27 09:07 编辑

DMA传输数据会占用总线,虽然内核还能继续做计算和逻辑,但是数据总线被DMA占着可能会影响速度,偶尔占一下影响不大,DMA数据一旦多了效果就明显了。大概HAL库本来就是方便程序猿和用系统的人的,偏硬的EE可能会嫌弃HAL的效率
此帖出自stm32/stm8论坛
 
 
 

回复

732

帖子

2

TA的资源

纯净的硅(中级)

6
 
180MHZ只是CPU的速度,你的FLASH指令预取开了么,我猜就算开了指令预取,flash读取速度也到不了100M,所以木盆的短板可能是flash,你试试在RAM中执行程序看看
此帖出自stm32/stm8论坛
 
个人签名亚里士缺德
 
 

回复

1059

帖子

1

TA的资源

版主

7
 
HAL库就是垃圾,就是在坑用户
此帖出自stm32/stm8论坛

点评

为什么这么说呢,只是因为效率低就垃圾吗。那ST为什么要这么推广呢?  详情 回复 发表于 2017-7-27 09:48
 
 
 

回复

831

帖子

5

TA的资源

一粒金砂(高级)

8
 
qwerghf 发表于 2017-7-27 09:31
HAL库就是垃圾,就是在坑用户

为什么这么说呢,只是因为效率低就垃圾吗。那ST为什么要这么推广呢?
此帖出自stm32/stm8论坛

点评

ST公司,是以赚钱为目的的,它是搞商业的。 就象现在的电脑,及所用操作系统,谁也不会在系统效率上下功夫,只讲功能实现, 这样硬件与软件的心知肚明的配合,双方都赚钱了。双方都“发展”了。 至于技术,  详情 回复 发表于 2017-7-27 11:17
 
 
 

回复

1706

帖子

4

TA的资源

纯净的硅(初级)

9
 
这个问题以前有人反馈过,所以现在都是用HAL+LL库一起用;HAL库还有很有好处的,配合CUBEMX 方便的很
此帖出自stm32/stm8论坛
 
 
 

回复

1万

帖子

28

TA的资源

裸片初长成(高级)

10
 
残雪 发表于 2017-7-27 09:48
为什么这么说呢,只是因为效率低就垃圾吗。那ST为什么要这么推广呢?

ST公司,是以赚钱为目的的,它是搞商业的。

就象现在的电脑,及所用操作系统,谁也不会在系统效率上下功夫,只讲功能实现,

这样硬件与软件的心知肚明的配合,双方都赚钱了。双方都“发展”了。

至于技术,那是另一回事。它是排在赚钱之后考虑的。
此帖出自stm32/stm8论坛

点评

这种方式的软件,对于ST公司有什么好处呢  详情 回复 发表于 2017-7-27 12:07
 
 
 

回复

242

帖子

0

TA的资源

一粒金砂(高级)

11
 
同感
此帖出自stm32/stm8论坛
 
 
 

回复

107

帖子

1

TA的资源

一粒金砂(中级)

12
 
1.你用到了DMA,开DMA中断有错吗?
2.你用到了ADC,开ADC中断有错吗?
3.你要是不用精确延时可以把TICK关掉,如果用,TICK里面会加一个变量来计时。
4.你用到了TIM1,开TIM1中断有错吗?
如果你不用中断,可以都关闭。
此帖出自stm32/stm8论坛
 
 
 

回复

831

帖子

5

TA的资源

一粒金砂(高级)

13
 
dontium 发表于 2017-7-27 11:17
ST公司,是以赚钱为目的的,它是搞商业的。

就象现在的电脑,及所用操作系统,谁也不会在系统效率上下 ...

这种方式的软件,对于ST公司有什么好处呢
此帖出自stm32/stm8论坛

点评

培养小白用户,这样是最容易赚钱的呀! 要是用户都是老鸟,厂家出点小毛病就会被逼着整改,要整改就要花钱请人改这可是厂家最不想见到的! 如果对比一下别的厂家的M3M4的MCU,你就会发现别家的压根子就不用什么库  详情 回复 发表于 2018-8-16 12:33
 
 
 

回复

1382

帖子

2

TA的资源

五彩晶圆(初级)

14
 
Hardware Abstract ---- 硬件抽象是要付出代价的. 追求效率的场合应当自己写,甚至编译后再优化汇编代码.
此帖出自stm32/stm8论坛
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

15
 
我记得好像标准外设库V1.6是支持F429的吧。

HAL的库是晦涩难懂一些
此帖出自stm32/stm8论坛

点评

没有找到标准库,  详情 回复 发表于 2017-7-27 16:13
 
 
 

回复

1万

帖子

28

TA的资源

裸片初长成(高级)

16
 
huaiqiao 发表于 2017-7-27 15:49
我记得好像标准外设库V1.6是支持F429的吧。

HAL的库是晦涩难懂一些

没有找到标准库,
此帖出自stm32/stm8论坛

点评

你要不要,要的话,丢个邮箱给我,我把V1.6版本的库发给你。 我也看其他一些和正点原子有点相像的这种,像安富莱他们也用F429,也好像是V1.6吧。  详情 回复 发表于 2017-7-27 17:27
 
 
 

回复

606

帖子

20

TA的资源

一粒金砂(高级)

17
 
在HAL项目里,楼主完全可以用寄存器自己写啊.不冲突的.
此帖出自stm32/stm8论坛
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

18
 
dontium 发表于 2017-7-27 16:13
没有找到标准库,

你要不要,要的话,丢个邮箱给我,我把V1.6版本的库发给你。

我也看其他一些和正点原子有点相像的这种,像安富莱他们也用F429,也好像是V1.6吧。
此帖出自stm32/stm8论坛

点评

ena
ty1649@163.com/////谢谢  详情 回复 发表于 2023-10-18 10:10
 
 
 

回复

2144

帖子

3

TA的资源

五彩晶圆(中级)

19
 
我感觉HAL库强大到爆
那些宏定义足够大部分人使用了 也就是所谓的LL
如果感觉自己写不出足够好的框架就用完整的HAL吧
目前唯一不好的是USE_RTOS无法很好支持,部分RTOS有一些兼容处理,但还得看st

本来我也就F4 Lx系列的用用HAL
现在我F1都用HAL,虽然之前有很多std库的积累,但是我还是切换到了HAL
足够方便,有了HAL真的随便跨平台,一次编写,哪个片子上都能用
此帖出自stm32/stm8论坛

点评

嗯,方便,是它的一大特点。牺牲了效率,换来了方便。  详情 回复 发表于 2017-7-28 18:41
 
个人签名电工
 
 

回复

116

帖子

2

TA的资源

一粒金砂(中级)

20
 
本帖最后由 okwh 于 2017-7-28 16:53 编辑

5us级别的频繁中断和DMA, 无论主频多少,都很难没问题。

快于10us的需求,还是自己细细调试吧。至少其中的关键部分,需要用示波器一点点的检查验证。
此帖出自stm32/stm8论坛
 
个人签名熙熙攘攘的世界,我们不懈前行......
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表