自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lz_quiet的博客

只用一样的东西,不知道他的道理。实在是不高明!

  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 树莓派4 | 5.私有云- KodExplorer可道云

树莓派4 | 5.私有云- KodExplorer目录树莓派4 | 5.私有云- KodExplorer一. KodExplorer简介二. 环境搭建2.1 php72.2 apache2三. KodExplorer安装3.1 下载3.2 安装四. KodExplorer使用4.1 注册管理员4.2 登录五. 参考资料一. KodExplor...

2019-12-23 20:53:01 2790

原创 树莓派4 | 4.私有云搭建-owncloud

树莓派4 | 4.私有云搭建-owncloud目录一. Owncloud简介二.PHP7安装2.1 配置源2.2 安装php2.3 安装依赖三.Apache2安装3.1 安装apache2和依赖3.2 启动apache23.3 服务启动报错四.Mariadb安装4.1 安装mariadb包和相关依赖4.2 数据库账户管理4.2.1 登录ma...

2019-12-22 11:35:13 6928 10

原创 树莓派4 | 3.wifi和VNC设置

树莓派4 | 3.wifi和VNC设置目录树莓派4 | 3.wifi和VNC设置一.无线Wifi设置1.1 搜索wifi1.2 编辑wifi配置文件1.3 设置静态IP1.4 重启二. VNC远程桌面2.1 提前准备2.2 安装软件包2.3 设置远程密码2.4 启动vnc服务2.5 远程连接三. 参考资料一.无线Wifi设置对于不方便...

2019-12-18 21:09:41 3714 4

原创 树莓派4 | 2.装机和开机

2.装机和开机目录 2.装机和开机一.装机二.烧系统2.1前提准备2.2开始烧录系统2.3点亮开机三. 参考资料一.装机首先先上图,树莓派核心板、三块散热片以及传说中的硅脂...

2019-12-14 19:47:05 1212 1

原创 树莓派4 | 1.开箱和准备

开箱和准备目录 开箱和准备一. 开箱二. 准备2.1 树莓派ISO下载2.2 SD卡格式化工具(SD Memory Card Formatter)2.3 SD卡烧录工具(etcher)2...

2019-12-14 16:22:24 449

原创 phoronix-test-suite,移植不支持的工具方法

ps:系统ubuntuPTS开发一.PTS安装1. 从官网下载官方的deb包      (http://www.phoronix-test-suite.com/?k=downloads)2. 通过dpkg命令进行安装,安装之后会有依赖问题,一般通过sudo apt-get install -f命令可以解决3. 执行which phoronix-test-suit输出为/usr/bin/phoron...

2018-05-14 11:19:39 1531

原创 java常用类和对象

import java.util.Scanner;        Scanner scanner = new Scanner(System.in);        intnum = scanner.nextInt();import javax.swing.JOptionPane;        String result = JOptionPane.show

2016-05-21 09:35:02 427

原创 2016-5-9至2016-5-15

每周任务(5-9 - 5-15)任务一:驱动开发1.设备驱动程序模块编程,重点通过《Linux设备驱动》多看驱动的实例。多多分析内核代码。设备驱动程序涉及到内核和硬件。是一个学习Linux嵌入式最好的入门方法。主要是多看实例。2.通过博客复习前面驱动编程的技巧,熟悉内核提供给驱动的机制。3.写驱动程序的file_operation函数。多看别人代码怎么写的。找一个驱动然后去分析

2016-05-15 20:14:18 325

原创 2016-5-2至2016-5-8

每周任务(5-2 - 5-8)任务一:驱动开发1.设备驱动程序模块编程,重点通过《Linux设备驱动》多看驱动的实例。多多分析内核代码。设备驱动程序涉及到内核和硬件。是一个学习Linux嵌入式最好的入门方法。主要是多看实例。2.通过博客复习前面驱动编程的技巧,熟悉内核提供给驱动的机制。3.写驱动程序的file_operation函数。多看别人代码怎么写的。找一个驱动然后去分析。

2016-05-10 11:17:55 601

原创 platform简述

一.platform总线、设备、驱动关系。    首先在2.6的驱动模型里面,关心总线、设备、驱动,总线将设备和驱动绑定。在系统每注册一个设备时,会通过总线寻找对应的驱动。在系统每注册一个驱动时,会通过总线寻找对应的设备。下面我们来了解设备和驱动的注册过程。二.bus、device、driver数据结构    在了解注册之前,我觉得有必要介绍一下这三者的数据结构,因为dtst是

2016-05-03 17:57:32 669

转载 platform

转载:http://www.linuxidc.com/Linux/2012-12/76196.htm一.Platform设备驱动概念主要讲解平台设备驱动的模型和基本概念,同时因为驱动加载的方式有动态加载和静态加载两种方式,这里我们分别对动态加载和静态加载两种情况下,如何使用平台设备和驱动加以叙述。最后使用mini2440开发板,运用Platform和device_attribute机制

2016-05-03 17:52:51 550

原创 2016-4-25至2016-5-1

每周任务(4-25 - 5-1)任务一:驱动开发1.设备驱动程序模块编程,重点通过《Linux设备驱动》多看驱动的实例。多多分析内核代码。设备驱动程序涉及到内核和硬件。是一个学习Linux嵌入式最好的入门方法。主要是多看实例。2.通过博客复习前面驱动编程的技巧,熟悉内核提供给驱动的机制。3.写驱动程序的file_operation函数。多看别人代码怎么写的。找一个驱动然后去

2016-05-03 17:20:00 234

原创 日常学习准则

日常学习准则:1.以驱动为主:(半天-无限,相对时间比较长的时间段)学习工具:   a.源代码。   b.借助《设备驱动开发》作为学习资料如何学习:   首先在书上掌握一些必要的概念和知识点,最终通过源码的分析巩固和掌握知识要点。要求:   a.看源码,掌握各种设备驱动的编写。不一定要会写。但一定要看懂。   b.写出各种设备驱动的博客。  (博客要求:通过

2016-04-26 21:06:35 336

原创 2016-4-18至2016-4-24

每周任务(18-24)任务一:1.设备驱动程序模块编程 [v]任务二:Linux系统编程(每日3章)1.根据《系统编程》第一册。写具体的程序,自己想做什么去实现,尽量多用系统调用.任务三:1.找到如何学习内核源代码方法,2.通过学习源代码,深入了解硬件,驱动,系统调用。3.看内核源码,学习内核框架,算法,思想。任务四:

2016-04-24 20:37:38 293

原创 添加LCD背光驱动

一.材料老师给的模板kernel自己实现的2.0kernel.机器ID7777二.常用概念LCD驱动属于platform类型的设备。只要是platform类型的设备就需要注册device和注册移植driver.由于LCD硬件的特殊性,我们需要设置屏幕硬件相关的数据结构。三.移植LCD驱动a.首先lcd的device需要传参数给driver在arch/

2016-04-24 17:36:12 716

原创 7.内存和IO

内存浅谈:器件物理地址由对应CPU地址线确定的。内核通过内存机制,创造4G虚拟地址,驱动编程用的地址都是虚拟地址,没有实际意义,使用这些地址之前必须对应物理地址(页表),否则出现缺页。避免缺页,第一种方法:用kmalloc申请物理地址(返回物理存储器地址,sdram等地址)。第二种方法:用ioremap指定具体物理空间里面的地址,任何器件物理地址。不局限于存储器地址,而且可以是寄存器地

2016-04-21 11:09:27 355

原创 虚拟机linux配置NFS

NFS  service 一、安装NFS服务端1、安装NFS lingd@ubuntu:~$ sudo apt-get install nfs-kernel-server同时会有两个软件包nfs-common和portmap被安装上2.修改NFS配置文件 lingd@ubuntu:~$ vi /etc/exports内容为:/home/share 192.168.1

2016-04-20 21:49:37 2600

原创 6.时钟

一.概念1.从功能方面时钟分三种:计时,延时,定时器。2.内核时钟:内核通过定时器(timer)中断来跟踪时间流,硬件定时器以周期性的间隔产生中断,这个时间间隔通常取1ms到10ms。3.jiffies计算器:每次当定时器中断发生时,内核内部通过一个64位的变量jiffies_64做加一计数。驱动程序开发者通常访问的是jiffies变量,它是jiffies_64的低32位。ji

2016-04-19 21:53:22 389

原创 5.中断

一.概念1.登记中断:意味着将底半部处理程序挂到该设备的底半部执行队列中去。2.实现底半部的机制:tasklet和work queue(工作队列).3.内核时钟:内核通过定时器(timer)中断来跟踪时间流,硬件定时器以周期性的间隔产生中断,这个时间间隔通常取1ms到10ms。4.jiffies计算器:每次当定时器中断发生时,内核内部通过一个64位的变量jiffies_64做加一计

2016-04-18 21:33:50 270

原创 4.阻塞和非阻塞

一.概念1.等待队列头相当于一个双向链表的头,等待队列相当于双向列表中的链表项2.等待队列由循环链表实现,其元素包括指向进程描述符的指针。每个等待队列都有一个等待队列头(wait queue head)3.当一个任务需要在某个wait_queue_head上睡眠时,将自己的进程控制块信息封装到wait_queue中,然后挂载到wait_queue的链表中,执行调度睡眠。当某些事件发生后

2016-04-18 11:41:58 359 1

原创 3.并发和竞争

一.概念1.信号量本质上是一个整数值,2.Linux内核中几乎所有的信号量均用于互斥。当信号量用于互斥,只能由单个进程或线程拥有。Linux内核中几乎所有的信号量均用于互斥。3.一个自旋锁是一个互斥设备,只有两个值:“锁定”和“解锁”。如果锁被其他人获得,则代码进入忙循环并重复检查这个锁,直到该锁可用为止。这个循环就是自旋锁的“自旋”。4.自旋锁用于

2016-04-18 09:54:12 690

原创 2016-4-11至2016-4-17

每周任务(11-17)任务一:1.写裸机程序,理解硬件工作原理。思考裸机有那些硬件需要了解原理。例如I2C,NAND...2.设备驱动               [V]任务二:1.找到如何学习内核源代码方法,2.通过学习源代码,深入了解硬件,驱动,系统调用。3.看内核源码,学习内核框架,算法,思想。任务三:1.复习创建自己uboot,kernel,

2016-04-17 22:07:30 236

转载 Linux进程的睡眠和唤醒简析

转载自:http://www.2cto.com/os/201204/127771.html1 Linux进程的睡眠和唤醒在Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在一个运行队列中,一个就绪进程的状 态标志位为TASK_RUNNING。一旦一个运行中的进程时间片用完, Linux 内核的调度器会剥夺这个进程对CPU的控制权,并且从运行队列中选择一个合适的进程投入运

2016-04-16 14:53:28 275

原创 2.字符设备驱动

一.字符设备开发的基本步骤  1.确定主设备号和次设备号  2.实现初始化函数,注册字符设备  3.实现字符驱动程序  4.实现file_operations结构体  5.实现销毁函数,释放字符设备  6.创建设备文件节点二.常用概念1.主设备号是内核识别一个设备的标识。整数(占12bits),范围从0到4095,通常使用1到2552.次设备号由内核使用,用

2016-04-13 16:52:48 249

原创 1.设备驱动基础

一.驱动程序编程概念:1.驱动学习知识结构:  1.linux驱动设计模式,框架.(40%)  2.内核相关的知识.(30%)  3.硬件相关的知识.(30%)把更多的硬件相关的程序放入内核。2.驱动程序的分类:  1.字符设备驱动:能以字节来访问。通过字符设备文件访问块驱动程序。  2.网络接口:一个网络负责发送和接受数据报文。通过套接字访

2016-04-13 16:49:19 262

原创 2016-4-4至2016-4-10

接下来一个星期的任务(4-10)。任务一:熟练掌握uboot,kernel,fs各自的作用。1.按照按博客,大概了解编写了解uboot,kernel,fs.看懂里面的每一个步骤。(2016.4.5之前)[v]2.看嵌入式开发手册,结合源代码一部分一部分的看。例如先看uboot,再看kernel,再看fs。(2016.4.5-2016.4.10)   [v]3.最

2016-04-10 22:07:59 215

原创 2016-3-28至2016-4-3

接下来一个星期的任务。任务一:熟练掌握uboot,kernel,fs各自的作用。1.按照网上写的流程,大概了解uboot,kernel,fs.看懂里面的每一个步骤。(2016.4.5之前)2.看嵌入式开发手册,结合源代码一部分一部分的看。例如先看uboot,再看kernel,再看fs。(2016.4.5-2016.4.10)3.最终能掌握uboot,kernel,fs源代码基本部分

2016-04-03 20:43:10 272

原创 smdk210 构建根文件系统

构建根文件系统常用概念:1.如何建立符号链接#ln –s busybox  ls#ln –s busybox cp2.glibc库包括的主要文件:静态库文件( .a)动态库文件( .so、.so.[0-9]*) 一.解压步骤。1.复制 busybox-1.2.0.tagz到虚拟机里。2.tar xvf busybox-1.2.0.tagz 3.cd

2016-04-01 21:40:23 408

转载 linux文件系统的移植

原文:http://www.cnblogs.com/lr-ting/archive/2012/07/09/2576760.htmllinux文件系统的移植-根文件系统制作  根文件系统一直以来都是所有类Unix操作系统的一个重要组成部分,也可以认为是嵌入式Linux系统区别于其他一些传统嵌入式操作系统的重要特征,它给Linux带来了许多强大和灵活的功能,同时也带来了

2016-04-01 18:59:14 1544

原创 smdk210 内核移植

smdk210 内核移植一.掌握:.tar.bz2解压:tar jxvfFileName.tar.bz2压缩:tar jcvfFileName.tar.bz2 DirName 第一部分:基本移植1.1、内核编译体验修改Makefilecp android_kernel_2.6.35_smdkv210.tar.bz2 解压之,  # tar -jxvf and

2016-03-31 21:09:30 952

原创 smdk210 uboot移植

uboot移植一.概念:BSP是板级支持包,是介于主板硬件和操作系统之间的一层,应该说是属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写BSP一定要按照该系统BSP

2016-03-27 21:50:28 1179

原创 S5PV210加文件头

#include #include #include #include #define BUF_SIZE (16*1024)#define FILE_HEAD (16)#define FILE_HEAD_SIZE (8*1024)#define SEEK_SET 0#define SEEK_CUR 1#define SEEK_END 2//文件加入文件头

2016-03-27 09:07:31 347

原创 smdk210 Uboot的开发

第一章Uboot开发一.最终目的:启动内核。二.学习需要掌握的知识。1.了解Bootloader的概念2.掌握Uboot配置,编译,uboot的目录结构和Makefile4.分析uboot2个阶段的功能,通过源代码。5.Uboot常用命令,和命令的实现。6.掌握uboot和内核怎么交互的。三.Uboot开发流程:    1.解压缩    2.打补丁

2016-03-26 17:26:13 750

原创 S5PV210 中断编程流程 UART中断

一.需掌握知识:怎样初始化UART中断。二.程序效果:今天编写interrput_uart程序,预期的实验结果是,通过中断的方式,在串口软件上输入的字符可以在串口软件上看见。三.编程思路1.第一步用上一篇博客的interrput初始化程序初始化中断。2.第二步通过查看串口寄存器,初始化串口设置为中断模式。3.第三步设置使能UART对应的中断源

2016-03-23 22:05:26 1233

原创 S5PV210 中断编程流程 按键中断

一.需掌握知识:怎样初始化中断,怎样设置一级二级向量表。二.程序效果:今天编写interrput程序,预期的实验结果是,在S5PV210开发板上通过按键,以中断的方式实现led闪烁。三. 常用概念1.一级向量表:在以下地址寄存器中写入当异常是调用的函数。#define ABORT_UNDEFINED_TABLE ((volatile unsigned int*)0X

2016-03-23 17:50:23 2408

原创 S5PV210 UART编程流程 协议类模块操作

协议类编程今天编写uart程序,预期的实验结果是,在S5PV210开发板上实现用串口实现接受和发送功能,实现和PC机通讯。常用的协议类模块有:UART,IIC,SPI,NAND Falsh,LCD一.     常用概念UART:universal asyncrecive transmit通用异步收发器。                用于PC机和开发板之间的通讯,数据传

2016-03-22 21:08:20 968

原创 S5PV210 sys_clock编程流程 系统时钟功能模块操作

今天编写sys_time程序,预期的实验结果是,在S5PV210开发板上实现将系统主频设置为1GHZ,检测用led闪烁的快慢表示。编程思路:一.      通用概念的了解。1.   S5PV210一共有3个时钟域,MSYS,DSYS,PSYS。时钟域代表的是一个区域的频率。一个区域的频率大致相等。2.   确定3个时钟域频率有3个因素(通过查看芯片手册系统时钟图可知):1)

2016-03-22 15:23:36 795

转载 Linux 时间

转自:http://blog.chinaunix.net/uid-26404201-id-3082041.html一、时间的类型(1)格林威治标准时间   Coordinated Universal Time(UTC)是世界标准时间,即常说的格林威治标准时间(Greenwich Mean Time,GMT).   注:格林威治时间和本地时间不同.(2)日历时间

2016-03-21 21:39:44 248

原创 S5PV210 led_key编程流程 GPIO类功能模块操作

今天编写led_key程序,预期的实验结果是,在S5PV210开发板上实现用按键控制LED闪烁。编程思路:一.首先我们应该知道如何点亮LED。(通过给指定管脚输出高低电平,控制LED亮灭)1.通过查看原理图,我们可以确定led控制的GPIO管脚。确定LED在CPU上对应的管脚。(GPJ2)2.之后去开发板芯片手册,通过查找管脚得到管脚寄存器的描述。3

2016-03-21 20:45:51 1638

原创 S5PV210 一些模块编程常用寄存器

1.PLL和系统时钟(A.M.E.V)PLL(M.D.P) 。 MUX  。 DIV1.设置时钟源  CLK_SRC02.设置升平时间   (A.P.M.V)PLL_LOCK3.设置(A.P.M.V)PLL APLL_CON04.设置分频器          CLK_DIV05.设置时钟源  CLK_SRC02.PWM(脉冲宽度调制)

2016-03-16 19:22:44 740

S3C2410裸机程序

S3C2410的一些源码,包含(LED,蜂鸣器,PWM,UART,Interrupt)。开发函数头文件。

2016-03-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除