摘要:
写在前面 在文章“嵌入式Linux的CAN总线配置——基于迅为iTOP-4412开发板”中我给4412开发板配置了SPI转CAN模块,使用的是不带设备树的内核。在本篇文章中,要使用支持设备树的内核,给iMX6UL开发板配置MCP2515。 打开iMX6UL开发板的串口终端,输入命令ifconfig 阅读全文
摘要:
前期知识 1.如何编写一个简单的Linux驱动(一)——驱动的基本框架 2.如何编写一个简单的Linux驱动(二)——设备操作集file_operations 3.如何编写一个简单的Linux驱动(三)——完善设备驱动 4.Linux驱动之设备树的基础知识 前言 在学习单片机(比如51单片机和STM 阅读全文
摘要:
前期知识 1. 如何编写一个简单的Linux驱动(一)——驱动的基本框架 2. 如何编写一个简单的Linux驱动(二)——设备操作集file_operations 3. 如何编写一个简单的Linux驱动(三)——完善设备驱动 前言 在前面的文章中,我们只介绍了如何对驱动和设备节点进行操作,并没有涉及 阅读全文
摘要:
前期知识 1.如何编写一个简单的Linux驱动(一)——驱动的基本框架 2.如何编写一个简单的Linux驱动(二)——设备操作集file_operations 前言 在上一篇文章中,我们编写设备驱动遇到了不少问题: (1) 注册设备时,设备号需要程序员给定,每次编写驱动时,程序员需要知道有哪些设备号 阅读全文
摘要:
前期知识 如何编写一个简单的Linux驱动(一)——驱动的基本框架 前言 在上一篇文章中,我们学习了驱动的基本框架。这一章,我们会在上一章代码的基础上,继续对驱动的框架进行完善。要下载上一篇文章的全部代码,请点击这里。 1.字符设备的四个基本操作 驱动让用户程序具备操作硬件设备的能力,那么对硬件设备 阅读全文
摘要:
1.Git基本命令 1 git init 初始化git仓库,文件夹中会出现名为".git"的隐藏文件夹 2 git status 查看文件夹中的文件状态 3 git add file_name 把工作区中名为"file_name"的文件添加到暂存区,并跟踪"file_name"文件 4 git ad 阅读全文
摘要:
前言 最近在学习Linux驱动,记录下自己学习的历程。 1.驱动的基本框架 Linux驱动的基本框架包含两部分,“模块入口、出口的注册”和“模块入口、出口函数的实现”,如下方代码。 1 static int __init shanwuyan_init(void) //驱动入口函数 2 { 3 ret 阅读全文
摘要:
前言 本文所用的uboot代码为迅为官方提供,开发板是迅为iTOP-4412开发板(不带设备树)。 首先,我们确定一下系统启动的流程:首先启动uboot,uboot启动内核并挂载rootfs(根文件系统),内核启动完成且rootfs工作完成后,挂载emmc上的文件系统,操作系统正式开始工作。 本文实 阅读全文
摘要:
写在前面 最近需要使用一款STM32L4系列的芯片进行开发,需要学习使用HAL库。在进行串口中断使用的时候遇到了一些小麻烦,写下解决方案供大家参考。 1.UART相关的头文件引用错误 由于本人直接使用MDK进行开发,没有使用CubeMX,所以一些初始化需要手动进行。在引用UART相关的头文件时,记得 阅读全文
摘要:
引子 进程通信的方式 △信号通信 △管道通信 △消息队列 △共享存储区 一、信号通信 1.什么是信号 (1)信号是Linux进程之间一种重要的通信机制; (2)信号的作用是为了通知进程某个事件已经发生; (3)信号的发出是及时的,但是信号的响应可能会有延后,收到信号的进程在当前执行处设置断点,然后立 阅读全文