stm32和51的区别 stm32达到什么程度叫精通?
stm32达到什么程度叫精通?我们正在招聘精通STM32单片机的高级工程师,但遗憾的是,很少有人能达到我们的标准。我们现在的工资是2万5千-3万,北京。我们来谈谈我的熟练程度。我非常熟悉STM32的内
stm32达到什么程度叫精通?
我们正在招聘精通STM32单片机的高级工程师,但遗憾的是,很少有人能达到我们的标准。我们现在的工资是2万5千-3万,北京。我们来谈谈我的熟练程度。
我非常熟悉STM32的内部功能模块。例如,如果我们的产品需要加密这个芯片,你能提供什么方案,需要操作哪些寄存器,过程是什么,批量生产是否可行。
能快速定位问题并提出解决方案,例如,一个简单的例子,开发一个单板,串口不输出数据,如果发现问题,从哪里入手,是否能从线索中找到问题的本质。
IAP升级是高级必修课,如何编写bootloader,如何在flash中划分bootloader和app,如何处理烧录错误,flash是否足够,这些都需要你去考虑
标准库函数是在st之前引入的,包括注册版本和库函数版本。注册版本使用起来很麻烦。您需要检查每个设置的芯片数据表。优点是您可以熟悉芯片的寄存器配置。库函数是基于寄存器版本的二次包
介绍,它的优点是寄存器版本的缺点,使用方便,不再需要手动配置寄存器,使用更方便。但它的缺点是Hal的优点,即每次修改MCU函数时,都需要手工修改函数,而且自修改不能保证正确性,不同MCU之间的程序代码移植性不强。
Hal library,Hal是hardware abstraction layer的缩写,中文名为:hardware abstraction layer,Hal library项目一般使用cube软件生成项目。Hal库是ST公司针对STM32单片机开发的最新抽象层嵌入式软件,更便于实现STM32产品的最大可移植性。其优点是开发工程师不需要关注MCU模型,只需要专注于功能软件的开发工作。它是未来的主要发展方向,并在不断更新。建议您在正常使用时,它会自动更新或关闭。否则,将在更新前调试的代码将无法正常工作。设置多维数据集软件的方法点帮助,然后选择手动更新。详见图。
根据我们的工程师和我的研发经验,我们一开始使用标准库函数。后来我们发现,St推出Hal库后,我们逐渐转向Hal库的开发。它的优势在于软件代码在不同芯片之间具有很强的可移植性,并且cube软件生成的项目指定了自己代码的位置。如果不按规定编写,cube再次生成项目时会覆盖自己的代码,进一步增强了代码的可移植性。
另外,如果需要修改MCU的功能,如添加新的GPIO或串口,在使用标准库函数时,需要复制其他串口的初始化代码,然后手动修改。使用Hal库时,您不需要这样做。您只需将设置添加到多维数据集并生成它们。
多维数据集会自动为您生成初始化代码。
综上所述,建议新手直接使用Hal库,使用起来更方便,开发所需的软件功能也更快。复杂的寄存器配置工作可以交给cube软件,这也符合未来发展的主流思路。
stm32是用hal库,还是标准库?懂行的介绍一下?
Windows采用微内核架构,在内核架构上比Linux更先进。Linux是内核,它是一个垃圾堆。如果你把所有的东西都放进去,那就意味着有更多的人在挣扎,而且开源是相对稳定的。
现有的windows体系结构实际上来自windows NT,NT体系结构来自Dec。Dec architects将大约50人的团队转移到Microsoft并组织人员进行开发。其中一个团队成员是一位女士,她什么也不做,只是参加了架构技术会议,记录了整个开发过程,还写了一本书叫《windowsnt技术内幕》,这本书是我20年前读研究生时读的。NT有POSIX子系统,可以直接运行UNIX程序。但是,发展是不完整的,没有要求。微软并没有把重点放在这一点上。NT是最强大的微内核系统和安全机制。后来为了提高性能,做了一些让步,将显示子系统内置到内核中。