在开始前我有一些资料,是我根据网友给的问题精心整理了一份「stm3的资料从专业入门到高级教程」,
点个关注在评论区回复"888"之后私信回复"888",全部无偿共享给大家!!!如果需要使用STM32,建议先学习这个。后面再学习linux。
看到其他答案说STM32只是比单片机多一些引脚,linux支持复杂的应用,这里只同意一般。
首先,STM32也分系列,有M0的内核,M3的内核,M4,M7等等。
而跑linux至少需要A系列的内核。
ARM的内核分三个系列,cortex-m, cortex-a, cortex-r,m系列主要负责控制类,a系列主要负责应用类,r系列是real time,用于实时性比较高的场景,比如示波器。
STM32的芯片绝大多数是m系列的内核,所以用于控制的比较多。复杂的应用比如电机驱动,CNC雕刻机,变频器,plc,这类带算法的可以用,简单的比如太阳能控制板,传感器监测也可以用。m系列主要应用于稳定性要求高的控制类场景。
A系列一般伴随着系统使用,比如安卓,linux,wince。主要是一些应用类的类型,比如门禁,视觉识别,边缘服务器,数据服务器等。带系统更好处理图像,音频,网络等东西。比如同样的一个post,用linux开发比用STM32+c语言开发要简单的多。
个人认为这些并没有优劣之分,具体的使用应到结合具体的应用场景。
比如现在部分多核芯片,就是a+m结合的多核模式。