自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 问答 (1)
  • 收藏
  • 关注

转载 Uboot中start.S源码解析

本文章转自https://www.crifan.com/files/doc/docbook/uboot_starts_analysis/release/html/uboot_starts_analysis.html下面来对start.S进行详细分析,看看每一个部分,是如何实现的。1.1. 设置CPU模式1.1.1. globl/* * armboot - Startup Code fo

2017-12-07 20:19:01 2133

原创 MSP430

初始化:一个有4中复位和初始化:1.上电;2.RST脚拉低;3.看门狗超时4.WDTCTL寄存器写入时密钥不符。上电的复位:IO变成输入状态 IO标志全被复位复位向量地址0FFFE指向的地址加载PC,CPU从这个地址开始运行SR清除用户程序要对出PC和SR的寄存器初始化,如SP、RAM工作频率的系统时钟从DC0的最低频率开始工作。复位脚的功能在上电后才能使用:

2017-02-27 23:55:56 792

原创 ENC28J60学习

ENC28J60符合IEEE802.3的全部规范,采用了一系列包过滤机制以对传入数据包进行限制,内部有一个NMA模块,与主控制器通过两个中断脚和SPI实现通信。寄存器:共有三种不同形式的寄存器——控制寄存器,以太网寄存器 和PHY寄存器。主控制器通过SPI口对ENC芯片控制寄存器进行读写。以太网寄存器包含一个供以太网控制器发送和接收存储空间,主控制器使用SPI接口对该存储的空间的容量进行编

2017-02-21 15:58:55 900

原创 RTL8019AS

RTL8091AS内部的寄存器根据其功能和地址可以大概分为两大类,一类是NE2000适配器兼容的寄存器,一类是ono功能实现密切相关的寄存器。对于数据的收发主要涉及的是NE2000适配器兼容的寄存器。RTL809AS与主控制器间通讯的IO地址一共32个,地址偏移量为00-1F其中00到-0F共16个地址为内部寄存器地址,每个寄存器都是8位的,所有寄存器分成0-3共4页,每一页都共享有16个偏移

2017-02-19 10:22:05 3005

原创 lwip2

网卡驱动程序编写ethernetif.c中相关的函数,Lwip源码已经将ethernetif.c中的函数实现为一个框架形式,移植只要根据实际使用的网卡特性完善这些函数就可以,里面有5个函数。static void low_level_init(struct netif *netif)网卡初始化函数,完成网卡复位及参数初始化,同时根据网卡的特性,还需要设置协议栈网络接口管理结构netif

2017-02-18 18:03:37 1201

原创 LWIP

官网原文件包内容doc文件夹下的rawapi.txt是告诉读者怎么使用API编程,raw/callback API是协议栈提供的三种编程接口中最复杂的一种。 sys_Arch.txt在移植时被用到,它里面包含了移植说明,规定移植者需要实现的函数、宏定义等。test文件夹是LwIP提供的一些协议栈内核测试程序。src文件夹是协议栈内核的所有源代码。src其中包括4部分,api文件夹包含了sequ

2017-02-18 13:54:44 2520 1

原创 FATFS文件系统笔记

ffconf.h                 FATFS模块配置文件ff.h                       FATFS和应用模块公用的包含文件ff.c                       FATFS模块diskio.h                 FATFS和disk I/O模块公用的包含文件 就是FATFS与磁盘关联的function我们主要编写的函数

2017-02-14 21:47:05 1430

原创 USB

USB的连接模型主(host)和从(Device)设备之间数据交换。USB的拓扑结构是金字塔型:USB主控制设备出发——>接USB集线器——>扩展为多个USB口——>通过集线器扩展为多个接口(USB2.0最多6层)。电脑上也有一个集线器称为根集线器。所以数据传输路径:USB主控制器——>根集线器——>次级集线器——>USB设备usb设备的插入检测机制集线器的每个下游端口的D+和

2017-02-13 14:34:15 270

原创 FreeRTOS配置笔记

版本:8.24configUSE_PREEMPTION   :1 = 使能抢占式调度器  0 = 失能  configUSE_PORT_OPTIMISED_TASK_SELECTION:用于优化优先级列表中要执行的最高优先级任务的算法,默认在portmacro.h文件中使能。通用方式:0  所有平台都可以配置为0,比专用效率低,可用的优先级数量不限制。专用方式:1 部分平台支持,这

2017-02-12 19:38:00 1135

原创 MFC中消息笔记

在Class Wizard(类向导)中能管理类的相关信息,例如 commands 命令 message 消息 visual functions虚函数,member variable类的成员变量 Menthods重写的方法在对应的类下面增减相关的信息:一些例子相似的就不说了:在消息发送后运行对应的处理函数。WM_LBUTTONUP:当鼠标左键点击弹起时候发送该信息。相似的海鸥左键点击按下

2017-02-07 16:58:10 279

原创 Python标准库笔记

正则表达式re包(import re)re.serch(pattern,string)接收两个参数,第一个参数是正则表达式,第二个参数是要找的参数,如果找到符合正则表达式的就返回一个对象,没有就返回None使用对象.group(0) 可以查看搜索到的结果。re.match(pattern,string)这个是要全部匹配才会返回将搜到的字符替换re.sub(pattern,repla

2017-02-05 21:05:04 437

原创 MySQL基础笔记

连接数据库: 一般都是一个API函数(不同语言不同,但参数相似)XXX_connect( server,user,passwd,newlink,clientflag);创建与删除一个数据库 在PHP是使用mysql_query(sql:是SQL的查询命令,connection:可选为SQL标识符)选择数据库:mysql_select_db(dbname:数据名,connection:可选规

2017-02-04 22:46:31 251

原创 网络笔记(HTTP)

万维网WWW基于超文本传送协议(HTTP),该协议允许从一个服务器提前文档到用户的主机。为了方便用户操作,被提取的文档是互相连接的,以允许简单地从一个文档移动到下一个文档。允许这种操作的技术称为超文本,用HTML实现。第三部分是URL,它允许从服务器访问任何资源。所以WWW的主要组成部分:HTTP:允许WEB客户和WEB服务器之间提取文档。HTML:允许正确地格式化文档,使用户能很容易

2017-02-02 19:49:58 249

原创 网络笔记 FTP

文件传送协议:FTPFTP使用TCP作为运输层,允许两个设备监理一个能可靠运输数据的连接,使用的是一个知名端口。TCP连接建立之后,出于安全的原因,必须对客户进行验证,次后,一个FTP会话在这个已经建立的连接上启动,就是FTP控制连接。该连接用于传送命令,客服发送FTP命令,服务器用成功或失败报文应答。一旦命令对数据传送的配置成功,并且已经发出一个发送或接受命令,数据传送机开始。然后建立一

2017-02-01 23:51:40 752

原创 网络笔记4

UDP与TCP端口:每个设备都有一个IP地址,但是运行着不止一个应用,所以IP地址时所以应用共享的。使数据正确传递到所属于的进程,运输层为每个进程分配不同的端口地址。从应用层接受的数据封装也会加入源和目的的端口。应用要知道端口的地址,所以给应用分配一个默认的端口值。端口地址长度为16位所以每个协议有65535个端口可用。被划分了几个范围并分配不同的用途。因为应用协议CS模式,都是又客户发起连接

2017-01-29 00:40:33 235

原创 网络笔记3

网际协议(IPv4)网络层的协议(IPv4)为下一层运输层提供服务。在路由器中,需要IP层作为每个网络接口(lan和wan)所提供的两个不同数据链路层之间的桥。、要实现这个功能IP需要具备以下功能:1.封装:封装从上层接收的数据,就是将一些信息包含到数据中。2分片、重组:由于IP层依赖不同的LAN和WAN技术来发送报文,他们有各自的帧长度限制,所以IP必须有一个机制来允许其适应这些

2017-01-26 23:27:11 233

原创 网络笔记2

TPC/IP栈栈体系结构在OSI模型下建立了TPC/IP4层结构1.网络接口层:也称链路层,是较高谢雨与局域网接口的地方。因此,在很多TPC/IP网络中没有TCP/IP运行在该层。如果有TCP/IP运行在一个以太网上,以太网驱动程序处理物理层和链路层的功能。但是如果没有自己第二层实现的技术,如直接串行线路连接或拨号电话网连接,网路接口层提供类似串行线路接口协议(SLIP)和点对点协议(

2017-01-24 22:35:38 348

原创 网络笔记1(基础)

基础部分交换网络类型1.电路交换网:信息交换前必须先建立电路,例如电话2.分组交换网:路径不定,数据分组通过网络发送,分组数据到达顺序不一,且可能丢失,引起接收要重组。网络类型不存在优先级,分别使用于不同的需要。网络协议TCP/IP(运输控制协议)网际协议实际上是一个协议族。即是由几个不同的协议组成无连接和面向连接的协议有了可传送数据的物理链路就可以发数据或者建立连

2017-01-23 23:58:54 365

原创 hc05蓝牙模块学习笔记

hc05蓝牙模块是使用串口通讯(TTL),其中有一个KEY脚来进入AT状态(高电平有效)。该蓝牙模块的所有功能都是通过AT指令集控制。要进入AT状态有两种方法:1.上电时将KEY脚同时设置为VCC,上电即进入指令状态。2.上电后再接VCC也能进入AT状态。方法1进入的AT状态模块波特率为38400 8N1。方法2进入的AT状态,模块波特率与当时串口通讯波特率一致。指令结构:AT

2016-10-23 15:11:54 13932

原创 STM32 NRF24L01学习笔记

首先NRF24L01是使用SPI与STM32进行通讯的其中要区分CSN:模块的片选信号,和CE:使能信号的功能。CSN是协议片选端,多个SPI设备共用STM32的SPI口时,就通过CSN来区分,而CE端实际上是芯片的功能使能端,通过配置CE使它进入不同的状态(RX,TX),命令的组织形式:命令+寄存器地址命令分为读命令:AAAAA//读地址时直接+寄存器地址就可以,也就是0x00+寄存

2016-10-20 22:43:37 2643

原创 ucos学习笔记2

4.ucos的中断中断过程:只有开放了中断,系统在接受中断请求后,才会停止当前运行的任务,而去运行中断服务子程序。当中断服务子程序运行结束后,系统将会根据情况,返回到被终止的任务继续运行,或者转向另一个具有更高优先级别的就绪任务。注意:对于可剥脱型的ucos2内核在说,中断服务子程序结束后,系统将会根据情况进行一次任务调度去运行优先级别高的任务,而不一定返回。ucos允许中断嵌

2016-10-08 13:48:44 545

原创 疯狂JAVA第三章笔记

3.2 基于监听的处理模型bn.setOnClickListener(new MyClickListener()); // ①// 定义一个单击事件的监听器class MyClickListener implements View.OnClickListener{// 实现监听器类必须实现的方法,该方法将会作为事件处理器@Overridepublic void on

2016-10-05 09:25:40 259

原创 CORTEX-M3笔记

2.M3概览2.1M3一个32位处理器,数据路径32位,寄存器32位,接口32位。采用哈佛结构,即拥有毒辣的指令总线和数据总线。但是指令总线和数据总线共享一个储存空间。cm3内部支持小端和大端模式。2.2寄存器组:CM3有R0-R15寄存器,其中R13作为堆栈指针SP,SP有两个单同一时间只有一个能看见。R0-R2是32位通用寄存器,用于数据操作。绝大多数16位Thumb指

2016-10-03 14:03:31 413

原创 疯狂android笔记2android应用界面编程

安卓应用的界面编程界面编程与视图组件:安卓应用的绝大部分UI组件都放在android.widget包及其子包、android.view包及其子包,android应用绝大多数UI组件都继承了View类。view类的一个重要子类:ViewGroup,但viewgroup通常作为其他组件的容器使用。所以大多数UI组件都是建立在view及viewGroup之上因为viewGroup是view的

2016-09-30 14:07:28 735

原创 疯狂Android笔记1第一个android应用

一.第一个Android应用:开发Android引用大致需要3步:1.创建一个Android项目2.在XML布局文件中定义应用程序的用户界面。3.在Java代码中编写相关功能。创建android的步骤就省略了,记录一些要点:android项目的layout目录下有一个XX.XML文件该文件定义了android的用户界面。从控件面板拖进一个BUTTON控件,双击控

2016-09-29 23:10:49 316

原创 ucos学习笔记1

多任务:就是在某一个工作空闲的时候去执行另一个工作,充分利用时间单核:意味着同一时间只有一个程序使用CPUuc/os-ii:一个嵌入式多任务实时操作系统。uc/oc-II中的任务:在设计复杂任务的时候通常会吧大任务分解成多个小任务,UC/OC-II中的任务就对应这个小任务,ucos就是对这些小任务进行管理和调度的任务操作系统。ucos的任务组成:任务程序代码(函数)、任

2016-09-28 12:16:37 640

原创 JAVA语言遗漏

IS-A关系:public class Animal{}public class Mammal extends Animal{}public class Reptile extends Animal{}public class Dog extends Mammal{}基于上面的例子,以下说法是正确的:Animal类是Mammal类的父类。Anim

2016-09-25 22:03:45 270

原创 STM32F10X笔记

笔记采子正点原子STM32F1开发指南系统框架:时钟树:端口复用和重映射:为了使不同器件封装的外设 IO 功能数量达到最优,可以把一 些复用重新映射其他功能数量达到最优,可以把一 些复用重新映射其他功能数量达到最优,可以把一 些复用重新映射其他些引脚上。 STM32 中有很多内置外设的输入出引脚都具重映射 中有很多内置外设的输入出引脚都具重映

2016-09-25 00:22:24 1379

原创 SOCKET笔记

需要包含的头文件和预处理#include #pragma comment(lib,"ws2_32.lib")WSADATA Data;在开始套接字前要先启动WSAStartup(MAKEWORD(1, 1),&Data),第一个参数指明程序请求使用的Socket版本,其中高位字节指明副版本、低位字节指明主版本;操作系统利用第二个参数返回请求的Socket的版本信息。创建套接

2016-09-23 22:33:12 319

转载 浅析pthread_cond_wait

转自:http://weihe6666.iteye.com/blog/1170141浅析pthread_cond_wait条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。 一 pthread_co

2016-09-23 09:50:35 286

转载 浅析pthread_cond_wait

转自:http://weihe6666.iteye.com/blog/1170141浅析pthread_cond_wait条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。 一 pthread_cond_w

2016-09-23 09:48:27 353

转载 c++常见面试题30道

转自:http://blog.csdn.net/shihui512/article/details/9092439;1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存

2016-08-17 11:00:18 748

原创 QT一些笔记

网格布局:void QGridLayout::addWidget(QWidget * widget, int fromRow, int fromColumn, int rowSpan, int columnSpan, Qt::Alignment alignment = 0)6个参数表示控件名,行,列,占用行数,占用列数,对齐方式线程类QThread创建继承QTh

2016-08-15 15:26:30 300

原创 Window设计程序笔记

Window程序的入口函数。入口函数和启动函数:WinMain --WinMainCRTStartupwWinMain -- wWinMainCRTStartupMain -- mainCRTStartupWmain --  wmainCRTStartupint WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPr

2016-08-14 21:24:24 334

原创 一些MFC笔记

Windows消息分类       先讲下Windows消息的分类。Windows消息分为系统消息和用户自定义消息。Windows系统消息有三种:       1.标准Windows消息。除WM_COMMAND外以WM_开头的消息是标准消息。例如,WM_CREATE、WM_CLOSE。       2.命令消息。消息名为WM_COMMAND,消息中附带了标识符ID来区分是来

2016-08-14 14:25:10 1887

原创 Primer STL笔记第二部分容器与算法

9.1顺序容器的定义要定义一个容器类型的对象笔下那个先包含相关的容器头文件。所有容器类型都定义了默认构造函数,用于创建指定类型的空容器对象。默认构造函数不带参数。为了使程序更清晰、简短,容器类型最常用的构造函数是默认构造函数。在大多数的程序中,使用默认构造函数能达到最佳运行时性能,并且使容器更容易使用。下面一些例子 将一个容器复制给另一个容器时,类型必须匹配:容器类型和元素类型都必

2016-08-13 18:18:54 236

原创 PIRMER STL笔记(第三章中提到的vector)

第三章,3.3标准库Vector类型Vector是其中一种容器,不是一种数据类型,只是其中一个类模板,可以用来定义任意多种数据类型。初始化方式:1.vector v1;// (保存类型为T对象,默认构造函数v1为空)2.vctorv2(v1);//( v2是v1的一个副本)3.vectorv3(n,i);//(v3中含有N个值为 i 的元素)4.vectorv4(n);//v4含有n个初始

2016-08-13 12:58:17 265

原创 WIN32图片调用

一般位图的调用方法如下:HDC memDC = ::CreateCompatibleDC(hdc);//创建一个与指定设备兼容的内存设备上下文环境,hdc现有设备的上下文环境的句柄HBITMAP hBmp = (HBITMAP)LoadBitmap(hInst, MAKEINTRESOURCE(m_pResID[m_nCurrentResID]));//载入位图HBITMAP

2016-07-31 20:12:02 1339

原创 Effective C++ 笔记二构造/析构/赋值运算

条款 05:编译器可以暗自为class创建default构造函数、copy构造函数、copy assignment 操作符,以及析构函数。如果类没有创建这些函数,编译系会自动生成。条款06:为驳回编译器自动提供的技能,可将相应的成员函数声明为private并且不予实现。使用想uncoypable这样的base class也是一种做法private: uncopyable(c

2016-06-15 18:20:09 317

原创 Effective C++ 笔记一 :让自己习惯C++

条款 01 :C++ 高效编程守则视状况而变化, 取决于你使用C++的哪一个部分。(视C++为一个联邦)C++包括:1. C的部分 ; 2. Object_Oriented C++; 3. Template C++; 4. STL. 条款 02 :1.对于单纯的常量,最好以const对象或enums替换#defines。                 2.对于形似函数的宏,最

2016-06-13 17:47:04 406

空空如也

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

TA关注的人

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