E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
OK6410
ok6410
学习笔记(14.platform平台总线驱动模型)
本节知识点:基础知识:1.把最近学的东西串串线,首先学的是kobject,这个东西是在sysfs文件系统中,创建一个目录的基类,在这点上linux有着面向对象的编程思想,也就是什么kset,总线,platform都是继承了kobject的特性,在sys目录中创建目录。2.学习kobject和kset是为了学习总线设备驱动模型的,因为创建总线,设备,驱动实际就是在/sys/bus目录中创建kobje
qq418674358
·
2013-06-27 16:00
ok6410
学习笔记(13.总线设备驱动)
本节知识点:基础知识:1.总线结构:name是总线的名称,即总线在bus目录下面 文件夹的名称bus_attribute device_attribute driver_attribute分别是总线 设备 驱动三者的属性文件的描述 如图他们分别是通过三个宏完成赋值的 下面详细说明2.设备结构:kobjectkobj是device自身的文件夹名字 来源init_name的赋值3.驱动结构:name
qq418674358
·
2013-06-27 11:00
ok6410
u-boot-2012.04.01移植二修改源码支持单板
继ok6410u-boot-2012.04.01移植一后修改代码,对
ok6410
单板初始化,主要包括时钟、串口、NAND、DDR等初始化。这些工作在以前的裸板程序都写了,直接拿来用。
·
2013-06-25 19:00
2012
ok6410
学习笔记(12.kset学习记录)
本节知识点:基础知识:1.最重要的是弄清楚kobject和kset之间的关系:首先kobject是在sys目录下创建一个目录,这个目录里面只有属性文件。而kset也是创建一个目录,这个目录里面还可以创建目录(包括kset内嵌的kobject,和kobject)。kset里面可以有其他好多kset,其实这些kset都是内嵌的kobject,然后把kobject.kset赋值为父目录的kset的值。如
qq418674358
·
2013-06-25 16:00
ok6410
学习笔记(11.kobject学习记录)
本节知识点:基础知识:1.目前学习了三种基于ram的文件系统,有ramdisk(实际上是ext2,ext3文件系统),proc,sysfs系统。2.根目录下sys文件下:block:里面包含所有块设备,即设备的属性文件。BUS:包含所有总线,有ide,pci,usb等,里面还有两个文件夹devices和drives。devices目录包含系统中所有属于该总线的设备,drives包含所有注册该总线的
qq418674358
·
2013-06-19 14:00
ok6410
学习笔记(10.硬件访问之led控制3)
这节说说linux帮我们映射好的物理地址:dev_led.c/************************************************************************** 文件名:dev_led.c 日期:2013/06/08 头文件:led.h 功能:混杂设备驱动通过ioctl控制led 环境:Redhat企业版5内核版本2.6.36 作者:Hao 流程:
qq418674358
·
2013-06-09 12:00
ok6410
学习笔记(10.硬件访问之led控制2)
混杂设备驱动的ioremap见
ok6410
学习笔记(9.混杂设备驱动及硬件访问)简单字符驱动的ioremap驱动memdev.c/************************************
qq418674358
·
2013-06-09 12:00
ok6410
学习笔记(10.硬件访问之led控制1)
在对于led控制驱动方式上,我看见了6种方式:在用户空间角度上说有两种:1.mmap驱动自己写的设备,来把物理地址映射到用户空间。2.mmap驱动linux内核提供的mem设备,来把物理地址映射到用户空间。在内核空间角度上说有四种:1.ioremap的字符设备驱动中或者在混杂设备驱动中的应用,把物理地址映射到内核空间。2.在不管是国嵌的移植好的内核,还是飞凌移植好的内核中,在/driver/cha
qq418674358
·
2013-06-09 12:00
ok6410
学习笔记(9.混杂设备驱动及硬件访问)
本节知识:硬件访问知识点:1.I/O空间和内存空间的概念:I/O空间一般只有64K,内存空间有4G,他俩是分开的总线。切记ARM只有内存空间,一般只有X86才有I/O空间。2.I/O端口:当一个寄存器或内存位于I/O空间时候,称其为I/O端口。3.I/O内存:当一个寄存器或内存位于内存空间时候,称其为I/O内存。4.操作I/O端口的流程:第一种是在设备驱动加载和open的时候申请I/O端口资源re
qq418674358
·
2013-06-09 12:00
ok6410
学习笔记(8.mmap地址映射之第二种mmap驱动)
最近弄mmap弄的特别烦,现在不想再弄了!!!但是还有一个地方的知识点没有搞定。就是mmap的驱动设备方法有两种,第一种是上面说过的用remap_pfn_range一次分配一段连续的物理页进行映射,有点像kmalloc分配到了真实的物理地址。第二种方式就是利用vm_operations_struct中的fault操作(这个过程在《linux设备驱动宋保华》的P229页中有对vm_area_
qq418674358
·
2013-06-04 22:00
ok6410
学习笔记(8.mmap地址映射之led驱动)
前两节说mmap可以映射到真实的物理地址上面去,所有就打算把
ok6410
的#defineGPMCON(*(volatileunsignedint*)0x7f008820)和#defineGPMDAT
qq418674358
·
2013-06-04 14:00
ok6410
学习笔记(8.mmap地址映射之mmap驱动方法)
本节知识点:重点函数:1.mmap系统调用:void*mmap(void*addr,size_tlen,intprot,intflags,intfd,off_toffset)将文件映射到进程空间的虚拟内存空间,直接对内存进行赋值,可以越过read,write对文件进行操作参数详解:addr为映射的起始地址,一般设置成NULL,让系统分配地址,系统会自动找一个能用的虚拟内存,并创建一个vm_area
qq418674358
·
2013-06-03 11:00
ok6410
学习笔记(8.mmap地址映射之linux内存管理)
在学习mmap的时候,遇到了好多障碍,最后总结为对内核机制的理解不透彻,尤其是对内存管理理解不到位,所以转载好多篇不错的内存管理的文章。这节就当做学习mmap前面的知识铺垫吧。问题思考:1.linux页式管理与mmu有什么关系:在linux内核移植中,移植了mmu(内存管理单元)到系统中,用作把操作系统的虚拟地址转换成物理地址,也就是mmu中保存了linux系统中各级的页表,页目录。mm
qq418674358
·
2013-06-02 15:00
Opencv-2.0.0的ARM移植和使用(Ubuntu10.04 /
OK6410
开发板 / linux3.01)
环境:Ubuntu10.04OK6410开发板ARMLinux3.01系统QT4.7.1OpenCV-2.0.0arm-linux-g++4.3.2/arm-linux-gcc4.3.2CMake-gui2.8.0(建议先参考我的另外一篇博文《Ubuntu上安装Opencv-2.0.0》)特别标注:有些网站转载我的文章不标明出处,并且转载不到位,没有把相应的链接一块转过去,比如说下载链接或相关文献
b5w2p0
·
2013-05-26 15:00
linux
ubuntu
opencv
移植
ARM
ok6410
学习笔记(7.poll驱动设计)
本节难点:1.理解内核信号量,阻塞型设备驱动,poll之间的关系,其实三者之间的关系并不矛盾,可以一起使用。可以把信号量放到阻塞设备驱动下层,等待条件成立后再去申请信号量。poll是对多个文件进行监控,如果只用阻塞型设备驱动的话,有一个文件不能读写,整个进程就挂起了。如果用poll只要有一个能读写,进程就可以正常进行,然后再用阻塞型设备驱动去处理。2.select和poll函数之间参数传递3.se
qq418674358
·
2013-05-25 18:00
ok6410
学习笔记(6.自动创建设备文件)
本节难点:1.这里说的是在/dev目录下创建设备文件的两种方法之一,一种是通过mknod手动创建,另一种是通过函数自动创建2.两种方式对比,对于自动创建不知道是怎么把设备类型传递下去的 就是mknod中的c 我感觉是THIS_MODULE传递的参数本节知识点:注意事项:1.busybox中必须要支持udev(mdev这个是嵌入式设备的命令)重点函数:1.mem_class=class_create
qq418674358
·
2013-05-23 21:00
ok6410
学习笔记(5.阻塞字符驱动)
本节难点:1.重点在理解阻塞型设备驱动和内核信号量的区别,详细在内核信号量那节有说明。2.理解本节的几个重要函数,驱动的结构。本节知识点: 细节知识点:1.在判断是否阻塞进程的时候,使用了while的好处是,可以避免wakeup唤醒的进程不是现在你想唤醒的进程,因为wakeup是唤醒等待队列中的一类进程,而不是一个。所以在wakeup的使用中要伴随着 阻塞条件的赋值(可能是全局变量也可能是file
qq418674358
·
2013-05-23 16:00
nfs实现ubuntu与开发板
OK6410
文件共享
FS,我们创建NFS的目的是通过网络对外提供目录文件共享服务。NFS的原理是在客户端通过网络将远程主机共享文件系统以挂载(mount)的方式加入本机的文件系统,之后的操作就如同在主机上一样。正因为ubuntunfs是一个RPC(RemoteProcedureCallProtocol远程过程调用协议服务程序), 所以在使用它之前, 先要映射好端口——通过portmap设定. 比如: 某个Ubuntu
ImpoliteMan
·
2013-05-23 11:00
nfs
ok6410
学习笔记(4.ioctl字符驱动)
写了几篇文章发现,自己的总结方式有些问题进行了如下调整: 1.对于驱动的学习应该注重的是驱动的结构,module_init里面的结构,read,write,ioctl里面的结构,日后的文章会详细结构部分。 2.对于知识点的总结,应该加强对函数的总结,函数是一个很容易忘记的东西(因为不常用)。 本节难点: 1.ioctl的参数传递,和cmd命令的理解。
qq418674358
·
2013-05-23 11:00
基于
OK6410
的串口数据收发
转自http://blog.csdn.net/pzhsunxu/article/details/8257939*************************** *基于
OK6410
的串口程序 *2012.12.4
jingzhesiye
·
2013-05-22 17:00
补充:
OK6410
从nfs启动
从nfs启动的话,要具备的条件是:a.你的uboot支持网络;b.你的宿主机的nfs已经启动,并可以被正常挂载;c.你的宿主机的tftp已经启动,并可以从上面下载(也可以直接把你编译的支持nfs启动的内核烧进开发板去,这样就直接启动开发板就可以了)要做的事有:1、配置内核这里只讲从nfs启动需要的选项,其他的选项请参考其他博客上的内核配置的文章;要用nfs文件系统的话配置内核的时候,必须选上:Fi
triston
·
2013-05-14 21:00
ok6410
学习笔记(3.并发和竞态)
学习资料:1.国嵌视频和ppt 2.操作系统精髓与设计原理(机械工业出版社) 主要知识点:1.自旋锁(spinlock) 2.信号量(semaphore) 具体函数详细见ppt和操作系统P195~P199 思考:1.内核的信号量和应用层的信号量(见国嵌应用开发进程通信)有什么关系和区别(这里涉及内核中进程间通信与用户空间进程通信的通信方式) 2.fread
qq418674358
·
2013-05-14 15:00
ok6410
学习笔记(2.简单字符驱动)
最近在看国嵌的字符驱动的教学,可能是刚刚入手驱动很不适应,所以将一些知识点总结如下: 从如下几个方面进行总结 1.字符驱动基础知识和.字符驱动程序设计的流程 2.字符驱动的过程(如何从应用层控制内核模块的vsf文件系统) 3.部分琐碎知识点总结 4.我写的代码分析(此代码经过测试成功的)。 1.字符驱动的基础知识:a.设备号 (获得主设备号MAJOR(dev_tdev
qq418674358
·
2013-05-13 22:00
嵌入式Linux内核制作 ——
OK6410
内核制作制作嵌入式平台使用的linux内核,方法和制作pc平台的linux内核基本一致,下面使用对比的方式介绍如何制作用于
OK6410
开发板的内核。
triston
·
2013-05-12 11:00
OK6410
之裸机led
init.s文件:PRESERVE8 IMPORT main AREA|C$$code|,CODE,READONLY globalstart start ;/*硬件相关的设置*/ ;/*Periportsetup*/ ldrr0,=0x70000000 orrr0,r0,#0x13 mcrp15,0,r0,c15,c2,4 ;//@256M(0x70000000-
h516077808
·
2013-05-12 00:00
ok6410
学习笔记(1.arm常见的各种地址总结)
学习
ok6410
有一段时间了,总是对其中各中地址的来源比较模糊一会0x500080000 一会0x71000000的,最近自己又看了看手册,找了找资料,并和2440对比学习了下,总结如下。
qq418674358
·
2013-04-19 13:00
Ubuntu 12.10 使用DNW传数据 进行ARM开发板烧写
Ubuntu12.10使用DNW传数据进行ARM开发板烧写原文地址:http://www.cnblogs.com/QuLory/archive/2012/11/16/2773389.htmlPart1前言最近在研究
OK6410
changqiang08
·
2013-04-14 10:00
OK6410
笔记 -- UART串口(
OK6410
上测试成功)
完成功能:编写串口程序,波特率为115200.当在pc终端上输入一个字符的时候,返回来该字符加1之后的值,比如按下1则返回2,按下a则返回b。start.S 1 .globl_start 2 _start: 3 4 /*硬件相关的设置*/ 5 /*Periportsetup*/ 6 ldrr0,=0x70000000 7
triston
·
2013-04-09 20:00
OK6410
uboot 网卡驱动 DM9000
解压
ok6410
或ok6410b对应的u-boot源代码U-Boot源代码下载地址http://www.linuxidc.com/Linux/2011-07/38897.htm下载附件,覆盖u-boot
newnewman80
·
2013-04-08 14:00
OK6410
的linux的LED驱动,GPIO驱动
Ok6410
开发板LED连接:4个LED分别连接到核心板上的GPM端:目前4个LED对应的端口:GPM0->LED1 GPM1->LED2 GPM2->LED3 GPM3->LED4查看s3c6410芯片手册
luopeiyuan1990
·
2013-04-06 16:00
Android 编译重要参数 LOCAL_MODULE_TAGS
近移植tslib库到android系统,发现编译好的库和测试工具竟然没有输入到out/target/product/
Ok6410
/system/lib和out/target/product/
Ok6410
sflfqx
·
2013-03-22 15:00
s3c6410之USB驱动error -62
开发平台:飞凌
OK6410
内核版本:linux2.6.28问题描述:usb下载线接入pc机,开发板串口打印错误信息: “newfullspeedUSBdeviceusings3c2410
findaway123
·
2013-03-17 15:00
基于stm32f103zet6之最小系统的制作
因为嵌入式老师一直鼓励我们去学习stm32,他说这是一款很不错的片子,所以就萌生了学习stm32的念头,之前一直在学习基于arm11的
OK6410
,裸机跑到触摸屏就没有再继续了,感觉6410重点不在于裸机
King_BingGe
·
2013-03-09 10:00
stm32
最小系统制作
OK6410
之使用串口烧写运行全裸程序
1、用串口烧写只是因为想体验体验全裸的感觉。该烧写方法仅适用于烧写小程序,同时手上又只有串口线、电源线,在没有网络的情况下。想体验的就赶紧试试吧!2、打开XP下面的超级终端,串口配置之类的就不多说了,设置为SD卡启动,首先烧写SD卡的uboot吧。3、完事后,从SD启动开发板,快速敲入空格停留在autoboot下面键入命令loady4、等待发送文件,然后终端菜单栏的传送里面选择发送文件,注意协议选
King_BingGe
·
2013-03-08 21:00
串口
OK6410
裸机程序
飞凌
OK6410
之触摸屏的学习
一、LCD的显示介绍完了之后,在这个基础上就需要了解触摸屏的相关知识了,同样的,使用触摸屏的话就需要进行初始化了,上次已经说过了,在芯片手册上面可以看到这个这个四个引脚是控制触摸屏的,接下来我呢就根据s3c6410的手册来分析一段代码:主函数相当简单:LCD初始化已经明白了,接下来就是对触摸屏进行初始化了1、 假设当触摸道屏幕的时候发生的是外部中断VIC1的第三十个中断,则首先需要设置中断2、 接
King_BingGe
·
2013-03-08 21:00
触摸屏
OK6410
裸机
飞凌
OK6410
之IIC的学习2
上一博文已经基本上了解IIC的基础知识,其实我自己还有几个知识盲点,因为我是学完51后,接触了msp430,然后用430做了一个项目之后,直接玩
OK6410
的所以感觉有许多知识都不是很了解,下面先把我的几个知识盲点列出来
King_BingGe
·
2013-03-08 21:00
OK6410
裸机
裸机
IIC
飞凌
OK6410
之IIC的学习1
通过讲解一个利用IIC读取ROM数据的例子来学习IIC。一、首先了解一下预备知识:1、IIC总线介绍 IIC(Inter-IntegratedCircuit,内置集成电路总线)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。IIC总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,这对于缓解嵌入式系统资源少的缺陷有很大好处。总线的长度可高达25英
King_BingGe
·
2013-03-08 21:00
OK6410
裸机
IIC
飞凌
Ok6410
之SDRAM的学习
由于程序太大导致程序运行会出错误,也就是8K的内容不够用,这时候就需要用到DDR,前面的博文提到过,但是在使用DDR之前,我们需要初始化DDR,初始化DDR之前我们先来了解一下DDR,打开
OK6410
核心板的电路图可以找到
King_BingGe
·
2013-03-08 21:00
sdram
OK6410
和菜鸟一起学
ok6410
之ffmpeg+ffserver实现流媒体传输
发现好久没有写博客了,最近一直在纠结着sdiowifi的驱动,至此还没有完美的解决问题,虽然可以连接上网络,但是其传输速度之慢,让人难以接受。不过对于网络,不管是底层驱动,还是一些网络基础知识,路由器,服务器等等也学了不少东西了。更加深入学习后,可以分享学习过程。 期间,用6410来验证代码和sdio的硬件,还受高人指点,顺带玩了下ffmpeg+ffserver流媒体的传输。确实很不错。
lsy5631932
·
2013-03-06 11:00
飞凌
OK6410
学习之中断的学习 继续。。
假设我们中断多了,是不是要在程序中一个个的把中断写上去呢?答案是否定的,这里我们就需要用到中断向量控制器;S3c6410中含有两个中断控制寄存器:中断控制器的处理机制:1、发生中断后,矢量地址VICxVECTADDR0~VICxVECTADDR31相应一个寄存器的值就会赋给VICxADDRESS2、中断服务寄存器就可以根据VICxADDRESS中的值来分辨是哪一个中断,发生中断,肯定该寄存器不为0
King_BingGe
·
2013-03-01 16:00
异常
中断
OK6410
硬件设置
飞凌
OK6410
学习之中断的学习
接下来就是中断了,记得我有个同学说,你没有搞懂中断说明你没有学单片机,是呀,中断确实是单片机的精华部分,废话不多说,直接进入正题:中断也是一种异常模式,这在我们上一节的异常学习中就知道了。中断有GPIO中断、UART中断、触摸屏中断等等。。。。下面谈谈如何使用中断1、 进行中断初始化(以按键为例)A、设置中断源B、设置中断控制寄存器C、 打开总开关首先找到中断源,在地板手册上面可以看到同时在核心板
King_BingGe
·
2013-03-01 16:00
飞凌
OK6410
之异常模式的学习
首先,关于sourcesight的使用,我之前有几个不知道的地方,我先记录下来!!我想大家都知道默认情况下,往SourceInsight里输入中文,字间距相当的大,这篇文章将帮助你解决这个问题。具体设置如下:1.Options->StyleProperties2.在左边StyleName下找到CommentMultiLine和Comment.在其右边对应的Font属性框下的FontName中选“P
King_BingGe
·
2013-02-28 14:00
异常
中断
OK6410
硬件设置
飞凌
OK6410
之时钟的学习
关于
OK6410
的时钟部分,从s3c6410的手册上面我们可以在systemcontroller里面找到相关的系统控制器:Power表示上电,待上电稳定后,12M晶振起振后也稳定下来,接着CPU就能获得一个比较稳定的时钟频率
King_BingGe
·
2013-02-28 14:00
飞凌
OK6410
之点亮LED
下面可以开始点亮第一个LED灯了,在0K6410的底板图上可以看到这个说明是低电平点亮的然后在s3c6410的地板手册上面可以找到这个可以知道LED的对应关系是—>LED1GPM1LED2GPM2LED3GPM3LED4GPM0LED1接着从s3c6410的手册上面可以查找到这个通过上述地址就可以继续设置相关的寄存器了1、 配置该寄存器(设置相关输入输出功能)LDRR1,=0X7F008820MO
King_BingGe
·
2013-02-28 14:00
Linux:串口通信
后来接触Linux,在一块
OK6410
上跑Linux串口通信,才发现原来天真的以为甚是简单的串口变得如此的不简单。#include1、串口的操作1.1打开:fd=open("/dev/
linuxheik
·
2013-02-19 10:00
Linux接口通信
OK6410
:UART
串口又叫UART,通过异步实现(没有时钟,有时钟就是同步) 串口一般为调试位 串口的其中3条线,其功能是:发送、接收、接地线 发送的数据是由开始位,数据位,停止位组成。开始停止均为高电平 PC端先检测发送线是否为低电平,为低电平表示对方要发数据 等待一段时间,然后开始检测数据,一般检测位的中间 每一位占据多长时间:波特率(一秒钟之内要传输多少位),为115200 开始位、数据位、停止位各占多少:
stephenzcl
·
2013-01-31 21:00
OK6410
:系统时钟
从爸爸公司拿了一条好的USB转串口线回来,我的
OK6410
终于可以和我的笔记本连接上了,secureCRT显示和接收按键都没有问题,感谢爸爸!
stephenzcl
·
2013-01-29 22:00
OK6410
:按键驱动
如果玩过单片机,写过按键驱动,那么在
OK6410
上写裸板按键驱动也是同样的原理。只不过
OK6410
要对IO进行配置。
stephenzcl
·
2013-01-26 19:00
OK6410
:LED流水灯
我用的板子是飞凌的
OK6410
,要写裸板程序,首先我们先要看硬件手册,或者是原理图。官方的原理图给出的是底板LED:核心板原理图: 可知S3C6410接四个LED灯的
stephenzcl
·
2013-01-25 16:00
OK6410
:如何烧录裸板程序
我看了国嵌的视频,还有网上相关的博客,惊奇地发现,竟然没有
OK6410
的裸板程序烧录方法。
stephenzcl
·
2013-01-18 09:00
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他