嵌入式软件开发零碎知识点

  • Linux 必须挂载一个文件系统。Linux 启动到最后,等所有驱动初始化完成后最后一步才挂载文件系统。
  • Ubuntu、QT、Android都是Linux内核启动后挂载的一个文件系统。

 

  • ARM开发板开机过程:

①开机第一件事是运行Uboot:检测内存、存储设备、设置时钟。

②如果不在Uboot阶段输入,会进入内核引导。然后接下来开始 内核初始化(对外设的初始化)

③内核初始化结束后挂载文件系统(挂载文件系统不仅是出现一个类似“资源管理”的东西,并且会执行文件系统里的应用程序,例如Android。所以Android可以看成跑在Linux上的一个应用程序)

  • Uboot:引导、初始化、加载内核 → Linux内核初始化 → 挂载文件系统

 

  • 嵌入式软件开发学习路径:理解Uboot、kernel、文件系统 → 学会烧写系统 → 学会编译系统 → Linux应用程序编写和调试 → 字符类驱动编写和调试 → 读Linux源码

 

  • Linux 把设备看做文件,因为设备操作无非读和写,而文件操作大致如下:

open()    read()    write()    ioclt()(一些操作,如读文件中间数据时,移动指针)    close()

 

  • 设备文件信息(上层应用和底层驱动的桥梁):主设备号(区分不同类设备) 和 次设备号(区别同类设备中不同的硬件)

 

  • 单片机:MCU 微控制器
  • ARM等:MPU 为处理(多了CAHE缓存、MMU内存管理单元(物理地址和虚拟地址的转换))

你可能感兴趣的:(嵌入式软件开发相关)