自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

哎呦哥哥的博客

哎呦不错哦!

原创 设计模式之设计原则-迪米特法则

迪米特法则 迪米特法则,又称为最少知道原则,意思是说:一个对象应该对其他的对象有最少的了解,也就是说,一个类应该与自己需要耦合或者调用的类知道的最少,我不管你内部的实现是负责或者简单,高效或者冗余,那是你自己的事情,我只管调用你的public方法,完成我的任务,其他的一概不关心。 知道的越少越...

2018-03-02 12:04:15

阅读数 145

评论数 0

原创 MDM(EMM)前期基本调研

MDM基本涵盖方面 在这里我们只谈基本的设备管理(MDM),其他的设计到内容管理,邮件管理的暂且不谈,这里也会涉及到一些应用管理的部分。 设备生命周期管理 MDM或者说是EMM,由于其使用场景特殊,基本要求对设备的管理具有闭环的生命周期。 设备注册 也可以叫做设备绑定或者设备启用...

2018-03-02 09:47:33

阅读数 1284

评论数 0

原创 设计模式之设计原则-接口隔离原则

接口隔离原则的定义 既然是接口隔离原则,那我们的主角就是接口了,在这里,接口分为两种:实例接口和类接口。 接口分类 实例接口 实例接口指的是Java中的类,你没看错,Java中的类也是接口的一种,我们知道,接口的本质是抽象,在于制定规范。例如,我们声明一个Person类,然后使用P...

2018-03-01 11:59:54

阅读数 136

评论数 0

翻译 Java加密体系结构(JCA)参考指南

介绍 Java平台强调安全性,包括语言安全,密码学,公钥基础设施,认证,安全通信和访问控制。 JCA是平台的一个主要部分,包含一个“Provider”体系结构和一组用于数字签名,消息摘要(哈希),证书和证书验证,加密(对称/非对称块/流密码),密钥生成 管理和安全随机数生成等等。 这些API允...

2018-02-01 11:28:48

阅读数 2667

评论数 0

翻译 Java安全架构概览

介绍 Java平台在设计的时候就着重与安全方面,在Java核心设计中,Java语言本身就是类型安全的,并且提供了自动垃圾收集机制,用于增强代码的健壮性,类在加载时需要被验证,用于保证只有合法的Java代码会被执行。 初始的Java平台创建了一个安全的运行环境,用于执行那些可能不被信任的代码,例...

2018-01-30 15:38:42

阅读数 5450

评论数 0

原创 uboot启动过程(一)

uboot运行有两个阶段,一个阶段是运行在SRAM中的汇编阶段,另一个是运行在DDR中的C语言阶段。我们先进行第一阶段的分析。 start.S文件 start.S文件组成了uboot的第一阶段运行内容,在链接脚本中的代码段中第一句链接的start.o就说明了这一点,我们知道C语言中main函数...

2018-01-18 22:35:23

阅读数 1783

评论数 1

原创 uboot的配置和编译文件解析

Makefile分析 版本确定 在文件开头的几行就是版本号: VERSION = 1 // 主版本号 PATCHLEVEL = 3 // Patch版本号 SUBLEVEL = 4 // 次版本号 EXTRAVERSION = U_BOOT_VERSION = $(VERSION...

2017-12-13 21:20:30

阅读数 981

评论数 0

原创 uboot之初体验

uboot基础认识 uboot来源 我们可以从uboot的官网下载uboot源代码,这种方式下载的源代码可能没有针对于当前开发板的移植,也可以从soc厂商提供的地址下载,这种方式一般是针对这个Soc已经移植过的uboot,还可以从开发板供应商处获得uboot,这种方式的uboot移植的更加...

2017-11-05 19:23:25

阅读数 139

评论数 0

原创 Shell和Makefile

Shell可以理解为Linux系统的操作命令行界面,是人机交互的一种方式,可以使用shell和操作系统,uboot等软件系统进行交互,

2017-09-27 22:24:52

阅读数 381

评论数 0

原创 uboot基础知识

uboot简介 uboot主要是用于启动操作系统内核,部署整个计算机系统,操作主板上的驱动,提供命令行界面供操作员操作等工作。 uboot启动过程 计算机系统通常有CPU,外部存储区,内部存储区三部分构成,典型的PC机在上电时先启动固化在主板上NorFlash的BIOS程序,由BIOS程序初...

2017-09-18 21:47:08

阅读数 391

评论数 0

原创 C语言链表,状态机和多线程

链表 数组有两个缺点,数组中所有元素的类型必须一致,并且数组的大小必须事先指定并不能更改,结构体解决了数组的第一个缺点,使用链表这种数据结构就可以解决数组的第二个缺点,链表的长度可以实时的增大或者减小。 链表是将一个一个节点相互链接起来,每个节点中的内存可以用来存储数据,每个节点是结构是完全类...

2017-06-04 10:39:51

阅读数 522

评论数 0

原创 C语言杂散问题

操作系统到底是什么? 操作系统其实就是类似于人类社会一样的软件系统,操作系统本身并不直接生产价值,他的主要任务是管理资源,并为应用程序提供服务,操作系统既是管理者,也是服务者。 操作系统的调用通道:API 应用程序和操作系统之间通过API接口进行互相调用,应用程序需要使用系统资源的时候,...

2017-06-03 22:54:32

阅读数 672

评论数 0

原创 存储类,作用域,生命周期和链接属性

概念解析存储类存储类就是存储类型,描述C语言变量在什么地方存储,内存中有多重管理方法,堆,栈,数据段,bss段,text段,变量存储类属性描述的就是这个变量存储于什么内存段中。作用域作用域就是该变量起作用的范围,C语言变量起作用的范围是当前代码块。生命周期生命周期描述的是运行时给变量分配内存空间,...

2017-05-28 21:25:55

阅读数 256

评论数 0

原创 C语言预处理和函数

预处理 预处理是C语言中的一个重要特性,值得我们深入讨论, 源代码到可执行程序 源代码经过编译。生成.o文件,再经过链接,成为elf可执行程序,但是实际上,源码经过编译之后,不是直接的.o文件,而是汇编文件.S,汇编文件经过汇编,才得到目标文件.o,所以说,C语言程序需要先被编译成汇编文件,...

2017-05-28 15:18:10

阅读数 706

评论数 0

原创 C语言之数据结构

C语言中的基本结构体以及内存之间的关系,我们经常用到,所以我们今天来学习一下这些内容内存内存是什么,和数据结构有什么关系?内存从哪里来?内存是程序运行的活动之地,程序需要放在内存中运行的,程序运行时需要内存来存储一些临时变量数据。内存在物理上本身是一个硬件器件,由硬件系统提供,内存在使用的时候需要...

2017-05-22 22:49:20

阅读数 382

评论数 0

原创 指针进阶

本节继续讨论C语言中的指针。 指针数组&数组指针 先理解一下什么是指针数组和数组指针,指针数组的实质是个数组,这个数组中存储的元素都是指针变量,而数组指针实际上是一个指针,这个指针指向一个数组。 通过表达式区分不同 指针数据和数组指针的表达式有一定的区别,关键在于号的位置,...

2017-05-03 20:47:10

阅读数 298

评论数 0

原创 C语言之指针

常用的位操作符号 常用的位操作符有大概6种 位与&:只有两个位都为1时,结果为才1 位或 |:只要两个位中有一个为1,结果就为1 取反 ~:对于特定位,如果位等于0,则结果为1,如果位等于1,则结果为0 异或 ^:两个位同为1或者同为0时,结果为0,否则结果1 移位 >:对于一...

2017-03-26 17:34:06

阅读数 457

评论数 0

原创 设计模式之设计原则-依赖倒置原则

依赖倒置原则依赖导致原则最原始的定义是这样的: High level modules should not depend upon low level modules.Both should depend upon abstractions.Abstractions should not de...

2017-02-28 16:28:37

阅读数 427

评论数 0

原创 Android中LaunchMode详解

越是做的时间越长,基础知识就忘的越干净,最近做一个项目中,发现启动的几个Activity居然重叠了,我ri~~,再不回忆一下就要退出Android界了。概念解释TaskTask叫做任务,这个简单,表示我们需要完成的事情,注意,这里我们说的是任务,是个名词,例如要发短信,那我们的任务就是发送一条短信...

2016-12-21 17:29:17

阅读数 2485

评论数 8

原创 C语言之内存和位操作

内存和程序运行 程序运行的目的是为了得到特定的结果,计算机本质上是用于计算的,既然是用于计算,就需要参与计算的数据,那这些数据就存储在内存中,计算之前参与运算的数据以及运算之后得到的数据,都存储在内存中。 程序运行无外乎两种目的,一种是为了得到某种结果,另外一种是为了执行某一种过程,在C语言中...

2016-11-20 18:12:08

阅读数 3921

评论数 0

原创 Shell

什么是Shell Shell是壳的意思,计算机中Shell常用于表示一种命令行的用户操作接口,Shell常用来表示封装,由于计算机很复杂,所以常把功能的实现和调用分开,Shell里边是功能实现,外边是功能调用,所以Shell可以看做是复杂功能实现的封装并向外部提供的比较容易的而接口 程序或者操...

2016-11-13 22:47:47

阅读数 571

评论数 0

原创 触摸屏

输入类设备 IO输入输出是计算机中重要的概念,计算机通过输入从外部获取数据然后进行计算,然后通过输出向外部输出计算结果,计算机通过IO和外部进行交互,每台计算机都有标准输入,标准输出,在编程中还有标准错误输出的概念。 常见输入类设备 常见的输入类设备有键盘,鼠标,触摸屏,游戏机手柄,摇杆,摄...

2016-10-27 23:11:48

阅读数 639

评论数 0

原创 LCD

LCD分类和特点 LCD背光是白色的,白光的像素值是255,255,255,通过白光可以显示任何其他颜色的光,LCD分很多种: TN面板:最早的面板,响应性不够强,有拖尾现象 STN面板:解决了拖尾现象 TFT面板:超薄 - 其他显示技术 CRT阴极摄像管显示器,寿命短,体积较大...

2016-10-23 17:44:56

阅读数 1546

评论数 0

原创 设计模式之设计原则-里氏替换原则

父类和子类 面向对象语言中的继承,有以下优点: 代码共享,减少创建子类的工作量,只要继承了父类就拥有父类的方法和属性 提高代码重用性 子类可以完全继承父类的方法,又可以对父类的方法进行重写,既可以和父类保持一致,也可以有自身的特点 提高代码的扩展性,只要实现父类的方法就可以调用,许多开源框架...

2016-10-19 13:21:37

阅读数 1487

评论数 0

原创 I2C通信和ADC

I2C接口I2C接口只有两根线,SCL和SDA: SCL:时钟线,传输时钟信号,由主设备向从设备传输时钟信号, SDA:数据线,传输数据信号,主从设备之间相互传递数据的通道 I2C属于串行通信,数据以bit为单位在SDA线上串行依次传输,同步工作状态,主从设备工作在同一个时钟频率下,通过SCL线同...

2016-10-03 22:48:52

阅读数 4708

评论数 0

原创 NandFlash和iNand

NandFlash Nand型号和命名 例如K9F2G08这个NandFlash,K9F表示三星公司的NandFlash,2G表示2Gbit,08表示该Nand有8位数据位。 Nand数据位 Nand的数据位有8位和16位之分,软件应该根据实际采用的Nand来进行设计和编写。Nand采...

2016-10-02 22:54:12

阅读数 1637

评论数 0

原创 使用SD卡启动

主流外存储设备 我们一般把RAM叫做内存,ROM叫做外存,常见的外部存储器有: 磁带,CD,软盘,硬盘,光盘等磁性存储设备,技术成熟,价格便宜,但是读写速度和可靠性不足,桌面电脑使用较多,嵌入式设备一般不采用 Flash存储设备:使用电学原理存储,没有物理动作,损耗小,读写速度较快,在嵌入式...

2016-10-01 20:29:04

阅读数 1747

评论数 0

原创 定时器,看门狗&RTC

定时器作为Soc中的常见外设,和其他外设并没有什么不同,通常和计数器联系在一起,定时器常用来实现定时执行代码,相当于Soc的闹钟,可以让Soc具有计时功能。定时器原理定时器通过内部的计数器的计数来实现的,计数器根据时钟频率来工作,时钟源来自APB总线,通过时钟模块的分频器分频之后到达计数器,每个时...

2016-09-25 17:59:16

阅读数 2842

评论数 0

原创 按键和中断

按键

2016-09-10 13:20:05

阅读数 3197

评论数 0

原创 串口通信

串口基本概念 通信基础 通信中的两个重要方面: 信息的表示和解析方式,通信双方需要事先约定好,应该保持一致 信息的传递方式,信息在传输介质上的传输过程 通信过程分为编码,传输,解码三个基本步骤。 电子通信概念 同步通信和异步通信 同步: 发送方和接收方按照同一个时钟节拍工作...

2016-09-09 17:56:54

阅读数 652

评论数 0

原创 去除烦人的This Handler class should be static or leaks might occur

消灭This Handler class should be static or leaks might occur

2016-09-08 18:16:38

阅读数 5732

评论数 0

原创 时钟系统

时钟系统需要理解其概念,然后会控制时钟系统即可。 时钟概念 时钟可以理解为一个根据同步节拍而进行同步工作的系统,Soc内部有CPU和一系列的内部和外部外设,这些都要同步的进行工作,需要有一个共同时钟系统来同步指挥,就Soc的时钟,时钟可以产生同步信号,来指挥CPU和外设进行同步工作。 ...

2016-07-19 22:31:41

阅读数 5293

评论数 0

原创 重定位和链接

链接和重定位是嵌入式C中很重要的部分,对于这一块掌握的越精细越好。 指令位置分类 指令分为两种: 位置无关编码(PIC):汇编源文件被编码成二进制可执行程序时编码方式与位置(内存地址)无关 位置相关编码:汇编源文件被编码成二进制可执行程序时编码方式与位置(内存地址)相关 在程序...

2016-07-10 11:32:44

阅读数 4676

评论数 0

原创 汇编启动

使用汇编代码启动S5PV210开发板。 使用汇编进行启动,需要经过下面几个基本步骤: 关看门狗 设置栈 初始化iCache 看门狗 看门狗的概念 看门狗,watchDog Timer,其实是一个定时器,这个定时器每隔固定时间会发出一次让CPU复位的指令,以防止CPU跑飞或者出...

2016-07-09 10:05:29

阅读数 511

评论数 0

原创 裸机开发之点亮LED

基于X210开发板的LED灯点亮。 原理图和引脚分析 查阅底板原理图可以得到,四个LED引脚分别为: D22:GPJ0_3 D23:GPJ0_4 D24:GPJ0_5 D25:PWMTOUT1 其中PWMTOUT1引脚与核心板的GPD0_1引脚相连,所以可以通过操作GPD0_1...

2016-07-04 22:51:23

阅读数 803

评论数 0

原创 交叉编译环境

搭建嵌入式交叉编译环境简单教程。GCC交叉编译工具链安装将光盘中toolchain工具链拷贝到linux中,选择一个目录安装,我安装在/usr/local/arm目录下,没有该目录可以自行创建设置环境变量设置环境变量,可以编辑家目录下的”.bashrc”文件,添加”export PATH=$PAT...

2016-07-02 14:00:11

阅读数 708

评论数 0

原创 开发板镜像烧写

本片文章属于ARM裸机教程,记录在九鼎X210VB3S开发板上烧写系统镜像的几种方式。 基本操作 刷系统其实就是利用刷机工具,下载系统镜像到NAND或者Nor Flash中,使其在开发板上运行起来,专业一点叫做烧录; 烧写系统镜像需要使用串口通信,串口其实是一种硬件通信接口,用于在开...

2016-06-27 20:21:30

阅读数 2510

评论数 0

原创 ARM汇编指令集

ARM汇编指令集的介绍,包括指令和伪指令。指令和伪指令概念指令指令指的是CPU机器指令的助记符,是由CPU的指令集提供的,经过编译之后,会以二进制机器码的形式由CPU读取执行伪指令伪指令本质上不是指令,和CPU的机器指令没有任何关系,只是和指令一起写在代码中而已,是由编译器环境提供的,其目的是用于...

2016-06-26 10:13:22

阅读数 2958

评论数 0

原创 ARM体系结构(二)

ARM体系结构第二篇,主要理解CPU的内存接口,ARM启动过程。内存映射S5PV210属于Cortex-A8架构,有32位地址线和32位数据线,所以CPU的地址空间为4G,但是由于使用了统一编址,外设占用了一部分地址空间,实际供内存使用的地址空间将小于4G,那么对于这个4G的地址空间的分配,就是内...

2016-06-25 22:25:19

阅读数 7385

评论数 0

原创 ARM体系结构(一)

ARM体系结构第一篇,主要是一些概念性的东西,需要仔细理解。 可编程器的编程特点和原理 在固定频率的时钟控制下有节奏的运行 可以通过总线获取外部存储中的二进制指令,从而解码执行 这些二进制指令是CPU设计的时候决定的,由CPU的设计者定义,这就是CPU汇编指令集 CPU的指令集 指令集就是...

2016-06-25 09:17:04

阅读数 4844

评论数 0

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