自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(197)
  • 资源 (4)
  • 收藏
  • 关注

转载 Calculus of Variation

From Wikipedia, the free encyclopedia"Variational method" redirects here. For the use as an approximation method in quantum mechanics, see Variational method (quantum mechanics).

2016-03-30 13:45:11 1825

转载 HMM Algorithm Theory

0. 简述    本文主要参考"A Tutorial On Hidden Markov Models",这个文章可以在http://vision.ai.uiuc.edu/dugad/上面找到。主要是通过阅读这篇技术报告来了解一些HMM的学习算法,即分段K-Means和向前向后算法(也称为BaumWelch算法)。    前面两篇文章介绍过HMM的基础了,这里就更多的直接上公式了。那

2015-11-10 16:09:33 930

转载 Bessel不等式与Cauchy不等式以及Holder不等式

Bessel's inequalityFrom Wikipedia, the free encyclopedia  (Redirected from Bessel inequality)In mathematics, especially functional analysis, Bessel's inequality is a statement about th

2014-10-29 16:13:44 6935

转载 帕塞瓦尔定理(能量守恒定理)

Plancherel's theorem编辑假定A(x)和B(x)都是平方可积的(参照勒贝格测度)复变函数,且定义在R上周期为2π的区间上,分别写成傅里叶级数的形式:则有:

2014-10-29 15:12:28 78430

转载 牛顿的广义二项式定理---微积分推倒的开始

Binomial Theorem/General Binomial TheoremBinomial TheoremContents [hide] 1 Theorem2 Proof3 Historical Note4 SourcesTheoremLet α∈R be a real number.Let x∈R b

2014-10-16 11:21:51 10573

转载 Linux内核多线程实现方法 —— kthread_create函数

Linux内核多线程实现方法 —— kthread_create函数 内核经常需要在后台执行一些操作,这种任务就可以通过内核线程(kernle thread)完成独立运行在内核空间的标准进程。内核线程和普通的进程间的区别在于内核线程没有独立的地址空间,mm指针被设置为NULL;它只在内核空间运行,从来不切换到用户空间去;并且和普通进程一样,可以被调度,也可以被抢占。实际上,内核线程只能由其

2014-10-14 14:54:12 14950

转载 DMA基本概念及linux2440下DMA驱动程序编写与测试

DMA基本概念及linux2440下DMA驱动程序编写与测试分类: linux 6410驱动2013-02-25 19:11 1063人阅读 评论(5) 收藏 举报转自:http://blog.techbulo.com/tech/artical/1462.html1、基本概念DMA即Direct Memory Access(直接存储器存取),那么为什么要

2014-10-14 14:41:17 799

原创 ADS + JLink + FL2440调试

调试设置过程中,运行起来Segger的 Segger Jlin

2014-07-28 21:14:28 790

转载 芯片加密解密

基本概述编辑单片机(MCU)一般都有内部EEPROM/FLASH供用户存放程序和工作数据。为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就叫单片机加密或芯片加密。单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段

2014-05-13 16:45:16 5935 1

转载 关于stc51的冷启动下载和复位

关于stc51的冷启动下载和复位 Stc单片机里面有一段出厂时固化的程序,这段程序的作用是检测串口是否要下载程序,不需要则执行单片机内的用户程序。每次启动时运行这端程序,这就是为什么每次下载时要冷启动。而复位后单片机是从地址0000H处开始执行,地址0000H又会指向主程序入口,即主函数处,即片内下载的用户程序而不会执行前面已经固化的检测串口那段程序。这就是为什么单片机每次下载要冷启动,而复位

2014-05-13 15:40:31 5683

转载 linux-2.6.26下开发marvell 88w8686 wifi驱动

转自: 最近在做基于2440+linux下,开发marvell 88w8686驱动 ,因为三月、硬件设计是spi接口,所以我从marvell 官方网站下载SPI 接口的驱动程序src_gspi8686.tar.bz2, 此驱动程序是基于PXA270的,所以需要自己移植到2440平台上,主要有如下工作要做:1.将src_gspi8686 下的 io 文件夹下的gspi.c

2014-05-08 22:33:52 1413

转载 Linux 系统信息查询命令

#uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env

2013-09-28 20:47:25 861

原创 重要的伪文件系统/proc

proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。

2013-09-28 20:37:28 989

转载 Linux 设备文件与udev

什么是 udev?udev 是 Linux2.6 内核里的一个功能,它替代了原来的 devfs,成为当前 Linux 默认的设备管理工具。udev 以守护进程的形式运行,通过侦听内核发出来的 uevent 来管理/dev目录下的设备文件。不像之前的设备管理工具,udev 在用户空间 (user space) 运行,而不在内核空间 (kernel space) 运行。使用 udev 的好

2013-09-28 20:25:11 1075

原创 DM9000A的相关总结

1.原理以FL2440为研究对象,DM9000A支持8位 16为模式,内部有64个寄存器、SRAM等,分别控制其工作,对于其寄存器的读写依靠地址端口和数据端口来控制,在系统移植的时候根据硬件连接设置:#define      S3C24XX_PA_DM9000 0x20000300   #define      S3C24XX_VA_DM9000 0xE0000000sta

2013-09-17 14:41:04 1585

转载 Ubuntu 默认启动到命令行 12.04

Ubuntu 默认启动到命令行 12.04代码:sudo gedit /etc/default/grub引用:GRUB_CMDLINE_LINUX="text"代码:sudo update-grub这样就修改好了,reboot后,你就发现,图形界面再也没有出来,而是直接进入命令行模式了,如果你想再次进入图形界面也好说,在命令行模式下输

2013-09-07 17:52:32 2996

转载 Linux GDB开发

来自于:http://wiki.ubuntu.org.cn/%E7%94%A8GDB%E8%B0%83%E8%AF%95%E7%A8%8B%E5%BA%8F使用GDB一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点。如:$gcc -g -Wall h

2013-09-07 10:37:27 928

原创 嵌入式Linux调试方法

远程调试Linux应用程序:   1.  GDBServer(开发板安装) + arm-linux-gdb(主机,命令行)   2.  GDBServer(开发板安装) + arm-linux-insight (主机,图形化界面)远程调试Linux内核:    1. Kernel + kgdb(开发板)   +   gdb(主机端)

2013-09-07 09:43:41 1432

原创 Linux常用到的命令

1. Ubuntu获得root权限在终端中输入:sudo passwd rootEnter new UNIX password: (在这输入你的密码)Retype new UNIX password: (确定你输入的密码)passwd: password updated successfully以后,如果在想获得root权限,只需进行如下的操作:su rootPas

2013-08-13 14:11:25 837

原创 关于TCP连接的Close

TCP建立连接需要三次握手,断开连接需要四次握手,本来也挺简单的,但是在实际的项目中,由于没注意,出现了问题,现在将出现的问题描述一下。挺简单的,就是服务器在Windows Server 2003中运行,通过局域网Client去连接Server,自定义消息发送数据给Server。因为客户端连接Server有很多,而且很多方式,有长连接和短连接,采用了MFC的CSocket来处理,在服务器端维护了一

2013-07-27 21:24:17 1285

转载 双网卡接入两个网络(Windows)

双网卡接入两个网络双网卡接入两个网络 某企业用户使用的运行Windows XP的计算机装有两块网卡,网卡1通过PPPoE连接到Internet,网卡2通过局域网连接到企业内部网络,企业内部网络为172.16.0.0/16,内部网络网关为172.16.0.1,网卡2的IP地址为172.16.0.17.在没有连接到Internet的情况下,该用户可以访问整个企业内部网络。当该用户连接到

2013-07-12 10:15:47 4374

转载 PPP、PPPOE、PPTP、L2TP应用场合

来自:http://adreaman.com/0412ppp-pppoe-pptp-l2tp-vpn-synopsis-no1.htmlPPPPPP是一种数据链路层协议,遵循HDLC(高级数据链路控制协议)族的一般报文格式。PPP是为了在点对点物理链路(例如RS232串口链路、电话ISDN线路等)上传输OSI模型中的网络层报文而设计的,它改进了之前的一个点对点协议–SLIP协议–只能同

2013-07-01 12:16:09 20475

转载 嵌入式车载平台的GPRS网络实现-续PPP协议(转)

接上一节未完的嵌入式车载平台的GPRS网络实现(转)前面以为GPRS模块直接执行AT指令就可以联网,好像不对,看了下面的知道还缺少PPP协议,那么PPP协议一般是ADSL在拨号的时候用的(PPPOE),怎么和串口通信挂钩的呢?来自:http://network.51cto.com/art/201009/224135.htmPPP设置之pppd拨号  下面我们

2013-06-30 23:37:20 3773

转载 嵌入式车载平台的GPRS网络实现(转)

这篇文章觉得不错,对于利用GPRS模块进行网络数据传输的理解有很大帮助,不知道3G模块原理是不是类似,只是速度上的问题而已,因为在本人的Andiroid手机上(3G启动)进行网络程序的开发时,用的是Socket的相关API与Internet的服务器通信,而与第3点的总结不一致,待证实!总结: 1. CPU与GPRS的通信需要通过RS232,而非简单的TTL.             2

2013-06-30 20:08:42 5014 1

转载 Linux+libusb开发用户USB驱动程序(转)

注:在用户级的USB 驱动编写,不错,好像QT 嵌入式移植里面也是基于此的。内核级的usb驱动在以下几个方面会有问题:1 当使用我们产品的客户有2.4内核的平台,同时也有2.6内核的平台,我们要设计的驱动是要兼容两个平台的,就连makefile 我们都要写两个。   2 当我们要把linux移植到嵌入平台上,你会发现原先linux自带的驱动移过去还挺大的,我的内核当然是越小越好

2013-06-30 18:25:05 6592 1

原创 Linux TTY驱动--Serial Core层

接上一节:Linux TTY驱动--Uart_driver底层一. 为了给USB-Serial类型的串口打基础(USB-Serial和Serial Core一样,构造了一个tty_driver和tty_operations,叫做usb-serial层),这里仔细分析Serial Core层完成的工作,实现代码为/drivers/serial/serial_core.c(kernel 2

2013-06-29 00:04:46 7785

原创 Linux TTY驱动--Uart_driver底层

Linux 中将串口驱动进行了分层,如图:本节讲解与底层硬件密切相关的层,以S3C2440为例剖析:    实现文件有:/drivers/serial/samsung.c    /drivers/serial/samsung.h      /drivers/serial/s3c2440.c (kernel 2.6.28),Serial Core层在/drivers/serial/ser

2013-06-28 15:39:03 20311 3

转载 Linux MMC子系统(1)-- MMC Host层(2.6.28)

Linux 的 MMC驱动主要管理MMC卡/SD卡,从上到下分为了MMC设备层,MMC Core层,MMC Host层,Host层负责底层硬件:如下:        /dev下设备文件访问MMC/SD/SDIO用户空间             |---------------------|-----------------------------------------------

2013-06-26 11:59:04 1462 1

转载 VS1003音频解码芯片MP3播放器实现的问题-转载

来自:http://bbs.ednchina.com/BLOG_ARTICLE_276006.HTM玩MP3播放,之前已经实现了VS1003的正弦波测试,从耳机可以听到一定频率的声音了。之后开始写程序,希望从MMC/SD卡读取文件发送到VS1003播放。我的板子上MMC卡和VS1003都接在同一个硬件SPI接口上,靠不同的片选控制。程序的思路就是单片机从MMC卡读取一个扇区(512字节)的

2013-06-25 15:11:43 7078

原创 usb Mass Strorage分析(2)

USB MASS Storage驱动分层很多层次:1. 从最简单的“ 物理层”开始,先介绍一下MSC(Mass Storage Class) Device 与USB Host的结构:上图中,Storage Media,就是我们例子中的Nand Flash芯片。而例子中的那个控制芯片,是Microcontroller with embedded USB device co

2013-06-25 15:07:40 2109

原创 usb Mass Strorage分析(1)

接上一篇: usb-skeleton.c到 usb core层的分析对于存储设备的USB,Linux源码中有关于USB MASS Storage 的驱动程序(/drivers/usb/storage下),其中/drivers/usb/storage/usb.c 实现了驱动初始化,和usb-skeleton.c 例子以一样,调用    retval = usb_register(&usb_sto

2013-06-24 23:21:02 2431 1

原创 usb-skeleton.c到 usb core层的分析

接Linux USB 主机端 驱动程序(2.6.28)那一节的内容,说到了调用usb_register_dev函数向usbcore层(/drivers/usb/file.c)注册了static struct usb_class_driver skel_class = {    .name =        "skel%d",    .fops =        &skel_fo

2013-06-24 21:25:37 2331

原创 Linux LCD驱动中framebuffer的研究

Linux 本身实现了FrameBuffer驱动(字符驱动)便于应用用于层调用,实现的文件是/drivers/video/fbmem.c文件:static const struct file_operations fb_fops = {    .owner =    THIS_MODULE,    .read =        fb_read,    .write =    fb_

2013-06-23 16:21:37 1127

原创 Linux MTD层的研究(Nandflash)

花了点时间学习Linux MTD层,下面简单总结一下!以下是MTD层的结构图      MTD层实现了文件系统与Flash之间的桥梁,下面就粗略说明字符型MTD驱动与下层驱动的关系。分析对象:/drivers/mtdchar.c 字符型mtd设备字符设备中定义了mtd_fops字符类的文件指针操作函数,完成字符设备读写与打开等功能。1. static int mtd

2013-06-22 19:15:12 4621

原创 读书笔记--不断更新

1. 《精通PKI网络安全认证技术与编程实现》 马臣云 王彦 人民邮电出版社该书包含了如下:1. OpenSSL是Linux、Windows平台进行SSL开发相关的开源项目,开发源代码,封装了密码算法库、SSL协议、应用程序等,同时包括签名验证、证书操作、SSL/TLS编程,书中介绍了OpenSSL具体安装方法和一些实例。2. CrytoAPI是微软提供的Win32环境下使用加密、验证

2013-06-05 10:17:42 861

转载 关于优先级反转

转自:http://www.blogjava.net/killme2008/archive/2009/06/28/284459.html在多进程、多线程并发的环境里,从概念上看,有多个进程或者多个线程在同时执行,具体到单个CPU级别,实际上任何时刻只能有一个进程或者线程处于执行状态;因此OS需要决定哪个进程执行,哪些进程等待,也就是进程的调度。一、调度的目标1、首先要区分程

2013-06-04 21:05:52 1215 1

转载 多级页表如何节省进程页表空间

:如果使用简单的一级页表,如果进程使用全部4G线性地址空间,那么将需要高达2^20表项(总共地址线是32位,每页大小为4kb,则页偏移量需要低12位,高20位当作页表地址)来保存表示每个进程的页表,若每项4B,则需要4MB的ram来存储页表。即使一个进程并不使用内的所有地址。         书上提出:使用这种二级模式能够减少每个进程页表所需RAM数量。开始一直没想通,为什么节省了呢?从你最终

2013-06-04 17:59:35 10988 1

转载 MMU(深入浅出)

一、MMU的产生      许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多

2013-06-04 15:57:18 1515

转载 MMU 裸机程序

来自:http://blog.sina.com.cn/s/blog_49d9a0820100e37l.html一级页表////////////////////////////////////head.S//////////////////////////////////////////////////////////////////////@******************

2013-06-04 14:49:17 1073

转载 UCOS-II常用变量说明

1, OSRunning    在ucos_II.h中定义,声明为BOOLEAN数据类型,这个变量用于指示OS是否正在运行。   “1”为运行状态,反之为未运行态。2, OSPrioCur    在ucos_II.h中定义,声明为INT8U数据类型,表示当前任务的优先级。3, OSPrioHighRdy   在ucos_II.h中定义,声明为INT8

2013-05-24 17:44:39 1951

裸机开发基础

ADS的使用基础,帮助你完成ADS开发的入门学习

2012-10-25

The_Linux_Kernel_API

Linux Kernel 函数解释,帮助你查询相关的API,让驱动开发变得容易些

2012-10-25

Struts2入门V3.0.pdf

帮助你熟悉struts2框架与开发,希望对大家有帮助!

2011-08-04

Javascript+DOM编程艺术.pdf

经典入门级javascript书籍,通过几个实例演示了大师级的网页开发技术,并透彻阐述了一些至关重要的JavaScript编程原则和最佳实践,包括预留退路、循序渐进和以用户为中心等

2011-07-29

空空如也

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

TA关注的人

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