kernel
LouisGou
我很懒,什么都没有写
展开
-
kernel 编译遇到的问题
1、/tmp/ccFzdWQP.s: Assembler messages:/tmp/ccFzdWQP.s:508: Error: garbage following instruction -- `dsb nshst'/tmp/ccFzdWQP.s:523: Error: garbage following instruction -- `dsb nsh'编译器问题。更换编译器即可。 sudo ...原创 2018-03-24 12:34:15 · 4319 阅读 · 1 评论 -
kernel(十)按键
一、定义keys平台设备参考: Documentation/devicetree/bindings/gpio/gpio_keys.txtdrivers/input/keyboard/gpio_keys.c 查看 TQ210 原理图1.1、在 mach-Louis210.c 中添加头文件<linux/gpio_keys.h>1.2、定义 keys 的平台设备...原创 2018-07-04 19:27:27 · 933 阅读 · 0 评论 -
kernel(十一)I2C
S5PV210 自带 3 个 I2C 模块, TQ210 使用的是 I2C0,挂接的是 AT24C02。三星提供了 I2C 的总线驱动: drivers/i2c/busses/i2c-s3c2410.c支持多种处理器,包括 s5pv210(和 s3c2440 兼容),同理,三星公用的 I2C 平台设备定义在arch/arm/plat-samsung/devs.c默认为 s3...原创 2018-07-04 20:15:06 · 915 阅读 · 0 评论 -
kernel(十二)RTC
一、配置rtc设备修改/arch/arm/plat-samsung/devs.c文件在mach-Louis210.c 中的 Louis210_devices设备列表中已经添加了 rtc 设备,只需配置内核二、配置rtc驱动配置内核Device Drivers ---> [*] Real Time Clock ---> ...原创 2018-07-04 20:28:54 · 794 阅读 · 0 评论 -
kernel(十三)1-wire (DS18B20)
Linux 内核实现了一套通用的 1-wire 子系统框架, 只需简单的配置芯片引脚,就可以实现对单总线芯片的驱动。参考文档:Documentation/w1/masters/w1-gpioDocumentation/w1/slaves/w1_therm查看 TQ210 原理图 XEINT8 对应的 GPIO 为 GPH1_0在 mach-smdkv210.c 中添加头文件<linux/w1...原创 2018-07-04 21:15:02 · 2000 阅读 · 1 评论 -
kernel(十四)看门狗
参考文档: Documentation/watchdog/内核提供了一套通用的看门狗驱动框架,这样用户层的操作就比较统一了。三星通用的看门狗驱动为: drivers/watchdog/s3c2410_wdt.cCONFIG_S3C2410_WATCHDOG_ATBOOT 为 0 表示不会自启动,需要用户编程启动看门狗CONFIG_S3C2410_WATCHDOG_DEFAULT_TIME...原创 2018-07-04 21:45:06 · 1365 阅读 · 0 评论 -
kernel(十五)SD/MMC
三星已经提供了支持 s5pv210 的 SD/MMC 的驱动: drivers/mmc/host/sdhci-s3c.c在 mach-smdkv210.c 中已经添加到 smdkv210_devices 设备列表配置内核Device Drivers ---> <*> MMC/SD/SDIO card support ---> <*> ...原创 2018-07-04 22:08:16 · 1204 阅读 · 0 评论 -
kernel(十六)USB-HOST主机控制器之EHCI
简单地讲,OHCI、UHCI都是USB1.1的接口标准,而EHCI是对应USB2.0的接口标准,最新的xHCI是USB3.0的接口标准。1. OHCI(Open Host Controller Interface)是支持USB1.1的标准,主要用于非x86的USB,如扩展卡、嵌入式开发板的USB主控。2. UHCI(Universal Host Controller Interface),...原创 2018-07-04 23:19:14 · 2310 阅读 · 0 评论 -
kernel(十七)USB-HOST主机控制器之OHCI
Linux内核(以3.8.3为例)默认仅提供了ehci-s5p.c,但是提供了很多其他平台的ohci源码,因此,我们可以参考ohci-exynos.c来编写自己的ohci-s5p.c,然后参考ehci-s5p.c的代码组织方式添加到内核就可以了。下面废话少说,直接进入正题,开始USB HOST的EHCI和OHCI移植。(一)编写ohci-s5p.cohci-exynos.c为模板,修改以适合...原创 2018-07-05 23:48:06 · 1359 阅读 · 0 评论 -
kernel(十八)触摸屏GT811
一、电容触控芯片GT811TQ210的电容触摸屏控制芯片是GT811。 GT811引出了6根脚,分别是VCC、GND、I2CSDA、I2CSCL、INT和RESET,虽然INT脚不是必须的,但是开发高效省资源的触屏驱动程序往往都采用中断方式,下面是GT811的引脚图:使用万能表实际测量了一下触控模块的各个引脚,实际线序是GND、SDA、SDL、INT、RESET和...原创 2018-09-01 19:25:48 · 2476 阅读 · 0 评论 -
kernel(九)LED(触发器)
内核里面实现了一个 LED 子系统, 参考文档为 Documentation/leds/leds-class.txt网上有很多关于内核的各种各样的子系统的详细透彻的分析。http://blog.csdn.net/yuanlulu/article/details/6438841http://blog.csdn.net/yuanlulu/article/details/6438847查看 T...原创 2018-07-04 14:02:02 · 1573 阅读 · 0 评论 -
kernel(八)PWM 蜂鸣器
PWM 蜂鸣器驱动: drivers/input/misc/pwm-beeper.c,采用 input 子系统编写需要在 mach-smdkv210.c 中为其构造平台设备,及平台数据,参考 samsung_bl_set 函数的处理过程这里的 1 表示使用定时器 1,添加平台设备到 smdkv210_devices 注意: s3c_device_timer 一定要在 tq210_beeper 前面...原创 2018-07-03 23:14:28 · 804 阅读 · 0 评论 -
kernel 移植
内核浏览网址:https://elixir.bootlin.com/linux/v3.10.46/source1、修改顶层Makefile ARCH ?= arm CROSS_COMPILE ?= arm-Linux-gnueabi-根据自己的环境修改交叉编译器前缀2、添加自动拷贝uImage.bin命令./arch/arm/boot/Makefile$(obj...原创 2018-03-24 13:30:30 · 475 阅读 · 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格式图片 选择:图像->模式->索引,最大颜色数量改为:224,点击转换3、导出、保存图片PPM格式(导出为ASCII格式)4、覆盖原先的...原创 2018-03-20 23:53:14 · 1727 阅读 · 0 评论 -
kernel(四)NAND 8位硬件ECC
在 mach-smdkv210.c 中添加头文件<linux/mtd/mtd.h>添加 nand_ecclayout 定义 OOB 布局,同时赋值给 smdk_nand_sets, 设置 disable_ecc 属性为假 修改 NAND 驱动 drivers/mtd/nand/s3c2410.c,里面所用到的寄存器索引都在arch/arm/plat-samsung/include/pl...原创 2018-06-20 23:35:20 · 2124 阅读 · 0 评论 -
kernel(一)初步配置
1、修改顶层Makefile然后使用 s5pv210 的默认配置文件来生成默认的.config 配置文件 生成了配置文件.config, 现在执行 make menuconfig,先进行初步配置root@zjh:/home/work/linux-3.10.46# make menuconfigSystem Type ---> (0) S3C UART to use for lo...原创 2018-06-13 21:02:36 · 1059 阅读 · 0 评论 -
kernel(五)LCD
在新版内核里面,相比之前的 LCD 驱动增加了一个 platform_lcd,这个 platform_lcd 主要用于背光控制。 支持 s5pv210 的 LCD 驱动为 drivers/video/s3c-fb.c,这个驱动同时支持多种 CPU 三星公用的 LCD 平台设备定义在 arch/arm/plat-samsung/devs.c...原创 2018-06-22 23:26:13 · 865 阅读 · 0 评论 -
kernel(二)网卡(DM9000)及nfs文件系统
参考帮助文档: Documentation/networking/dm9000.txt 在 arch/arm/mach-s5pv210/mach-smdkv210.c 中已经配置了 DM9000 的平台设备相关的数据,我们只需要修改就行了。 在 arch/arm/mach-s5pv210/include/mach/map.h 中只定义了 S5PV210_PA_SR...原创 2018-06-16 21:43:35 · 900 阅读 · 0 评论 -
kernel(三)NAND FLASH
三星提供的 NAND FLASH 驱动为 drivers/mtd/nand/s3c2410.c,只支持 S3C2410/S3C2440/S3C2412。我们需要修改它,以支持 s5pv210。在这个驱动中,根据 CPU 类型来决定如何操作硬件。里面定义了一个枚举类型用来表示 Cpu 类型,我们需要在里面添加 TYPE_S5PV210。三星公用的 NAND 平台设备在 a...原创 2018-06-16 23:00:59 · 764 阅读 · 0 评论 -
kernel(六)从根源解决 10 分钟后 LCD 黑屏
10 分钟后, LCD 黑屏, LCD 控制器已经被静止,这时如果触发一个中断, LCD 控制器又被使能,恢复显示。drivers/tty/vt/vt.c blankinterval 决定了延迟多久后关闭 LCD 控制器,默认为 10 分钟,同时定义了一个 work,后面在定时器超时时会调用。将blankinterval 改为0则不会关闭LCD控制器。 ...原创 2018-07-03 22:29:18 · 1372 阅读 · 0 评论 -
kernel(七)PWM 背光调节
TQ210 使用 XpwmTOUT0 作为背光,引脚为 GPD0,在 mach-smdkv210.c 中定义了 PWM 背光驱动的平台数据pwm_id 表示定时器编号, XpwmTOUT0 使用定时器 0在 smdkv210_machine_init 中调用了 samsung_bl_set 设置 PWM 背光平台数据,以及注册相应的 PWM定时器平台设备,同时注册 PWM 背光平台设备。 Syst...原创 2018-07-03 22:51:34 · 3619 阅读 · 0 评论 -
kernel(十九)触摸屏FT5x06
FT5x06原厂芯片资料下载https://download.csdn.net/download/jerrygou/10653027FT5x06驱动完整代码下载https://download.csdn.net/download/jerrygou/10653022一、电容触控芯片FT5x06TQ210的电容触摸屏控制芯片是FT5x06。 FT5x06引出了6根脚,...原创 2018-09-07 18:04:55 · 1541 阅读 · 0 评论