zoukankan      html  css  js  c++  java
  • 一、Linux驱动学习-了解系统

    了解Linux操作系统

    启动流程

    Linux:

      上电->uboot->加载Linux内核->挂在根文件系统->执行应用程序

    Windows:

      上电->bios->加载winnt内核->挂在文件系统->执行应用程序

    uboot

    介绍:

      uboot主要用于嵌入式系统的引导加载程序,全程Universal Boot Loader,是遵循GPL条款的开放源码项目。

      Boot :完成硬件的初始化,启动硬件平台

      Loader :初始化硬件后,加载操作系统

      uboot是一个非常复杂的裸机程序,而不是一个操作系统。

    输出信息:

     进入uboot查看开发板信息:

      arch_number ://uboot针对具体硬件平台的ID,若跟linux内核的ID不一致,不能启动内核

      boot_params ://uboot传递给内存启动参数的地址

      DRAM bank ://内存通道0

      -> start  ://起始地址

      -> size  ://内存的大小

      eth0name ://网卡的名字

      ethaddr  ://网卡的MAC地址信息

      current eth ://当前使用的网卡

      ip_addr ://网卡的IP地址

      baudrate ://串口波特率

      relocaddr ://linux内核执行的地址

    查看环境变量:

    bootargs=mem=512M console=ttyAMA0,115200 root=/dev/mtdblock2 rw rootfstype=yaffs2 mtdparts=hinand:1M(boot),4M(kernel),123M(rootfs) 传递给内核的启动参数

      mem=512M:内存大小512M

      console=ttyAMA0,115200:串口输出占用ttyAMA0 波特率115200

      root=/dev/mtdblock2:告诉内核去哪里挂在挂载根文件系统

      rw rootfstype=yaffs2:该文件系统可读写 文件系统类型为yaffs2

      mtdparts=hinand:1M(boot),4M(kernel),123M(rootfs):nand使用情况

    bootcmd=nand read 0x81000000 0x100000 0x400000;bootm 0x81000000

      将地址0x100000读取到地址0x81000000,大小为0x400000,去0x81000000启动内核

    bootdelay=2

      uboot启动延时,就开始执行boot命令(即bootcmd)

    下载文件:

      tftp 内存地址 文件名  //将文件放到板子上

      go  内存地址   //执行文件

    弄不懂以上内存到底指什么?我还会回来的!

    内核

      负责管理系统的进程、内存、设备驱动程序、文件和网络系统

    驱动

      什么是驱动?驱动就是计算机程序访问硬件的一个接口,这个接口是由操作系统提供。因为在操作系统涉及到安全管理机制,应用层程序不能够直接访问到硬件,需要通过驱动函数接口来访问硬件。

      

  • 相关阅读:
    Linux网络与服务管理
    输入两个数据,如果输入数据之和为5的倍数,那么就算是输了,停止游戏;如果赢了,接着输入数据。
    switch语句
    计算一个三位数的个位,十位,百位之和
    单分支和双分支选择结构程序设计
    register变量
    static变量
    auto变量
    长双精度类型
    双精度类型变量
  • 原文地址:https://www.cnblogs.com/Just-a-calm-programmer/p/13439903.html
Copyright © 2011-2022 走看看