当前位置: 首页 > article >正文

驱动-----内核启动

目录

一、最小系统

二.操作系统

三.操作系统的启动

四.linux启动准备工作

五.安装nfs和tftp环境

六.总结


设备驱动:驱使设备行动的程序。

裸机程序:没有和操作系统结合的驱动程序pwm.c,uart.c,adc.c

有操作系统的时候,应用层不能直接操作硬件,由底层写驱动的人写好驱动,加到操作系统里面,然后应用层去调用。

静态的驱动:就是操作系统在一块的

动态的驱动:就是操作系统起来之后,后续加载进去的

1.首先我们要知道什么是操作系统?

2.操作系统是怎么启动的?

3.最小系统是什么?

一、最小系统

                                                

bus:总线,一组线。

可线性访问:有专门的地址、数据总线

内存:程序在内存里面运行,就是程序在运行的时候数据都是和内存做交互的,实际上程序cpu上运行。

            速度快,但是掉电会丢失数据,可线性访问。

1.这里的地址总线是从LADDR2开始的,不是从0和1开始的,说明是按照四字节对其来访问的。

                        7654 3210位

                        0000 0x00

        这里没有0和1位,最小的单位就是4字节,所以只能四字节访问。

2.地址总线是相同的,数据位不同,高16位和低16位放在俩个内存里,刚好32位的数据总线,4字节访问刚好是32位。

Norflash:速度慢,掉电数据不丢失,可线性访问。

                                                

1.地址位从1开始,俩字节对齐,数据位是16位,俩个字节访问刚好是16位的数据。

Nandflash:速度慢,掉电数据不丢失,不可线性访问。

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

二.操作系统

Linux启动:

        1.bootloader

        2.kernel(linux内核)

        3.rootfs(根文件系统)

1.bootloader(一个逻辑程序)

先导的启动程序,为内核的启动准备运行环境(初始化内存),并引导内核启动(将内核放在内存里,pc指向内存)。具备该功能的程序都叫bootloader。

        具体的工作:

                

        关闭Cache(缓存),直接从内存读取值

        关闭看门狗:关闭自动复位,就是cpu会循环给一个信号,看门狗收到信号的时候会重新计数,当看门狗没有收到这个信号的时候会认为cpu出错了,就会给出一个复位的信号。

        搬移内核到内存:这里无论从哪搬移内核都可以,不一定要在nandflash中搬移。   

        存放的位置:

        ​​​​​​​        ​​​


http://www.kler.cn/news/362815.html

相关文章:

  • Ivanti云服务被攻击事件深度解析:安全策略构建与未来反思
  • 2024下半年软考机考模拟系统已开放!小伙伴们速速练起来
  • 安全光幕的工作原理及应用场景
  • ros1和ros2 bag包互转
  • 【报错处理】MR/Spark 使用 BulkLoad 方式传输到 HBase 发生报错: NullPointerException
  • babylonjs shader学习之copy shadertoy案例
  • C 语言入门教程
  • STM32(二十一):看门狗
  • VirtualBox虚拟机桥接模式固定ip详解
  • ARM/Linux嵌入式面经(五十):tp普联
  • HeterGCL 论文写作分析
  • C语言汇编概述
  • R语言机器学习算法实战系列(十)自适应提升分类算法 (Adaptive Boosting)
  • SCR相对标准偏差、氨氮比、截面速度,多平面计算
  • WIFI、NBIOT、4G模块调试AT指令连接华为云物联网服务器(MQTT协议)
  • 基于Java微信小程序的的儿童阅读系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • int argc, char *argv[]
  • Pr 视频效果:时间
  • 刷题 - 图论
  • 哥德巴赫猜想渐行渐远
  • 软件分享丨Marktext 编辑器
  • 如何在复杂的信息物理系统中实施风险管理
  • leetcode 无重复字符串的排列和组合
  • 基于Django+Python的宾馆管理系统设计与实现
  • illustrator免费插件 截图识别文字插件 textOCR
  • 使用SearXNG-搭建个人搜索引擎(附国内可用Docker镜像源)