
Linux Kernel
文章平均质量分 77
harricHe_
这个作者很懒,什么都没留下…
展开
-
Linux多线程pthread使用
From:http://blog.youkuaiyun.com/jiajun2001/article/details/12624923原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责我并不假定你会使用Linux的线程,所以在这里就简单的介绍一下。如果你之前有过多线程方面的编程经验,完全可以忽略本文的内容,因为它非常的初级。首先说明一下,在Linux编写多线程程序需要包含头文件pthread.h。也就是说你在任何采用多线程设计的程序中都会看到类似这样的代..转载 2021-02-23 16:54:09 · 666 阅读 · 0 评论 -
real6410移植linux2.6.39.4内核(1)-内核移植环境的搭建及测试
经过几天的失败经历,以及逐渐对内核移植步骤的了解,现在我想实现的内容很简单,就是仅仅把一个新的内核(我这里是官网下载的2.6.39.4内核)在开发板上面跑起来,也可以叫他裸跑,意思就是说什么驱动都不带只要内核能启动就行了,说是很简单的但是我却重重遇到困难,刚开始我对移植内核点都不了解。虽然编译每次都能成功。但是下载内核后,总是运行在Uncompressing Linux... done原创 2012-03-22 12:07:37 · 1369 阅读 · 0 评论 -
S3c6410 linux内核移植(8)---添加adc驱动、电池电量检测之原理
1、 原理分析S3c6410的内部adc结构图:ADC模块总共有8个通道可以进行模拟信号的输入,分别是AIN0、AIN1、AIN2、AIN3、YM、YP、XM、XP。首先模拟信号从任一通道输入,然后设定寄存器中预分频器的值来确定AD转换器频率,最后ADC将模拟信号转换为数字信号保存到ADC数据寄存器0中(ADCDAT0),然后ADCDAT0中的数据可以通过中断或查询的方式来转载 2012-03-16 15:59:22 · 1162 阅读 · 0 评论 -
S3c6410 linux内核移植(6)---添加按键驱动
以下为ut-s3c6410开发板的键盘驱动,如果是其他板要做相应的改动。包括arch/arm/machs-3c6410/mach-smdk6410.c的static struct gpio_keys_button smdk6410_buttons[]结构体和drivers/input/keyboard/gpio_keys.c文件下的int s3c_gpio_keys[]结构体。1、 添加添转载 2012-03-16 15:56:59 · 715 阅读 · 0 评论 -
S3c6410 linux内核移植(11)---用SD卡下载uboot、linux内核和文件系统
1、 移植mtd-utils:a) 下载utd-utils 下载地址为ftp://ftp.infradead.org/pub/mtd-utils/b) 交叉编译mtd-utilsi 修改Makefile CROSS=arm-linux-ii makeiii 查看下mtd-utils-1.0.0目录下是否生成了咱们所需要大工具 (flashcp转载 2012-03-16 16:01:26 · 1053 阅读 · 0 评论 -
S3c6410 linux内核移植(10)---添加充电控制脚驱动(LED驱动)
1、原理分析无线数码相框的GPQ3脚用于充电控制,当GPQ3为高电平是为充电状态,当为低电平时不充电。led的控制原理和充电脚的控制原理是一模一样的都是对某个io口置1或清零,所以在这里可以用led驱动实现对充电控制脚的控制。Linux内核下drivers/leds/ledsgpio.c实现了一个和体系结构无关的led驱动,使用此led驱动我们只需要在BSP的板文件(arch/ar转载 2012-03-16 16:00:39 · 974 阅读 · 0 评论 -
S3c6410 linux内核移植(9)---添加adc驱动、电池电量检测之文件修改
修改arch/arm/plat-s3c64xx/adc.c首先在文件开头部分引掉mutex结构体用semaphore结构体代替://static DEFINE_MUTEX(adc_mutex);DECLARE_MUTEX(ADC_LOCK);然后在read函数中修改互斥的实现s3c_adc_read(struct file *file, char __use转载 2012-03-16 16:00:06 · 999 阅读 · 0 评论 -
S3c6410 linux内核移植(5)---改进触摸屏驱动
由于我们使用的电阻式触摸屏,控制器根据检测到的电阻变化来计算接触点的坐标,当触摸力度较小时会出现抖动情况,通过多次取点求平均值发现效果并不好,我们在取值时应该去掉无效的点,网上查了一下说可以通过计算触摸压力的方法不过比较麻烦。 我采用的方法是去除抖动较大的不稳定点、即取四个点,分别比较这四个点的x轴和y轴的大小,取出最大值Xmax、Ymax和最小值Xmin、Ymin,然后计算a =(Xmax-Xm转载 2012-03-16 15:56:09 · 817 阅读 · 0 评论 -
S3c6410 linux内核移植(8)---添加pwm驱动,控制lcd背光亮度
一般LCD的背光LED是通过PWM控制,调节PWM的占空比即可调整背光亮度。比如S3C6410的GPF15,即PWM1,可连接LCD的背光控制接口,进行背光控制。内核中pmw配置函数位于”arch/arm/plat-s3c64xx/pwm-s3c6410.c”中的:int s3c6410_timer_setup (int channel, int usec, unsigned long g_tcn转载 2012-03-16 15:58:41 · 2378 阅读 · 0 评论 -
S3c6410 linux内核移植(7)---添加8.9寸lcd支持
新版lcd相比于旧版lcd显示效果更好, 但是在ut-6410开发板上用新版lcd驱动是会使触摸屏严重抖动,在无线数码相框上则不会有此现象,可以再配置时进行选择。新版lcd配置旧版lcd配置1、 旧版本lcd驱动a) 创建s3cfb_lcd9a.c文件复制s3cfb_lte480wv.c为s3cfb_lcd9a.c,替换34到41行的转载 2012-03-16 15:57:54 · 930 阅读 · 0 评论 -
S3c6410 linux内核移植(4)---修改flash分区
对于Nandflash 驱动还有一个重要的方面是Nandflash 的分区,这个分区表位于内核源码目录的arch/arm/plat-s3c/include/plat/partition.h 文件中。一下为一种分区方式,可根据需要自行对分区进行修改。struct mtd_partition s3c_partition_info[] = { { .转载 2012-03-16 15:55:02 · 835 阅读 · 0 评论 -
S3c6410 linux内核移植(3)--- usb驱动出错解决
系统启动时及插入u盘时会打印如下错误:hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad? 此为平台输入时钟设置错误,修改如下:把arch/arm/mach-s3c6410/mach-smdk6410.c文件中的:#ifdef USB_HOST_PORT2_EN#define OTGH_PHY_CLK转载 2012-03-16 15:54:16 · 7271 阅读 · 0 评论 -
S3c6410 linux内核移植(2)--- 添加dm9000网卡驱动
Linux 内核下的 drivers/net/dm9000.c 实现了与体系结构无关的 DM9000 网卡驱动,只需要在 BSP 的板文件(arch/arm/mach-s3c6410/smdk-6410.c)中定义相关的 platform 设备和数据:1、 添加引脚宏定义在arch/arm/mach-s3c6400/include/mach/map.h文件中添加宏定义#define转载 2012-03-16 15:53:21 · 889 阅读 · 0 评论 -
S3c6410 linux内核移植(1)---下载与配置
一、 下载内核及交叉编译工具(1)http://git.kernel.org/?p=linux/kernel/git/kki_ap/linux-2.6-samsung.git;a=summary到以上地址下载linux内核的三星分支,这里选取“2.6.28-samsung”版本。(2) 安装4.3.1-eabi-armv6编译器.http://cs.sch.ac.kr/~c转载 2012-03-16 15:51:34 · 917 阅读 · 0 评论 -
real6410移植linux2.6.39.4内核(2)-添加nand flash驱动及启动cramfs文件系统
real6410移植linux2.6.39.4内核(2)-添加nand flash驱动及启动cramfs文件系统又经过了一天的奋战,搜索了无数资料,今天终于VFS: Mounted root (cramfs filesystem) 了 ,这句话的意思就是说内核已近发现了cramfs文件系统,之前一直有的问题就是当我修改内核启动参数使其从cramfs启动后,总是出现这种提示VFS:原创 2012-03-23 18:50:03 · 1764 阅读 · 0 评论