系统移植 CPMS 最相近的系统,修修改改 使之能够运行新的板子上

驱动开发 开发硬件的驱动,让操作系统能够使用该硬件

低端嵌入式 遥控器 温湿度传感器 智能小车 — 单任务 无应用 裸数据存储
高端嵌入式 路由器 手机 平板 机器人 行车记录仪 监控摄像头 — 多任务 应用 文件

9.1、系统移植 -- 基本概念
c lib就是对系统调用syscall的封装.
usr app ->c lib ->syscall - > os - > drv - >hardware

  • OS发展史
    60-70年代,市面上有几百款操作系统.
    贝尔实验室: 有个工程师对 一套软件[文件系统软件]进行 修改, 增加了很多操作系统的功能. unix
    B语言 ->C语言
    unix - > 重写unix ->免费,收费,有版权
    linus unix-> miniX -> linux linus’s minix
系统 收费 领域 安全性 实时性
linux 免费 开源 服务器领域-90% 嵌入式领域 -90% 安全性:高 实时操作系统
windows 收费 闭源 PC领域,个人电脑-90% 安全性:差 非实时操作系统, 等空闲了再去做
freeRTOS 免费 单片机
VxWorks 收费 $1 军事领域 卫星 火星探测器 很安全 硬实时操作系统/RTOS,在制定的时间内,一定完成

嵌入式环境搭建
1)交叉编译工具的安装
代码要跑在 ARM板子上. gcc-x86 arm: arm-none-xxx-gcc
交叉环境: PC —串口/网口----开发板
串口: 速度慢 整个开发过程都用到
网口: 速度快 系统起来之后使用

2)tftp工具的使用
tftp: tftp, tiny[极小的] file transport protcal
ftp: 50KB
tftp: 1KB
适合在嵌入式上使用的ftp服务

3)nfs的使用
fs:file system
nfs: net file system
文件系统在远程的网上,你在电脑上就像访问本地文件一样访问.
1.安装服务器 sudo apt-get install nfs-kernel-server
2.服务器提供一个共享目录: /home/lsf/src/rootfs
修改服务器配置文件: sudo vi /etc/exports
重启服务器 sudo service nfs-kernel-server restart
3.客户端映射/连接/挂载 服务器 共享目录

三大件移植
PC: bios/UEFI -> windows -> 文件系统 [磁盘 ,里面有很多开机程序]
安卓: recovery -> android ->文件系统
嵌入式: u-boot -> linux ->文件系统

启动
bootloader --> OS --> 文件系统 --> 启动cpu 加载OS
每个磁盘都需要一份文件系统软件,来管理磁盘空间. 在格式化的时候安装的.

系统移植 让系统在一个新的板子上跑起来 就可以了.
系统:操作系统
移植:
嫁接,植物上的概念 一个物种的枝子接在另一个物种上.
移植,动物上的概念 对双方要求 相似度很高!!!

一个新的板子,如何寻找一个系统过来呢??? 移植
要找一个相似的 工作起来的板子. 如何认为两个板子相似呢>>>>: CPU一致, RAM最好相似 FLASH最好相同

系统移植的工作量: 由两个板子相似度决定的.
参考板从哪里来???:
从cpu原厂来, 每个cpu厂商在生产一款cpu的同时,会提供 一个 demo板,包括源码 文档 电路图 …

相关文章:

  • 2021-04-22
  • 2021-11-09
  • 2022-01-01
  • 2022-12-23
  • 2021-06-20
猜你喜欢
  • 2022-12-23
  • 2021-10-03
  • 2022-01-25
  • 2022-12-23
  • 2021-07-01
  • 2021-12-08
相关资源
相似解决方案