跬步千里,窥叶知秋

跬步千里,窥叶知秋

内核驱动 - 内核定时器

一、概念内核定时器是内核用来控制在未来某个时间点(基于jiffies当前时间)调度执行某个函数的一种机制,被调度的函数是异步执行的,类似于一种“软件中断”,而且是处于非进程的上下文中,所以调度函数需要遵循以下规则:1) 没有 current 指针、不允许访问用户空间。因为没有进程上下文,相关代码和...

2018-03-31 15:09:07

阅读数:38

评论数:0

驱动模块加载、卸载遇到的问题总结

1、rmmod: chdir(/lib/modules): No such file or directory 解决方法1.创建 /lib/modules/$(uname -r) 空目录就行了 2.使用如下源码生成rmmod命令,就可以没有任何提示的卸载ko模块了[luther.gliethtt...

2018-03-30 22:24:25

阅读数:208

评论数:0

内核驱动 - 中断分层技术

一、背景Linux系统处理中断响应时,如果有新中断产生,Linux系统对新中断的处理方法与正在处理的中断类型有关,分为慢中断、快中断两种。慢中断:Linux处理慢中断时,中断总开关是打开的,允许其他中断产生。即会产生中断嵌套         如,Linux正在处理串口慢速中断,此时网卡产生中断,则...

2018-03-30 21:54:37

阅读数:54

评论数:0

内核驱动 - 混杂设备驱动 + 中断处理函数

一、概念二、逻辑图三、Misc_key 代码下载点击打开链接key.c#include <linux/module.h> #include <linux/device.h> #include &...

2018-03-28 21:04:11

阅读数:37

评论数:0

设备驱动 - Led

LED驱动程序点击打开链接led.c#include <linux/module.h> #include <linux/device.h> #include <linux/init.h&a...

2018-03-28 19:28:33

阅读数:48

评论数:0

uboot 编译

1、在lib_arm\bootm.c文件中添加打印,打印传递给内核的机器码 在theKernel (0, machid, bd->bi_boot_params);上面添加 printf("machid:0x%x\n",bd-&a...

2018-03-25 19:54:38

阅读数:43

评论数:0

kernel 移植

内核浏览网址:https://elixir.bootlin.com/linux/v3.10.46/source 1、修改顶层Makefile     ARCH ?= arm     CROSS_COMPILE ?= arm-Linux-gnueabi-根据自己的环境修改交叉编译器前缀 2、...

2018-03-24 13:30:30

阅读数:78

评论数:0

kernel 编译遇到的问题

1、/tmp/ccFzdWQP.s: Assembler messages:/tmp/ccFzdWQP.s:508: Error: garbage following instruction -- `dsb nshst'/tmp/ccFzdWQP.s:523: Error: garbage fol...

2018-03-24 12:34:15

阅读数:373

评论数:0

Linux 下解压文件汇总

    tar.xz文件         解包:xz -d ***.tar.xz               tar -xvf  ***.tar          tar命令       解包:tar zxvf FileName.tar       打包:tar czvf FileName.tar...

2018-03-24 10:00:59

阅读数:65

评论数:0

uboot下载

uboot下载地址ftp://ftp.denx.de/pub/u-boot/ DNW源码及使用说明下载点击打开链接 共分为三种方法: 一、从SD卡启动 通过wind把SD卡格式化为FAT32模式 sudo fdisk -l  //查看分区信息 dd iflag=dsync oflag=d...

2018-03-23 21:18:26

阅读数:155

评论数:0

Linux进程通讯的几种方式

进程的概念进程是操作系统的概念,每当我们执行一个程序时,对于操作系统来讲就创建了一个进程,在这个过程中,伴随着资源的分配和释放。可以认为进程是一个程序的一次执行过程。进程通信的概念进程用户空间是相互独立的,一般而言是不能相互访问的。但很多情况下进程间需要互相通信,来完成系统的某项功能。进程通过与内...

2018-03-23 18:56:28

阅读数:70

评论数:0

同步、互斥的区别

现代操作系统基本都是多任务操作系统,即同时有大量可调度实体在运行。在多任务操作系统中,同时运行的多个任务可能:都需要访问/使用同一种资源多个任务之间有依赖关系,某个任务的运行依赖于另一个任务这两种情形是多任务编程中遇到的最基本的问题,也是多任务编程中的核心问题,同步和互斥就是用于解决这两个问题的。...

2018-03-23 10:20:04

阅读数:37

评论数:0

kernel 修改启动logo

一、修改logo图像1、系统默认logo位置Y:\Kernel_3.0.8_TQ210_for_Linux_v2.1\drivers\video\logo\logo_linux_clut224.ppm2、使用GIMP(点击打开链接)软件制作.ppm格式图片  选择:图像->模...

2018-03-20 23:53:14

阅读数:53

评论数:0

uboot 修改启动logo

1. 获取一张图片为其色深为8位,即256色(右击->编辑(画板打开)->另存为->test.bmp(下拉框选择256色位图))2. 将制作好的BMP图片,放置到<u-boot>/tool...

2018-03-20 23:38:51

阅读数:82

评论数:0

RS232 与 RS485的区别

 RS232RS485接口物理结构DB-25或DB-9插头座,传输线采用屏蔽双绞线无具体形状,根据实际情况而定电器特性传输电平信号,信号“1” -3~-5v,信号“0” +3~+5v抗干扰能力差传输差分信号,信号“1” +2~+6v,信号“0” -2~-6v抗干扰能力强通讯距离标准=&am...

2018-03-20 22:55:23

阅读数:48

评论数:0

uCOS-II 上电启动流程

上电启动,一般分为两个阶段第一阶段(主要是CPU内核的初始化,运行固化的启动代码)1、初始化堆栈2、初始化、规划中断向量表,跳转到Reset_Handler中,执行复位后的中断3、在Reset_Handler中,调用C函数SystemInit来进行系统初始化4、调用C函数__main 将会跳转到主...

2018-03-20 22:31:09

阅读数:72

评论数:0

FATFS文件系统

FATFS 可剪裁、代码量少、移植简单、效率高、全C语言编写

2018-03-20 21:59:05

阅读数:68

评论数:0

uboot 与 kernel移植遇到的问题

问题1:内核只引导到"Starting Kernel...",然后串口终端就没有输出了.原因:内核配置打印串口错误,选择正确的串口问题2:内核只引导到""booting the kernel",然后串口终端就...

2018-03-18 23:13:22

阅读数:91

评论数:0

bootloader 启动过程

一、S5PV210 采用iROM(Nand Flash、SD卡等)方式启动1、处理器上电,将iROM映射到BL0(0地址处),执行iROM中的固化代码固化代码两个作用 1. 初始化硬件   2.拷贝BootLoader2、固化代码将BL1、BL2拷贝到SRAM(垫脚石)中3、如果BL1 + BL2...

2018-03-18 23:02:09

阅读数:28

评论数:0

IIC 及遇到的问题

一、概念 半双工通信方式1、空闲状态2、开始信号3、停止信号4、应答信号5、数据的有效性6、数据传输二、遇到的问题1、GPIO模拟IIC速度慢,无法达到400k速度由于模拟iic的程序中调用了太多延时函数,导致程序执行的时间有点长解决方法: 修改延时时间2、发送、接收如果存在问题,一般都是时序有问...

2018-03-18 16:38:46

阅读数:109

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭