ARM《5》_系统移植(在开发板上运行linux程序)
0、前言:
- 这是一篇以问题为导向,的技术贴!
- 讲的是,通过 “Linux 虚拟机 + 网络服务(TFTP/NFS)” 调试开发板的经典流程;这样做的好处是:无需将根文件系统烧录到开发板的 eMMC 或 SD 卡,修改根文件系统时(如添加程序、修改配置),只需在虚拟机中操作,开发板重启后即可生效,极大提高调试效率;
- Linux 系统对交叉编译、内核开发、网络服务的支持更友好;
- 在现代嵌入式 Linux 系统中(尤其是支持设备树的架构,如 Exynos4412 所在的 ARM 架构),最小 Linux 系统运行必须依赖 “内核” 和 “设备树”;同时,还需要 “根文件系统” 才能构成可交互的完整系统。
基础概念库:
1、ADD_基础概念
- 1、嵌入式系统:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
- 2、嵌入式系统组成部分:微控制器、晶振(通过对石英进行切割,切割成非常薄的石英片,然后施加一定的电压,石英晶体就产生一定频率的振动,接入电路后就会输出脉冲信号。)、内存(如:SRAM,SDRAM)、存储器(如:ROM,FLASH,SD,微硬盘)、其他外围设备接口;
- 3、eMMC(Embedded MultiMediaCard)和 SD(Secure Digital)卡都是基于闪存(NAND Flash)的存储介质,核心功能都是存储数据,简单说:SD 卡是 “可插拔的外置存储”,eMMC 是 “焊接在主板上的内置存储”,二者的设计目标完全不同。
iTOP-4412 支持通过拨码开关选择 “SD 卡启动” 或 “eMMC 启动”:
1、调试阶段:用 SD 卡启动(方便修改镜像,无需拆板焊接);
