这个不是简单的非此即彼。
需要根据很多外部、内部限定来选择
外部限定包括了 片上资源的丰富层度与功能复杂层度的矛盾,可能资源很紧张时,只有LL库能完成,HAL占用资源多就实现不了。
内部限定则诸如开发队伍对那种库更熟悉,是否存在不同的项目有大量可能重复的模块(这时采用HAL方便移植)
我倾向于LL库
其实无所谓,哪个用熟悉了都蛮好使。
HAL库把你从底层解放出来,只用关心你的应用。
个人常规使用还是用HAL库,对上层软件友好,不用去关心底层实现方式。
如果代码空间有限,或者对速度要求较高,就用LL库。