基于S3C2440数码相框】的更多相关文章

[参考]韦东山 教学笔记 1. 程序框架1.1 触摸屏: 主按线程,通过socket发给显示进程 --------------------------- 封装事件:ts线程 按键线程 --------------------------- 操作系统 封装的数据有:时间类型(点击.上下左右移动)位置速度幅度 1.2 显示 放大(上) 缩小(下) 左边 右边 当前 显示控制 接收sochket libjpeg mmap----------------------------------------内…
本文将介绍看门狗驱动的实现. 目标平台:TQ2440 CPU:s3c2440 内核版本:2.6.30 1. 看门狗概述 看门狗其实就是一个定时器,当该定时器溢出前必须对看门狗进行"喂狗“,如果不这样做,定时器溢出后则将复位CPU. 因此,看门狗通常用于对处于异常状态的CPU进行复位. 具体的概念请自行百度. 2. S3C2440看门狗 s3c2440的看门狗的原理框图如下: 可以看出,看门狗定时器的频率由PCLK提供,其预分频器最大取值为255+1:另外,通过MUX,可以进一步降低频率. 定时器…
基于S3C2440的U-BOOT的start.S分析 在了解了ARM相关的汇编指令后,同时结合网上各位大虾的提点开始阅读u-boot的启动代码,现将分析过程记录如下 可执行文件及内存映射 我们可以把可执行文件分为2种情况:存放态和运行态 .存放态:可执行文件经过烧到存储介质上(flash或磁盘)的分布,此时可执行文件通常有2部分组成,代码段和数据段, 代码段又分为可执行代码段 (.text)和只读数据段(.rodata),数据段可以分为初始化数据段(.data)和未初始化代码段(.bss),如下…
本文转载自:http://www.voidcn.com/blog/lqxandroid2012/article/p-625005.html 目前的linux版本的许多驱动都是基于设备模型,LED也不例外. 简单地说,设备模型就是系统认为所有的设备都是挂接在总线上的,而要使设备工作,就需要相应的驱动.设备模型会产生一个虚拟的文件系统——sysfs,它给用户提供了一个从用户空间去访问内核设备的方法,它在linux里的路径是/sys.如果要写程序访问sysfs,可以像读写普通文件一样来操作/sys目录…
本文转载自:http://eric-gao.iteye.com/blog/2160622 制作arm-linux交叉编译工具链一般通过crosstool工具或者crosstool-NG,前者使用方便,但是制作会受到一些限制,使用crosstool最多只能编译gcc4.1.1.glibc2.x的版本,无法编译版本高于2.6.29的linux内核.crosstool-NG是新的用来建立交叉编译工具链的工具,它是crosstool的替代者.crosstool-NG有更好的定制性,并且一直保持着更新,对…
http://www.linuxidc.com/Linux/2012-09/70510.htm  来源:Linux社区  作者:赵春江 uboot最主要的功能就是能够引导内核启动.本文就介绍如何实现该功能,并组成一个最简单的系统,这不仅要移植uboot,还要移植linux内核及创建一个根文件系统. 首先我们对nandflash进行分区,规划好每个文件存放在nandflash的位置.下面是nandflash的分区: 第0分区:0x000000000000-0x000000080000为uboot区…
1.1.     S3C2440处理器结构 S3C2440处理器的结构如下图所示,其核心单元为ARM9TDMI处理器核,主要包括16K的指令Cache和16K的数据Cache,以及分开的指令和数据MMU单元等.CP15为一个协处理器(Co-Processor).通过AMBA2.0(Advanced Microcontroller Bus Architecture)总线接口与外部设备相连. 图 1  S3C2440处理器框图 IVA指Instruction Virtual Address,指令虚拟…
用于arm裸机程序开发的IDE基本有 以下3个:MDK,IAR,还有ADS.具体它们的具体情况在这里我就不多说了,百度一下就明白了.由于之前开发c51,stm32时候都使用了MDK开发环境,而且MDK的界面确实看起来舒服多了,所以我选择了MDK作为我的s3c2440裸机开发的IDE.以下主要介绍一下如何使用MDK配合J-link来调试基于s3c2440的开发板. 首先,我们需要下载的有以下2样: MDK J-link 驱动 我的开发环境:windows 7 64位,J-linkv8,mini24…
编写基于V4L2视频驱动主要涉及到以下几个知识点:1> 摄像头方面的知识 要了解选用的摄像头的特性,包括访问控制方法.各种参数的配置方法.信号输出类型等.2> Camera解码器.控制器 如果摄像头是模拟量输出的,要熟悉解码器的配置.最后数字视频信号进入camera控制器后,还要熟悉camera控制器的操作.3> V4L2的API和数据结构 编写驱动前要熟悉应用程序访问V4L2的方法及设计到的数据结构.4> V4L2的驱动架构 最后编写出符合V4L2规范的视频驱动. 本文介绍基于S…
不管S3C2440的启动设备是什么,它都是从0x0000 0000地址开始执行程序的,所不同的是地址的映射不一样.基于S3C2440的嵌入式系统上电之后,需要首选选择启动设备,2440的启动方式选择是通过模式引脚OM1和OM0来配置的,如图1 所示为2440的启动方式选择说明: 图1 S3C2440启动方式说明 由上图可知,S3C2440支持两种启动模式:NAND和非NAND(这里是Nor Flash),具体采用的方式取决于OM0.OM1两个引脚的状态. OM[1:0所决定的启动方式 OM[1:…
我的操作系统是 Ubuntu 1404.可以使用下面的命令查看系统的版本: cat /etc/issue 安装.配置.启动 ftp 服务 sudo apt-get install vsftpd  修改vsftpd的配置文件/etc/vsftpd.conf,将下面几行前面的"#"号去掉.  #local_enable=YES  #write_enable=YES  上面第一行表示是否允许本地用户登录,第二行表示是否允许上传文件.  修改完华之后,执行以下命令重启ftp服务:  sudo…
转自:http://blog.chinaunix.net/uid-10747583-id-298573.html Tags:V4L2驱动框架.API.操作流程…… 原文地址:http://www.eefocus.com/ayayayaya/blog/10-09/196261_9360a.html 作者:刘洪涛,华清远见嵌入式学院讲师. 编写基于V4L2视频驱动主要涉及到以下几个知识点: ●    摄像头方面的知识                要了解选用的摄像头的特性,包括访问控制方法.各种参数…
文章目录 一.板载资源介绍 二.安装驱动及上位机 1.USB的驱动及上位机 2.eop驱动安装 3.安装烧录软件oflash 三.烧写开发板 1.预备知识 2.烧写裸板 3.使用u-boot烧写程序 四.恢复出厂设置 一.板载资源介绍 开发板使用了三星的JZ2440V3(基于S3C2440改进的版本),网上有丰富的资源,有助于学习,板载资源如图所示: 需要特别注意以下几点: 一般使用JTAG烧写口来烧写程序,用eop即可 有俩个USB接口,其中USB-SERIAL可以连接开发板与上位机,通过串口…
原创博客:欢迎转载,转载请注明出处https://i.cnblogs.com/EditPosts.aspx?postid=6218383 1.简介(基于s3c2440 linux) 在内核调试技术之中,最简单的就是printk的使用了,它的用法和C语言应用程序中的printf使用类似,在应用程序中依靠的是stdio.h中的库,而在linux内核中没有这个库,所以在linux内核中,使用这个printk就要对内核的实现有一定的了解. printf和printk的区别:printk会在开头处加上"&…
原文地址:http://www.cnblogs.com/beer/p/3325242.html 免责声明: 当时写完这篇调查报告,给同事看了后,他觉得蛮喜欢,然后想把这篇文章修改一下,然后往期刊上发表出来,我也答应了.但是后来此事却因各种原因一再被耽搁拖延,转眼就是一年多过去了,估计已经被遗忘了吧,直到前几天自己的清理电脑的时候,在硬盘里面发现了它,这篇文章确实在当时花了自己不少心血,实在是不忍心让它在自己的硬盘里面"终老"下去了.所以对不住了,我还是让它发挥点余热吧. 由于这篇文章是…
本次移植u-boot-2010.09是基于S3C2440的FL440板子,板子自带NANDFLASH而没有NORFLASH,所以在U-BOOT启动的过程中必须实现从NANDFLASH到SDRAM的重定向. 其中最重要的就是在U-BOOT开始的start.S汇编代码,这段代码要完成工作: 1,异常中断向量表,复位后异常向量处理 2, 跳转到代码实际执行处start_code 3,关闭看门狗WATCHDOG 3,关闭所有中断INTERRUPT 4,设置时钟分频,主要设置寄存器CLKDVN,MPLLC…
/************************************************************************** * I.MX6 AT24Cxx eeprom Linux i2c-gpio * 声明: * 很多时候当我们使用Linux系统管理硬件的时候,更多的是通过芯片中的控制器, * 但有时候,我们也会遇到芯片中的控制不够用,或者在设计的过程中出现意外,如没 * 有想到控制器存在,本文中的内容就是因为I2C中第四个控制器不存在,但硬件上却 * 认为其存在,…
很早以前在网上看到的韦东山老师写的文章,复制到自己的博客,方便自己以后看. 在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会). C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能.比如写一个数组排序.输入数字求和什么的. 学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决:执行出错没关系,自己去分析.以前我是用 VC来练习C语言的,经常去尝试着写一些C语言竞赛的题目.它们是纯C.纯数学.纯逻辑的题目,不涉及界面这些…
4.1 移植第一步 前面已经分析过了 .config 的过程,可以知道移植需要用到的文件: .config 文件 arch/arm/cpu 下的文件 board 目录  .config 文件是根据后面两个文件生成的,所以我们重点需要配置后面两个目录 4.1.2 移植 board 目录 JZ2440 是基于 S3C2440 的,为三星架构,我们可以从其他支持 2440 的 uboot 版本中进行移植. u-boot自v2014.10版本开始引入KBuild系统,所以我们在 2014.10之后不久的…
被问过太多次,特写这篇文章来回答一下.   在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能.比如写一个数组排序.输入数字求和什么的.学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决:执行出错没关系,自己去分析.以前我是用VC来练习C语言的,经常去尝试着写一些C语言竞赛的题目.它们是纯C.纯数学.纯逻辑的题目,不涉及界面这些东西,很适合煅炼你的编程能力.    …
① I2C(Inter-Integrated Circuit)总线是由飞利浦公司开发的两线式串行总线,用于连接微控制器及其外围设备 ② I2C总线有两根双向信号线 (1)SDA:Serial Data Line(数据线) (2)SCL:Serial CLock Line(时钟线) ③ I2C总线寻址 (1)I2C总线协议规定,从设备采用7位的地址. * D7~D0:从设备地址 * D0位:数据的传送方向.“0”表示主设备向从设备写数据:“1”表示主设备由从设备读数据 注:主设备发送地址时,总线上…
原文地址:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076214.html 1.1 Linux内核基础知识 在动手进行Linux内核移植之前,非常有必要对Linux内核进行一定的了解,下面从Linux内核的版本和分类说起. 1.1.1  Linux版本 Linux内核的版本号可以从源代码的顶层目录下的Makefile中看到,比如2.6.29.1内核的Makefile中: VERSION = 2 PATCHLEVEL = 6 SUBLE…
1.1 Linux内核基础知识 在动手进行Linux内核移植之前,非常有必要对Linux内核进行一定的了解,下面从Linux内核的版本和分类说起. 1.1.1  Linux版本 Linux内核的版本号可以从源代码的顶层目录下的Makefile中看到,比如2.6.29.1内核的Makefile中: VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 29 EXTRAVERSION = .1 其 中的“VERSION”和“PATCHLEVEL”组成主版本号,比如2.4.2.5…
作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这篇文章来回答一下.在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能.比如写一个数组排序.输入数字求和什么的.学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决:执行出错没关系,自己去分析.以前我是用VC来练习C语言的,经常去尝试着写一些C语言竞赛的题目.它们是纯C.纯数学.纯逻辑的题目,不涉及界面这些东西…
    作为一个新人,怎样学习嵌入式Linux?   在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).尝试着写一些C语言竞赛的题目.它们是纯C.纯数学.纯逻辑的题目,不涉及界面这些东西,很适合煅炼编程能力.        回到主题,首先我们要明白你的目的是什么,大概来说所谓嵌入式Linux可以分为两部分:底层系统.应用开发.    对于应用开发 : C语言.数据结构.JAVA什么的需学好.嵌入式应用开发和PC上的应用开发并没有什么特别要…
这篇文章是引用韦老师的部分关于新人怎么学习嵌入式Linux的经验,引用如下: 1.电脑一开机,那些界面是谁显示的?是BIOS,它做什么?一些自检,然后从硬盘上读入windows,并启动它. 类似的,         这个BIOS对应于嵌入式Linux里的bootloader.         这个bootloader要去Flash上读入Linux内核,并启动它. 2.启动windows的目的是什么?当然是上网聊天什么的了.这些上网.聊天工具在哪? 在C盘.D盘上.所以,?windows要先识别出…
目录 更新记录 一.Linux I2C 体系结构 1.1 Linux I2C 体系结构的组成部分 1.2 内核源码文件 1.3 重要的数据结构 二.Linux I2C 核心 2.1 流程 2.2 主要函数 三.Linux I2C 适配器驱动 3.1 I2C 适配器驱动的注册于注销 3.2 probe 成员函数 四.Linux I2C 设备驱动 4.1 设备驱动一般过程 4.2 Linux 的 i2c-dev.c 文件分析 4.3 AT24xx EEPROM的I2C设备驱动实例 五.应用程序开发…
S3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A) 转载自:http://www.cnblogs.com/idle_man/archive/2010/12/23/1915303.html S3C2440内部集成了一个Nand flash控制器.S3C2440的Nand flash控制器包含了如下的特性: l        一个引导启动单元 l        Nand Flash存储器接口,支持8位或16位的每页大小为256字,512字节,1K字和2K字节的Nand f…
本文主要介绍如何使用Keil4开发ARM9(S3C2440)裸机程序. 说明: 一.平台: 操作系统:Windows XP系统 KEIL版本:4.73 开发板:ARM9(S3C2440) 二.建立工程:   1.新建工程,选择S3C2440A处理器: 2.对工程进行设置 1)设置RAM.ROM地址: RAM1: Start:0x30000000 Size:0x200000 ROM1: Start:0x30200000 Size:0x200000 2)生成Hex文件 3)设置生成.0 .bin .…
转自:http://blog.sina.com.cn/s/blog_6abf2c04010189ui.html DM9000可以直接与ISA总线相连,也可以与大多数CPU直接相连.Mini2440采用的是dm9000直接连接CPU(s3c2440)上.就像是nandflash一样直接被挂在CUP上,被挂在s3c2440的bank4上. 小插曲1:s3c2440芯片把存储系统分为了8个Bank,由nGCS0[0]~nGCS[7] 这8根引脚决定当前访问的是哪一个Bank对应的存储器.其中,前6个B…