我把地址定义都加到.h文件中,使用时只需包含lcd_td35.h即可。
能简单实现画点,画线,画矩形,显示图片,显示字符和字符串,显示数字功能。
// lcd_td35.h
// 2015.12.16
#ifndef __LCD_TD35_H__
#define __LCD_TD35_H__
1.LCD示意图
下图是LCD示意图,里面的每个点就是一个像素点。
它里面有一个电子枪,一边移动,一边发出各种颜色的光。用动态图表示如下:
电子枪是如何移动的?
有一条CLK时钟线与LCD相连,每发出一次CLK(高低电平),电子枪就移动一个像素。
颜色如何确定?
由连接LCD的三组线
Linux kernel 是怎么将 devicetree中的内容生成plateform_device1,实现场景(以Versatile Express V2M为例说明其过程)以arch/arm/mach-vexpress/v2m.c 为例,在该文件中的v2m_dt_init函数的作用就是利用 dt
目录0 环境1 移植框架3 执行流程3.0 链接地址3.1 start.S, 入口3.2 __main3.3 board_init_f()和init_sequence_f[]3.4 relocate3.5 board_init_r()3.5.1 init_sequence_r3.5.2 main_
u-boot从nand 启动时的问题解决记录
问题描述:
使用u-boot-1.1.6版本u-boot移植到JZ2440开发板上,当前已经能够从Nor启动,但是不能从Nand正常启动(u-boot大小为95.8k,已经超过的2440从Nand启动时所能拷贝的4k大小),当前代码中只具备从Nor启动
文档时间:2018-08-10
交叉编译器:arm-linux-gcc-4.3.2
Ubuntu版本:16.04
uboot版本:2013.10
1,分析为何不能从 nand 启动
将上一章编译好的 u-boot.bin 烧写到 nand flash 中,将板子设置位 nand 启动,发现串口
MINI2440 开发板使用的是8bit,256M blocksize= 128k,pagesize =2k的nandflash。
宽带为8bit ,由S3C2440 datasheet 可知硬件生产的ecc为4byte。
S3C2440 硬件ecc 操作流程:
1.先读出NFMECC0寄存器中由
所谓的relocation,就是重定位,u-boot运行后会将自身代码拷贝到SDRAM的另一个位置继续运行。
但基于以前的理解,一个完整可运行的bin文件,link时指定的链接地址,load时的加载地址,运行时的运行地址,这3个地址应该是一致的。
relocation后运行地址不同于加载地址,
在前面的文章我们已经介绍了如何自己去实现一个BootLoader,今天我们来介绍u-boot的移植,u-boot是一种通用的BootLoader。
在嵌入式Linux之uboot源码make配置编译正向分析中我们已经介绍了如何通过Source Insight打开u-boot源码,以及uboot的编
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/
回顾
上篇文章linux中断源码分析 - 初始化(二)已经描述了中断描述符表和中断描述符数组的初始化,由于在初始化期间系统关闭了中断(通过设置CPU的EFLAGS寄存器的IF标志位为0),当整个中断和异
本节目标:
分析在linux中的中断是如何运行的,以及中断3大结构体:irq_desc、irq_chip、irqaction
在裸板程序中(参考stmdb和ldmia详解):
1.按键按下,
2.cpu发生中断,
3.强制跳到异常向量入口执行(0x18中断地址处)
3.1使用stmdb将寄存
一、S3C2440上的中断
1.1 中断概述
S3C2440A 中的中断控制器接受来自60 个中断源的请求。提供这些中断源的是内部外设,如DMA 控制器、 UART、IIC 等等。在这些中断源中,UARTn、AC97 和EINTn 中断对于中断控制器而言是“或”关系。
当从内部外设和外部中断请求引
一、RTC简介
RTC(real-time clock)简称实时时钟,主要是用来计时,产生闹钟等。RTC一般有个备份电池,所以即使设备关机掉电,RTC也能在备份电池的供电下继续正常计时,这样在每次系统开机上电时就可以从RTC设备中读取到准确的时间。RTC时间在每次系统启动的时候会使用,在需要的时候
转自:http://helloyesyes.iteye.com/blog/1072433
努力成为linux kernel hacker的人李万鹏原创作品,为梦而战。转载请标明出处
http://blog.csdn.net/woshixingaaa/archive/2011/05/21/64362
上一篇文章我们给大家讲解了基于瑞芯微rk3568平台芯片hym8563驱动的移植,本文给大家详细讲解Linux内核的时间子系统。
《Linux驱动|rtc-hym8563移植笔记》
一、Linux 时间操作命令 :date、hwclock
Linux时间有两个: 系统时间(Wall Time),
linux中的rtc驱动位于drivers/rtc下,里面包含了许多开发平台的RTC驱动,我们这里是以S3C24xx为主,所以它的RTC驱动为rtc-s3c.c
1.进入./drivers/rtc/rtc-s3c.c
还是首先进入入口函数,如下图所示:
这里注册了一个“s3c2410-r
一、 满二叉树
一个深度为k,节点个数为2^k-1的二叉树为满二叉树,即一棵树深度为k,没有空位。
二、完全二叉树
一棵深度为k有n个节点的二叉树,对树中节点按从上至下、从左至右的顺序进行编号,如果编号为i(1<=i<=n)的节点与满二叉树中编号为i的节点的二叉树中位置相同,则这棵
一、S3C2440上的RTC
1.1 概述
RTC,英文全称Real Time Clock,中文就是实时时钟,是一个可以为系统提供精确的时间基准的元器件,RTC一般采用精度较高的晶振作为时钟源,有些RTC为了在主电源掉电时还可以工作,需要外加电池供电。
RTC可以通过使用STRB/LDRB AR
----------------------------------------------------------------------------------------------------------------------------
内核版本:linux 5.2.8根文件系统:bu
一、CCF子系统概述
计算机硬件通过许多时钟设备提供时钟。从进入系统内部的 cpu core 时钟开始,使用数十种时钟,如 timer、i2c、uart 等。每个 ARM SoC都通过多个时钟设备驱动程序设置时钟,硬件千差万别。
linux内核采用了一个时钟子系统来解决这个问题。在linux 3.