- 博客(179)
- 资源 (29)
- 收藏
- 关注
原创 数码相框(一)点阵字符显示(ASCII及汉子)
代码下载:https://download.csdn.net/download/jerrygou/10722353/* color : 0x00RRGGBB */void lcd_put_pixel(int x, int y, unsigned int color){ unsigned char *pen_8 = fbmem+y*line_width+x*pixel_width; u...
2018-10-15 20:36:57
936
原创 UART(二)寄存器分析
配置I/O口为功能:5PV210共有15个相关寄存器:ULCONnUCONnUFCON0UTRSTATnUTXH0URXH0UBRDIV0UDIVSLOT0
2018-10-13 23:02:59
1086
原创 UART(一)裸机编程
S5PV210 包含 4 个异步收发器(UART),提供 4 个独立的异步串行输入/输出(I/O)端口。所有端口可工作于中断模式或 DMA 模式。提供高达 3Mbps 的位速率。每个 UART 包含 2 个 FIFO 用于接收和发送数据。具有可编程的波特率、红外收发、1 位或 2 位停止位、5~8 位数据位、校验。其中UART1和UART2也被转为232接口S5PV210的uart结构图如...
2018-10-12 16:38:13
1554
原创 Nand flash(四)时序TACLS、TWRPH0和TWRPH1的确定
这三个参数对于NandFlash的读写操作来说是比较重要的,没搞清楚这三个参数,后面的事就不用提了,那这三个参数到底是干什么的呢,我们怎么样去配置他们呢,今天我花了点时间研究了一下这三个参数。在datasheet中对他们的时序有下面两种图示,一种是写命令或者地址的情况,一种是读写数据的情况:由上图可知,这三个参数控制的是Nand Flash 信号线CLE/ALE与写控制信号nWE的时序关...
2018-10-10 23:20:50
1313
1
原创 Nand flash(三)寄存器及硬件初始化分析
关于NAND FlashS5PV210的NAND Flash控制器有如下特点:1) 支持512byte,2k,4k,8k的页大小2) 通过各种软件模式来进行NAND Flash的读写擦除等3) 8bit的总线4) 支持SLC和MCL的NAND Flash5) 支持1/4/8/12/16bit的ECC6) 支持以字节/半字/字为单位访问数据/ECC寄存器,以字为单位访问其他寄存器。注...
2018-10-10 22:05:55
3329
3
原创 I2C总线(五)I2C子系统(3)-— EEPROM实例
这一篇主要是在友善的Smart210开发板上写一个符合linux的iic驱动模型的设备驱动程序,这样能有一个更感性的认识。开发环境介绍:主机linux版本:Ubuntu18.04开发板:三星的Louis210嵌入式linux版本:linux-3.10.46交叉编译器:arm-linux-gcc-4.3.3硬件简单介绍:从图可以看出来EEPROM是和Louis210上的第0个...
2018-09-28 22:34:29
776
1
原创 I2C总线(四)I2C子系统(2)
分为应用层、内核层 以及硬件层。主要分析内核空间部分,内核空间部分可以分为:IIC设备驱动、IIC核心以及IIC总线驱动1、IIC核心IIC核心提供IIC总线驱动和设备驱动的注册、注销方法,IIC通信方法(algorithm)上层的,与具体的适配器无关的代码以及探测设备、检测设备地址的上层代码等。2、IIC总线驱动IIC总线驱动是对IIC硬件体系结构中适配器端的实现,就是怎样操...
2018-09-26 21:37:45
961
原创 安装Tftp服务器
tftp服务器最简单安装配置1.安装tftp-serverapt install tftpd-hpaapt install tftp-hpa(如果不需要客户端可以不安装)tftp-hpa是客户端tftpd-hpa是服务器端 2.配置TFTP服务器gedit /etc/default/tftpd-hpa将原来的内容改为:TFTP_USERNAME="tftp"...
2018-09-26 18:46:49
719
原创 应用移植 (二) QT编程
下载Qt源码http://download.qt.io/archive/qt/ubuntu安装QT apt-get install cmake qt5-default qtcreator下载编译好的QT for ARM :https://download.csdn.net/download/jerrygou/10662736下载软件下载以下软件包1、交叉编译工具连 su...
2018-09-11 15:17:52
594
原创 应用移植 (一) Sqlite数据库
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两...
2018-09-11 10:28:02
831
原创 内核驱动 (五)看门狗
尽管在linux系统中,对于S3C2440开发板来说,默认是已经配置了看门狗定时器,如:Device Drivers ---> [*] Watchdog Timer Support ---> [*] Disable watchdog shutdown on close (NEW) //如果选中, 用户一旦 open 看门狗...
2018-09-10 10:44:20
2137
原创 内核驱动 (四)时钟控制器 - clock management unit(CMU)
这一章节主要描述S5PV210的clock management unit(CMU),在S5PV210里面,系统控制器(SYSCON)管理CMU和PMU(power management unit 电源管理单元)。1.1时钟域S5PV210包含3个时钟域,即:MSYS(main system)、DSYS(diaplay system)、PSYS(peripheral system),如下图...
2018-09-09 21:38:50
2726
原创 内核驱动 (三)Linux系统时钟RTC
RTC,实时时钟芯片,用来在系统断电时,利用备用的锂电池继续记录时间。一、RTC介绍 (1)real time clock,真实时间,就是所谓的xx年x月x日x时x分x秒星期x (2)RTC是SoC中一个内部外设,RTC有自己独立的晶振提供RTC时钟源(32.768KHz),内部有一些寄存器用来记录时间(年月日时分秒星期)。一般情况下为了在系统关机时时间仍然在走,还会给R...
2018-09-09 20:14:30
6087
原创 内核驱动 (二)Linux按键驱动分析
一、按键驱动1、对按键驱动添加设备信息linux-stable-3.10.46对按键的驱动定义在gpio_keys.c (drivers\input\keyboard)文件中,在led驱动分析中,我们知道,只有平台设备和平台驱动两者的name名字一致才可以注册成功一个驱动。这里,内核代码中没有对按键平台信息的定义,因此我们需要给他补充完整。首先将按键驱动编译到内核: Devi...
2018-09-08 18:26:14
4711
1
原创 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
1956
原创 内核驱动 (一)Linux 输入子系统
一、Linux 输入子系统1. 事件层:负责与用户程序打交道,将核心层传来的事件报告给用户程序。2. 核心层:是链接其他两个层之间的纽带与桥梁,向下提供驱动层的接口,向上提供事件处理层的接口。3. 设备驱动层:负责操作具体的硬件设备,这层的代码是针对具体的驱动程序的,键盘、鼠标、触摸屏等字符设备驱动功能的实现工作主要在这层。二、数据结构及操作2.1 input_dev结构 ...
2018-09-02 20:22:58
537
原创 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
2941
原创 Lcd(八) fb参数计算
Linux内核的amba lcd控制器使用clcd_panel结构体表示一个LCD屏的硬件参数:/* include/linux/fb.h */struct fb_videomode { const char *name; /* optional */ u32 refresh; /* optional */ u32 xres; u32 yres; u32 pixclock; ...
2018-09-01 11:22:11
1202
原创 Lcd(七)接口与驱动方式
LCD的接口有多种,分类很细。主要看LCD的驱动方式和控制方式,目前手机上的彩色LCD的连接方式一般有这么几种:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式,DSI模式。MCU模式(也写成MPU模式的)。只有TFT模块才有RGB接口。但应用比较多的就是MUC模式和RGB模式,区别有以下几点:1.MCU接口:会解码命令,由timing generator产生时序信号,...
2018-08-30 16:23:37
7440
原创 Enable Loadable module support
Enable Loadable module support(在最顶层目录)可加载模块支持---Enable loadable module support打开可加载模块支持,如果打开它则必须通过"make modules_install"把内核模块安装在/lib/modules/中[*]Forced module loading允许强制加载模块[]Module unloa...
2018-08-18 21:31:21
1714
原创 platform(二)应用实例解析
前面我们已经学习了platform设备的理论知识Linux 设备驱动开发 —— platform 设备驱动 ,下面将通过一个实例来深入我们的学习。一、platform 驱动的工作过程 platform模型驱动编程,需要实现platform_device(设备)与platform_driver(驱动)在platform(虚拟总线)上的注册、匹配,相互绑定,然后再...
2018-08-08 20:46:45
1491
原创 LCD(六)显示控制器、framebuffer驱动、s3c-fb.c中probe函数分析
三星SOC芯片上集成了显示控制器(有称作fimd的,Fully Interactive Mobile Display)。它的驱动分为mainline版本的和legacy版本的,mainline版本的是通用的,由Ben Dooks <ben@simtec.co.uk> 管理着的,代码比较规范。下面我们来分析一下这个驱动,这个驱动在driver/video/里,文件名是...
2018-07-22 21:27:44
1105
原创 platform总线匹配设备和驱动有两种方法
内核版本:Linux-3.10.46platform的mach函数如下:/** * platform_match - bind platform device to platform driver. * @dev: device. * @drv: driver. * * Platform device IDs are assumed to be encoded like thi...
2018-07-12 23:22:40
2114
原创 ARM移植 vsftpd
vsftpd即very secure FTP daemon(非常安全的FTP进程),是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),可以运行在诸如Linux、BSD、Solaris、HP-UX以及Irix等系统上面。vsftpd支持很多其他传统的FTP服务器不支持的良好特性。使用 vsftpd 可以在 Linux/Unix 系统上搭建一个安全、高性能、稳定性好的轻...
2018-07-07 19:03:14
2441
原创 ARM 安装SSH、sftp或者安装dropbear代替SSH
一、编译zlib-1.2.71、修改MakefileCC=arm-none-linux-gnueabi-gccAR=arm-none-linux-gnueabi-ar rcCPP =arm-none-linux-gnueabi-gcc -ELDSHARED=arm-none-linux-gnueabi-gcc2、make clean3、./configure -prefix=~/code/ssh/...
2018-07-06 23:55:54
5860
原创 SecureCRT、FileZilla连接Ubuntu、开发板
一、SecureCRT连接Ubuntu1、安装sshapt install openssh-server可能会报错:解决方法:gedit /etc/ssh/sshd_config 修改 #PermitRootLogin prohibit-password 为 PermitRootLogin yes重启ssh服务:service sshd restart二、FileZilla连接Ubuntu1、通过...
2018-07-06 21:24:25
1365
原创 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
1676
原创 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
2747
原创 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
1506
原创 kernel(十四)看门狗
参考文档: Documentation/watchdog/内核提供了一套通用的看门狗驱动框架,这样用户层的操作就比较统一了。三星通用的看门狗驱动为: drivers/watchdog/s3c2410_wdt.cCONFIG_S3C2410_WATCHDOG_ATBOOT 为 0 表示不会自启动,需要用户编程启动看门狗CONFIG_S3C2410_WATCHDOG_DEFAULT_TIME...
2018-07-04 21:45:06
1558
原创 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
2496
1
原创 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
883
原创 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
1039
原创 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
1166
原创 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
1832
原创 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
986
原创 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
3922
RX8025驱动-STM+Linux
2019-01-27
freetype-2.4.10.tar.bz2 安装包
2018-02-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅