打印
[STM32F1]

STM32的HAL库,真烂!!!!

[复制链接]
楼主: pattywu
手机看帖
扫描二维码
随时随地手机跟帖
41
icecut| | 2017-6-8 10:04 | 只看该作者 回帖奖励 |倒序浏览
renxiaolin 发表于 2017-6-8 09:13
HAL库的重要问题在于忽略效率,尤其是中断,这样不能发挥裸机的特点,过分强调可移植性并不高明,在可移 ...

hal可是给大多数人用的.你这么厉害可以重新自己写.
LL库注重效率.但是肯定也有缺陷.

别人的代码,终究是别人的.
别人认为好的,你不一定用,但是一定是大多数人用.

使用特权

评论回复
42
icecut| | 2017-6-8 10:04 | 只看该作者
ljy335877679 发表于 2017-6-8 09:28
你可以用标准外设库啊, ST有HAL库也有标准外设库,标准外设库下载地址比较隐蔽 ...

标准外设库还不如HAL呢

使用特权

评论回复
43
nomefat| | 2017-6-8 10:19 | 只看该作者
反正我哦用的很爽 驱动基本不用自己写了 哈哈

使用特权

评论回复
44
ddllxxrr| | 2017-6-8 11:01 | 只看该作者
本帖最后由 ddllxxrr 于 2017-6-8 11:02 编辑
icecut 发表于 2017-6-7 18:07
为啥奔命?hal是用软件生成的.不要管怎么实现,只需要点点软件自动生成.接口都是统一的...统一的接口明白不 ...

我用标准库开发产品的,现在又要HAL,然后又有个LL,请问以后会有什么库

使用特权

评论回复
45
ddllxxrr| | 2017-6-8 11:05 | 只看该作者
icecut 发表于 2017-6-7 18:07
为啥奔命?hal是用软件生成的.不要管怎么实现,只需要点点软件自动生成.接口都是统一的...统一的接口明白不 ...

CUBE就应生成标准库的东东,又不是实现不了,本来统一的库分成了HAL又有LL,说是速度快,那么再出一个直接操作寄存器得了

使用特权

评论回复
46
ddllxxrr| | 2017-6-8 11:06 | 只看该作者
再次,严重同意楼主的意见。

使用特权

评论回复
47
ddllxxrr| | 2017-6-8 11:07 | 只看该作者
再次,严重同意楼主的意见。

使用特权

评论回复
48
whtwhtw| | 2017-6-8 11:09 | 只看该作者
首先要有个认识:人都有惰性,不愿意接受新事物。这是事实
其实用下来hal库挺好用的,点点鼠标配置外设,程序中调用API就能实现功能。对51可能真不适合,但是现在ST的芯片rom,ram,频率都提高这么多,对这么一点代价是可以接受的。

使用特权

评论回复
49
ddllxxrr| | 2017-6-8 11:11 | 只看该作者
whtwhtw 发表于 2017-6-8 11:09
首先要有个认识:人都有惰性,不愿意接受新事物。这是事实
其实用下来hal库挺好用的,点点鼠标配置外设,程 ...

那么为什么不点一点统一生成标准库。一统天下不是很好么

使用特权

评论回复
50
whtwhtw| | 2017-6-8 11:32 | 只看该作者
ddllxxrr 发表于 2017-6-8 11:11
那么为什么不点一点统一生成标准库。一统天下不是很好么

你要是ST老总的话,你的选择是可行的

使用特权

评论回复
51
icecut| | 2017-6-8 12:07 | 只看该作者
ddllxxrr 发表于 2017-6-8 11:11
那么为什么不点一点统一生成标准库。一统天下不是很好么

你可以统计一下,标准库的bug量和hal的bug量.明显少很多.
代码量也少很多.
你不懂软件工程.没法跟你解释.

LL之后,就是最原始的,你自己写寄存器.

使用特权

评论回复
52
icecut| | 2017-6-8 12:08 | 只看该作者
whtwhtw 发表于 2017-6-8 11:32
你要是ST老总的话,你的选择是可行的

他要是老总,st就倒闭了

使用特权

评论回复
53
icecut| | 2017-6-8 12:09 | 只看该作者
ddllxxrr 发表于 2017-6-8 11:11
那么为什么不点一点统一生成标准库。一统天下不是很好么

标准库不用点.所有的都在里面扔着,自己去找...

cube +hal =标准库.节约了你找的成本

使用特权

评论回复
54
包大人很忙| | 2017-6-8 12:17 | 只看该作者
根据我对这种代码风格的了解  软件应该是外包给印度或者印度人掌握开发主导了

使用特权

评论回复
55
TXQDM| | 2017-6-8 13:30 | 只看该作者
HAL做的是通用性,
让不同的芯片做到一致。

使用特权

评论回复
56
ADaiPlay| | 2017-6-8 13:42 | 只看该作者
严重同意楼主的意见。
刚习惯一种就要换,没完没了

使用特权

评论回复
57
苏山人家| | 2017-6-8 17:19 | 只看该作者
可能是刚出来吧,至少HAL的库实现快速,但是灵活性其实没有以前的驱动库好。不过慢慢的也都开始完善了。

使用特权

评论回复
58
dalarang| | 2017-6-8 23:25 | 只看该作者
我觉得cube+hal库挺方便的,点点鼠标就可以生成一个新工程。
hal库相当于把驱动底层封装好了,大家只需要把大多数精力放在应用层即可。

不过我觉得hal库也有两点不足:
1、代码执行效率偏低了一些,用寄存器只需一两条指令的操作,hal库里都要执行一大堆累赘的语句。虽然优化等级调高后会好一点,但高优化容易出一些奇怪的问题,且高优化下在线仿真逐语句执行时老是让人搞不清楚到哪一步了。我干脆把代码自动优化调到low级,在一些注重执行效率的操作上跳过hal库,直接用寄存器。
2、封装的层面太高了,没有保留像以前标准库那样偏底层的封装,导致你只有两个选择,要不就用任何简单操作都需要执行一堆代码的hal库函数,要不就只能自己操作寄存器。希望hal库和以前的标准库能结合一下,这样在需要复杂操作时调用hal库函数节省心力,在需要简单操作时调用底层函数来提高运行效率。

使用特权

评论回复
59
ddllxxrr| | 2017-6-9 09:17 | 只看该作者
ADaiPlay 发表于 2017-6-8 13:42
严重同意楼主的意见。
刚习惯一种就要换,没完没了

那叫一个同志

使用特权

评论回复
60
MOn51| | 2017-6-9 13:18 | 只看该作者
本人这2天正被HAL困扰。各种问题、优缺点大家都讨论了,各有千秋。但我觉得STD库的命名还是习惯些。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则