一句话:企业只需要拿捏企业,不需要拿捏工程师!
最终给ST产生利润的是客户(企业),不是工程师,他才不会在乎工程师需要牺牲多少发量。
那怎么拿捏企业?
这个要从一个产品的研发成本说起。
ST推出HAL库最终目的就是缩短产品开发周期,降低企业的研发成本。
产品研发周期就是产品从无到有的时间,时间越短,研发成本就越低。
因为工程师一个月至少也要1-2W工资吧,不过这个还不是最关键的,最关键的是研发周期决定你是否能占领市场的先机,是否能先跑马圈地。
作为一个从事了单片机开发10几年老工程师,我觉得STM32早期的固件库已经吊打同行了。
现在出了一个比固件库使用起来更简单的HAL库,这就很过分,心疼同行5秒。
如果你觉得HAL难用,大概率是第一次接触STM32这种开发模式,适应了以后你会发现比51单片机用起来更简单。
这种开发模式基本上是大势所趋,如果一个单片机芯片厂或代理商不提供外设例程,那请问你到底有什么核心竞争力,能说服企业去用你的单片机?
很多就是压低价格,降低品质,最后批量出货各种问题,双方遍地鸡毛。
下面聊下HAL库有哪些优势,为什么能缩短研发周期?
推出HAL库的主要原因是为了简化STM32的开发过程。
在没有HAL库的情况下,开发人员需要直接与硬件交互,这需要深入了解芯片的寄存器、时钟和中断等底层细节。
这种开发方式需要较高的技术水平和花费更长的时间。
而有了HAL库,开发人员可以使用抽象层接口,将底层硬件控制从上层应用中隔离出来,使得开发人员更专注于应用程序本身的开发,简单来说就是做一个调库侠。
同时,HAL库还提供了一些常用的驱动程序和功能库,比如I2C、SPI、USART等,这些都可以大大减少开发时间和代码量。
一、HAL库的优点
1.简化开发流程
开发人员不需要深入了解底层硬件细节,只需要调用HAL库提供的API函数即可实现底层硬件控制。
2.提高代码复用性
由于HAL库提供了标准化的接口,可以方便地在不同的STM32系列芯片之间共享代码。
3.增强可移植性
由于HAL库是与设备无关的,开发人员可以将代码移植到不同的芯片平台上,而不需要重新编写底层硬件控制代码。
提供常用驱动程序和功能库:HAL库提供了一些常用的驱动程序和功能库,比如I2C、SPI、USART等,这些都可以大大减少开发时间和代码量。
二、HAL库的缺点
1.增加代码复杂度
由于HAL库是一个大型的库,需要包含大量的代码,因此在使用时需要将库文件加入到工程中,这会增加代码的复杂度。
2.系统资源占用
由于HAL库是一个底层库,会占用一定的系统资源,因此在对系统资源要求较高的应用场景中,可能需要使用更为轻量级的库。
三、总结
虽然HAL库非常方便,但我还是喜欢用标准库,主要是用习惯了。
从资源占用、代码复杂度、代码执行效率、开发周期等维度综合评估的话,还是标准库最合适。
相关文章