嵌入式
田小默
这个作者很懒,什么都没留下…
展开
-
交叉编译出错
[root@Tim linux-2.6.29]# makescripts/kconfig/conf -s arch/arm/KconfigCHK include/linux/version.hmake[1]: “include/asm-arm/mach-types.h”是最新的。CHK include/linux/utsrelease.hSYMLINK include/asm转载 2017-06-10 17:06:10 · 717 阅读 · 0 评论 -
uboot 命令 mmc erase 内存擦出出错
命令原型:Usage:mmc read addr blk# cntmmc write addr blk# cntmmc rescan mmc erase mmc list - lists available devices原使用方法:TINY4412 # mmc erase user 0 3e8 1START: 3 BLOCK: 1hi原创 2017-06-12 12:04:29 · 7586 阅读 · 1 评论 -
一个LED驱动的编写
#include <linux/kernel.h>#include <linux/module.h>#include <linux/cdev.h>#include <linux/fs.h>#include <linux/miscdevice.h>#include <linux/kdev_t.h>#include <linux/device.h>#include<linux/io.h>原创 2017-06-24 15:50:08 · 938 阅读 · 0 评论 -
io操作
驱动层long led_ ioctl(struct file *fp, unsigned int cmd, unsigned long arg)/*fp 文件指针,cmd 命令,arg 数据 cmd 命令是一个 32 位数 从上层应用传过来的 arg 可能是数据也可能是指针 如果是应用层是指针,读的时候需要先转换成 数据 *((int *)arg) */ cm原创 2017-06-26 22:44:18 · 220 阅读 · 0 评论 -
中断
驱动层#include <linux/kernel.h>#include <linux/module.h>#include <linux/cdev.h>#include <linux/fs.h>#include <linux/miscdevice.h>#include <linux/kdev_t.h>#include <linux/device.h>#include <linux/io原创 2017-06-26 22:45:41 · 540 阅读 · 0 评论 -
linux内核模块编写方法
目录一 内核模块结构二 模块编译测试1 编译11 Makefile 文件的书写12编译方法2 加载模块3 卸载模块三 模块参数1 c语言主函数的参数形式2 linux内核模块参数形式四 多模块同时编译1 程序2 编译结果3 加载卸载五 多文件编译成一个模块1 程序2 编译3 挂载卸载一 内核模块结构例子:#include <linux/kernel.h> //需原创 2017-06-14 15:37:49 · 594 阅读 · 0 评论 -
内核同步机制
linux 内核为了避免共享数据(临界区)访问冲突,提出了一些控制机制:原子量,自旋锁,信号量原子量:原子操作:cpu 执行某个操作过程中,不可被外界打断或中断原子变量:原子量的运算过程不可被中断如何使用原子变量:1.定义原子量 :atomic_t xxx2.原子量操作函数: atomic_set(&v, i) //初始化原创 2017-06-27 19:23:01 · 267 阅读 · 0 评论