
用MMU的是Windows MacOS Linux Android
不用MMU的是FreeRTOS VxWorks ucOS...
CPU有两种 带MMU的 和 不带MMU的
带MMU的有 Cortex-A系列 ARM9 ARM11系列
不带MMU的有 Cortex-M系列...
STM32是M系列...不可能运行Linux...
ucLinux不算Linux的
linux开发是指:硬件开发?驱动开发?应用程序开发?STM32是cortex-M内核,一般能跑linux的都是cortex-A核,架构差异蛮大的。
STM32单片机 = cortex-M内核 + 外设
arm soc = cortex-A内核 + 外设
先说结论:单片机开发基础对linux开发有帮助,但是很有限
STM32基础:我个人认为是一定的code能力+寄存器配置能力 + 小型程序开发能力 + 外设驱动能力
先大概说一下linux启动流程吧:
1、FSBL:引导程序,厂家固化的,不用管;
2、SSBL:bootloader程序,一般用u-boot,厂家会提供一个可用版本,定制裁剪功能看个人需求;
3、linux内核 + linux驱动
4、跟文件系统rootfs,可能需要增添删改
linux毕竟是庞大的 *** 作系统,开发起来当然也非常复杂,需要的技术栈十分庞大,比如:
makefile、链接脚本、交叉编译、shell脚本、设备树、驱动框架等等
即使是linux驱动开发也是基于框架的开发,与单片机开发差距较大。既然想进入linux世界,先从空杯心态开始吧。
写这么多,不是说linux很难,其实任何东西入门容易,精通难,比如Linux内核进程调度、存储管理等等,都是我不知道的。没关系的,可以从简单的开始入手,一步一步积累嘛
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)