第4季-内核驱动奥秘多

第4季-内核驱动奥秘多

专题1-课程规划与学习方法

专题2-U-Boot新手入门

解压uboot源码,在源码中搜索开发板相关
然后可以看到哈偶哦编译选项

  1. 配置U-Boot
    TQ210: make TQ210_config
    Smart210: make smart210_config
    OK210: make forlinx_linux_config
    OK6410: make forlinx_nand_ram256_config
    Tiny6410: make tiny6410_config
    TQ2440: make TQ2440_config
    Mini2440: make mini2440_config
    我是6410开发板,所以
make forlinx_nand_ram256_config

然后只需要写前缀,工具链后面会自动补全的

make ARCH=arm CROSS_COMPILE=arm-linux-

完了将uboot烧写到开发板
开发板从nandflash启动

q退出菜单模式

printenv 显示当前的环境变量
print ipaddr

ipaddr=192.168.2.111

setenv filename text设置环境变量
setenv filename 空着则是删除环境变量

saveenv 保存环境变量

专题3-嵌入式Linux内核制作

第1课-Linux内核简介

1.1 linux的系统结构
GNU linux 分为user space+kernal space两部分

为什么要划分为用户空间和内核空间呢?
在这里插入图片描述
在不同的模式下,可以访问的权限是不一样的,主要是为了对操作系统保护。

在这里插入图片描述

用户空间和内核空间 的切换
在这里插入图片描述
内核组成
在这里插入图片描述
七个模块:系统调用接口(SCI),进程管理模块(PM),内存管理(MM),Arch体系架构相关,VFS虚拟文件系统,networkstack网络协议,DD设备驱动程序

在这里插入图片描述
内核源代码地址:
www.kernel,org

内核文件结构:
arch :体系结构相关的代码,对于处理器划分
documentation:文档
drivers:驱动
fs:文件系统
net:网络协议

第2课-Linux内核配置与编译

在这里插入图片描述
1.使用make menuconfig配置内核
在、boot目录下由配置文件
在/arch/arm/config下有各种开发板的配置文件
2.编译内核映像
make zImage V=1大小小于512K
make bzImage V=1比较大的内核
编译好的内核位于arch//boot目录下
3.编译内核模块 make modules
编译完成之后就散落在内核源码之中
make modules install就是将模块都移动到/lib/modules下
会生成和内核版本一样的名字的文件夹
4.打包内核
****mkinitrd initrd -$version v e r s i o n ∗ ∗ ∗ ∗ 第 一 个 代 表 打 包 的 名 字 , 第 二 个 代 表 打 包 的 目 录 , 也 就 是 生 成 的 文 件 夹 ( 此 处 没 有 做 尝 试 ) ∗ version****第一个代表打包的名字,第二个代表打包的目录,也就是生成的文件夹(此处没有做尝试) * versionversion可以通过查询/lib/modules下的目录查询
完了会在运行的目录下产生文件
5.安装内核

复制一遍,修改相对的位置,重启

uname -r显示当前运行的内核版本

6.清理内核

make clean清理中间.o文件
make distclean清理配置文件

第3课-嵌入式Linux内核制作

2.内核制作步骤
1.清除所有配置和中间文件
x86:make distclean
arm:make distclean
内核代码在对应的文件
1.解压:进入目录
2.make distclean
3.x86 :make menuconfig
arm:make menuconfig ARCH=arm
一般开发板厂家会给配置文件
改名.config
如果生效就保存退出
4.编译内核
x86:make bzImage
arm:make uImage ARCH=arm CROSS_COMPILE=arm-linux-
在编译会报错,因为201需要加头,加头工具是mkimage,在uboot下的tools下
需要拷贝到内核目录下才可以

启动内核在最后会报错,因为没有文件系统,内核在启动文件系统会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值