驱动
Flywithdawn
这个作者很懒,什么都没留下…
展开
-
【驱动笔记】字符设备
编译过程:将写好的模块放到Linux内核的任意目录下修改相应的Kconfig和Makefile文件执行make语句生成.ko文件lsmod 列举当前的模块insmod XXX.ko 插入模块rmmod XXX 移除模块驱动的open/read/write函数实际上是由一个叫file_operations的结构体统一管理的。Ø 这是字符驱动最重要的一个结构体(之一),里面包含了一组函数指针。这组函数指针指向驱动精华版的file_operations(简约而不简单)struct fil原创 2020-09-25 11:20:08 · 184 阅读 · 0 评论 -
【内核笔记】中断
中断处理程序运行在 中断上下文中上下文:内核运行环境,包括寄存器值、堆栈等数据。进程上下文:一个进程在内核态执行时,CPU的所有寄存器中的值、进程的状态以及堆栈中的内容等。中断上下文:中断服务程序执行时所处的内核环境,CPU的所有寄存器的值、中断相关的硬件参数(中断控制器的寄存器中的值)、被打断进程的信息等。中断上下文注意事项:–不能使用导致睡眠的处理机制(信号量、等待队列等)–不能与用户空间交互数据(copy_to/from_user)–中断处理函数执行时间尽可能短#include原创 2020-09-25 11:15:30 · 400 阅读 · 0 评论 -
【内核笔记】Linux内核开发移植
Ø Linux内核源代码主要包含以下子目录:Ø arch与体系结构相关的代码。对应于每个支持的体系结构,有一个相应的子目录如x86、arm等与之对应,相应目录下有对应的芯片与之对应Ø drivers设备驱动代码,占整个内核代码量的一半以上,里面的每个子目录对应一类驱动程序,如:block:块设备、char:字符设备、net:网络设备等Ø fs文件系统代码,每个支持的文件系统有相应的子目录,如cramfs,yaffs,jffs2等Ø include这里包括编译内核所需的大部分头文件Ø原创 2020-09-25 11:14:56 · 187 阅读 · 0 评论 -
【内核笔记】嵌入式文件系统
linuxrc是由内核启动的第一个,也是惟一的一个用户进程,PID为1linuxrc是后续进程的发起者/etc/inittab决定了接下来将要启动的脚本、shell和应用程序原创 2020-09-25 11:14:13 · 130 阅读 · 0 评论 -
【内核笔记】Bootloader启动引导程序
1.u-boot 可以支持多种架构可以启动多种操作系统user bootcode是从SD卡等外部设备上加载的,这样iROM就会先找到能够启动的外部设备SD卡,并从核心板上的EMMC上搬运user bootcode,而搬运的这段代码就是我们常说的Bootloader。ubootpak.bin主要就是一个包含了2ndboot和uboot.bin的完整Bootloader。u-boot 的目录结构arch 体系结构相关,按架构进行分类board 开发办相关,按厂商分类conmmon 各种命令原创 2020-09-25 11:13:19 · 630 阅读 · 0 评论 -
【内核笔记】嵌入式平台搭建及根文件系统的制作
1.1 安装交叉编译器 arm-linux-gcc-4.3.2Step1:进入虚拟机中找到你上步自建的目录中,找到 arm-linux-gcc-4.3.2.bz2 文件:cd /home/edu/share/linux_platform2.6.35.7/Step2:查看自己的虚拟机是否安装交叉编译工具链:#echo KaTeX parse error: Expected 'EOF', got '#' at position 43: …2: 用于交叉编译各种镜像)#̲mkdir –p /usr/l…原创 2020-09-25 11:11:59 · 319 阅读 · 0 评论 -
【内核笔记】开发板的烧写
烧写:1.连接开发板后,在倒计时结束前按下任意键停止自动引导,进入U-Boot界面。2.输入fast命令3.连接下载线到开发板,找到sp_linux_image_down.bat,右键notepad++修改路径,然后保存后双击运行,烧写成功。配置U-Boot环境变量进入U-Boot界面如果板子烧写的是(Linux/Android)双系统,默认启动的是 Linux 系统,板子上电之后不用任何操作,启动起来就是 Linux 系统。如果要启动 Android 系统,板子上电时按住下方按键从左往右的原创 2020-09-25 11:10:29 · 367 阅读 · 0 评论 -
【内核笔记】嵌入式系统
嵌入式系统:嵌入式系统设备遵循自底向上的基本结构驱动层:设备驱动,HAL,BSPOS层:操作系统应用层:应用程序/文件系统,交互界面Normal I/O是特殊功能寄存器,GPIO等内容在这里进行配置原创 2020-09-25 11:09:16 · 134 阅读 · 0 评论