自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

行者

求则得之,舍则失之,是求有益于得也,求在我者也。

  • 博客(106)
  • 资源 (7)
  • 收藏
  • 关注

原创 选择排序与冒泡排序的比较

选择排序(Selection Sort)算法核心思想:每一趟在n-i+1(i>=1)个记录中选取关键字最小的记录作为序列中的第i个记录简单选择操作:通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1先看一个选择排序的思想的代码:int SelectSort(MergeType *L){ int min = 0; if (!L->elem) {

2013-12-23 22:56:10 1007 6

原创 直接插入排序与折半插入排序

这里从第二个数据开始,比较当前的数据是否小于前面的一个数,如果小于前面一个数据,就将当前数据插入到前面的队列中,在插入到前面数据中的过程,要移动数据这里要注意时间的复杂度:总的比较次数=1+2+……+(i+1-2+1)+……+(n-2+1)= n*(n-1)/2= O(n^2)总的移动次数=2+3+……+(2+i-1)+ …… + n = (n+2)*(n-1)/2=O(n^2)当然还要考虑空间复杂度:其实这里使用了一个变量的存储空间作为移动数据的临时空间这里在移动的过程中,可以减少代码

2013-12-23 21:41:53 1399

原创 快速排序算法(冒泡算法的改进)

快速排序算法的思想:  1. 通过一趟排序将待排序的记录分割成独立的两部分,其中一部分记录的关键字均比另一部分的记录的关键字小  2. 然后分别对这两部分进行同样的操作 1 的快速排序,以达到整个序列有效

2013-12-22 17:09:28 1414

原创 冒泡算法的改进

冒泡排序算法的思想:首先将第一个记录的关键字和第二个关键字进行比较,若为逆序则将两个记录进行交换。然后比较第二个记录和第三个记录的关键字,直至第n-1个记录和第n个记录进行比较为止,一趟过后最大的元素会沉入最底部。然后进行第二趟排序,对前 n-1 个记录进行同样1、2的操作,结果就是关键字次大的记录被安排到n-1位置上。依次进行第 i 趟排序,对前 n-i 个记

2013-12-20 23:03:40 1579

原创 移植Linux根文件系统之yaffs2

1. 这里我的文档yaffs2和linux3.4.2在同一个文件下,假设在这个两个文件夹上一级,如下就是使用的脚本命令:cd yaffs2./patch-ker.sh c m ../linux-3.4.2/2.make menuconfig 在这个目录下进行选中yaffs2 : File systems/Miscellaneous file systems/ 3.4.2这里是yaffs2 file system support,使用Y就可,里面有个分页文件的大小,我使用的nand

2013-12-10 22:57:07 1317

原创 Linux内核启动卡在“Uncompressing Linux... done, booting the kernel.”

移植平台:Linux 3.4.2 Mini2440  U-Boot 2012.04.011.移植内核过程中出现界面卡在"Uncompressing Linux... done, booting the kernel."在linux内核中搜素"Uncompressing Linux... ", 找到如下Misc.c (arch\arm\boot\compressed):

2013-12-10 12:57:05 20515

原创 深入分析MFC之GDI原理透析

为什么会使用GDI呢?首先要理解一般显示器,是将要显示的内容存放在显存中,framebuffer就是用来存储显示的数据,由DMA自动读取数据将其显示在窗口中,而这里显示的只是一个个的像素点。通常是先显示一行的像素点,发出水平同步信号后,再显示下一行,当整个一屏幕的数据显示完全后,才会发出垂直同步信号,发出下一帧数据。注意这里。。。MFC如何使用GDI?首先对于GDI而言,他并不是将图像直接显示在设备上,而是将显示的数据首先绘制在一个设备描述表DC中,这里面存储了显示图像的描述字段,包括物理设备和各种状

2013-12-06 16:01:45 4201

原创 深入分析MFC消息映射

在MFC生成的类中,我们会发现几处使用宏的地方,如下DECLARE_MESSAGE_MAP()BEGIN_MESSAGE_MAP(CMFCHelloDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON()END_MESSAGE_MAP()这里就是提供消息循环的地方,这里可以避免使用冗长的虚表,因为如果每个类对他可能接收的消息都有一个虚函数,那么就需要过多的虚表,占用较多的内存空间。而

2013-11-27 21:21:59 2170

原创 深入分析MFC启动流程

精简以上代码,就会发现其实是一样的1.初始化主框架,保存参数 : if (!AfxWinInit(hInstance, hPrevInstance, lpCmdLine, nCmdShow))2.初始化文档管理器:pApp->InitApplication()3.初始化窗口: if (!pThread->InitInstance())由于InitInstance()是虚函数,会调用子类重写的此函数 ,就是这个函数BOOL CMFCHelloApp::InitInstance(),在这个

2013-11-27 15:59:29 3409

转载 hzk16的使用与介绍

HZK16字库是符合GB2312标准的16×16点阵字库,HZK16的GB2312-80支持的汉字有6763个,符号682个。其中一级汉字有3755个,按声序排列,二级汉字有3008个,按偏旁部首排列。我们在一些应用场合根本用不到这么多汉字字模,所以在应用

2013-11-22 23:54:37 8531

原创 SQL数据库的常用操作

USE [my_db]  /*使用表my_table*/ GO/*模式的操作 *create schema authorization  */ /*create schema my_db*/ create schema my_db create table mytable( col1 smallint, col2 int, col3 char(10),

2013-11-14 11:41:00 1501

转载 如何参与Linux内核开发以及开发经验

如何参与Linux内核开发---------------------这是一篇将如何参与Linux内核开发的相关问题一网打尽的终极秘笈。它将指导你成为一名Linux内核开发者,并且学会如何同Linux内核开发社区合作。它尽可能不包括任何关于内核编程的技术细节,但会给你指引一条获得这些知识的正确途径。如果这篇文章中的任何内容不再适用,请给文末列出的文件维护者发送补丁。

2013-11-13 22:26:52 1565

转载 volatile在内核中使用是有害的--摘自Linux内核文档

Documentation/volatile-considered-harmful.txt 的中文翻译如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻译存在问题,请联系中文版维护者。英文版维护者: Jonathan Corbet 中文版维护者: 伍鹏 Bryan Wu 中文版翻译

2013-11-13 21:53:01 1954

转载 u-Boot环境变量的设置

看到这个标题,可能觉得这个并没有什么的,其实不然,编好了u-boot了,但是如何来使用确不是那么简单的,想当初我将uboot制作出来后以为全部都搞定了,屁颠屁颠的烧到板子上后可系统就是起不来,为什么了,折腾了很久以后才发现是u-boot的环境变量设置错误,在后来的工作中,我发现一些有一定经验的人在这方面也是模模糊糊的扯不清,所以这里要讨论一下。     u-boot的环境变量是使用

2013-11-13 01:44:38 5846

转载 Dm9000网卡芯片硬件原理分析

.    DM9000网卡芯片驱动的预备知识:MAC/PHYDriver2011-01-27 11:24:29 阅读43评论0   字号:大中小 订阅ETHERNET的接口实质是MAC通过MII总线控

2013-11-07 00:59:44 3969 1

原创 C++中如何声明 “友元类” 和 “友元函数”

调试平台:win7 vs2012 win32控制台终端项目友元(friend)字面义:顾名思义既然是朋友了,我的东西同样可以给你使用书面语:将一个类的非公有成员(包括方法和成员变量)的访问权限赋予指定的类或者指定的函数关键字为:friend 类原型/函数原型(包含域)1.将类声明为友元,看下面例子注意:这里使用两个文件,每个类占用一个文件,调试有其他类(只保留跟这个有关的)

2013-11-05 18:57:32 7260 1

原创 u-boot-2012.04.01移植问题

移植中出现的问题s3c2410_nand.c: In function 's3c2410_hwcontrol':s3c2410_nand.c:57: warning: implicit declaration of function 's3c2410_get_base_nand's3c2410_nand.c:57: warning: initialization makes point

2013-11-03 23:17:08 2610

转载 TSQL与PL/SQL的比较

TSQL与PL/SQL的比较 以前一直用mssql 做开发,最近的项目都Oracle,  1)数据类型 TSQLPL/SQL numeric(p,s)numeric(p,s) or NUMBER(p,s) decimal(p,s)decimal(p,s

2013-10-29 20:49:25 942

原创 数据库查询操作

在不使用触发器的情况下 (sqlserver),怎么将所有学生的“课程成绩”修改为 “课程分 + 课程学分课程表course         课程分数表SC       最后总结了几个方法1.先算出值,再复制回去,没整成,估计可以2.使用触发器,后期整3.利器 :update scset scgrade = scgrade+ccreditfrom

2013-10-28 23:06:36 715

原创 VS2012 连接 SQL Server 2012 Express

如何生成SQL Server以及直接操作和部署数据库先略 先看如何操作数据库VS2012集成的功能相当强大,以前的版本可能也有,只是没在意1)如何设置数据源(MSDN提供),当然这里也可以不设置,再后面添加类也可以设置从“开始”菜单中,选择“设置”、“控制面板”、“管理工具”、“数据源 (ODBC)”,然后选择“ODBC 数据源管理器”。请查看如何使用ODBC设置数据源:h

2013-10-23 22:35:40 6496

转载 MFC中连接SQL Server的方法

在MFC中,主要有两种方法可以连接sql数据库1.利用ADO连接:#import "msado15.dll" no_namespace rename("EOF", "EndOfFile") //必须import这个dll,这个文件通常放在C:\Program Files\Common Files\System\ado路径下._ConnectionPtr m_ptrConnectio

2013-10-23 20:44:14 2941

原创 MFC之消息传递(A->B->C, C为主窗口且没有启动)

情况一:你希望启动一个进程A,如果希望在进程A中再启动B,并暂停当前进程A直到进程B进程结束返回,就可以调用::WaitForSingleObject函数,注意:Linux内核其实也提供了类似的函数可以执行进程A的同时创建B,并且以不同的顺序执行 STARTUPINFO si; ::ZeroMemory(&si, sizeof(STARTUPINFO)); si.cb = si

2013-10-23 17:02:55 1362

原创 u-boot镜像Image中有关结构体

(uboot1.1.6为分析对象)在uboot启动阶段 do_bootm_linux往往会分析内核镜像,这里面会有几个结构体image_header_t 里面定义了镜像的头部typedef struct image_header { uint32_t ih_magic; /* Image Header Magic Number */  //镜像头号 uint32_t ih_hc

2013-10-19 11:16:13 3374

原创 网络驱动有关结构体的含义

首先看一下网络驱动必用结构体struct sk_buff不怎么使用的就没有出现解释:struct sk_buff { /* These two members must be first. */ struct sk_buff  *next; struct sk_buff  *prev; struct sock   *sk;  //哪个socket套机字拥有此buffer

2013-10-17 11:56:28 1038

原创 韦东山视频实验之虚拟网卡

遇到的问题1.调试老是弹出以下问题 /home/smb/pro/16th_virtnet/virtnet.c: In function 'emulator_rx_packet':/home/smb/pro/16th_virtnet/virtnet.c:48: error: dereferencing pointer to incomplete type/home/smb/pro/1

2013-10-16 21:58:38 1685 1

原创 韦东山视频实验之Nor驱动

遇到的有两个问题1)写数据: 在地址0x100000写入0x1234使用如下m命令得不到之前写入的值  NOR手册:往地址555H写AAH 往地址2AAH写55H 往地址555H写A0H 往地址PA写PD2440的A1接到NOR的A0,所以2440发出(555hUBOOT怎么操作?往地址AAAH写AAH               mw.w aaa aa

2013-10-15 23:06:01 1381 1

原创 韦东山视频实验之Nand驱动

这里主要牵涉到static struct nand_chip mtd_info这两个底层封装的函数nand原理分析: 驱动分析:1)要进行nand时钟和时序的设置     这里面会进行nand的寄存器的片选,命令的设置,地址或者数据的设置,状态位的读取,nand时钟和时序的设置等2)nand flash底层的自动探测,识别nand     这里面会进行初始的函数设置na

2013-10-15 20:01:56 1263

原创 C/C++函数指针传递和typedef的误区

typedef string *pstrType;const pstrType cstrVar;请问cstrVar是什么类型?简单的回答是const pstrType,那么这个类型是什么呢?我以为是const string * cstrVar;对吗?

2013-10-12 23:19:45 1022

原创 C语言编程规范总结

变量规范总结:1.一定要见名识义,不能定义不能理解的名字 如int i,推荐c++的命名方式,如   int n_student_num; //既能知道是整数,又能知道是学生的人数2. 变量定义的时候最好初始化,虽然编译器默认会提供默认值,但是有些还是需要初始化的好 如 int * p = NULL;3. 释放malloc指针变量的时候,一定要置指针为NULL,防止成为野指针,

2013-10-09 00:44:16 844

原创 定时器与中断触发次序

之前在做触摸屏实验的时候,出现定时器几乎可以同时出现,请看我在论坛发的问题当初考虑的是定时器是由中断来实现的,在今天看过内核后发现这个是错误的看一年内核的有关实现asmlinkage void __init start_kernel(void)(linux-2.6.22.6\init\Main.c)       init_IRQ();   //初始化中断       ...

2013-09-26 13:41:17 2473

转载 Linux 内核中“.type”的含义

本文链接:http://codingstandards.iteye.com/blog/831504   用途说明type命令用来显示指定命令的类型。一个命令的类型可以是如下之一alias 别名keyword 关键字,Shell保留字function 函数,Shell函数builtin 内建命令,Shell内建命令file 文件,磁盘文件,外部命令unfound 没有找到

2013-09-26 10:18:32 1418

原创 韦东山视频实验之USB鼠标驱动—OOPS错误分析

先将上节的代码#if 1 usb_buffer_alloc(usbdev, len, GFP_ATOMIC, &usb_dma_buff_phys_addr);  //初开始没有给bus_buff赋值,导致内核引用出现错误#else usb_buff = usb_buffer_alloc(usbdev, len, GFP_ATOMIC, &usb_dma_buff_phys_a

2013-09-19 01:21:51 2205

原创 韦东山视频实验之USB鼠标驱动

usb 设备主要涉及配置-》接口-》端点,基本上是包含关系 usb设备主要使用接口提供的配置信息,可以当做操作的逻辑设备和传输通道传输数据采用urb 如何测试1. make menuconfig去掉原来的USB鼠标驱动-> Device Drivers   -> HID Devices  2. make uImage 并使用新的内核启动3. insmod u

2013-09-18 23:46:02 1949

原创 韦东山视频之LCD驱动(Mini2440 X35)

说起这块屏幕 可真是费劲 原理图跟别人的好多不一样 时序图也是 lcd上vline 和vframe根本没有 只能通过pci和mck两个时钟进行设置还有就是不知道是uboot的原因还是友善官网提供的原理图有错 vden必须反转才能正常 先贴出自己调试好的代码#include #include #include #include #include #include #i

2013-09-16 11:49:18 4580 2

转载 dma_alloc_writecombine

先理解cache的作用CPU在访问内存时,首先判断所要访问的内容是否在Cache中,如果在,就称为“命中(hit)”,此时CPU直接从Cache中调用该内容;否则,就 称为“ 不命中”,CPU只好去内存中调用所需的子程序或指令了。CPU不但可以直接从Cache中读出内容,也可以直接往其中写入内容。由于Cache的存取速 率相当快,使得CPU的利用率大大提高,进而使整个系统的性能得以提升。

2013-09-14 23:39:09 798

原创 韦东山视频实验之触摸屏

在触摸屏实验里遇到的问题:1. 在加载模块时,就会出现采样数据 # insmod ts.ko input: s3c2440_touch_screen as /devices/virtual/input/input0init touch screen input devpen downadc_irq cnt = 0, x = 10, y = 543adc_irq cn

2013-09-14 21:15:15 1777

原创 韦东山视频实验之Input子系统分析之二

应用程序如何read?Input子系统分析之一讲过应用程序去open,那么如何read呢?搜遍input.c 也没有提供read的函数,有一个可惜不是;那read在哪里定义的呢?想到可能在evdev.c里定义的,先看下他的初始化模块仍以evdev.c (drivers/input/evdev.c)为基础进行说明:static int __init evdev_init(void

2013-09-13 21:38:30 1643

原创 韦东山视频实验之Input子系统分析之一

原理阐述:主要有驱动层,input核心层,时间处理层,应用层                 从前往后一直传送到应用层 调试问题:1. Unspecified device as /devices/virtual/input/input0在里面初始化的时候,初始name即可加入 button_dev->name = "mini2440_keys";之类的即可 2.

2013-09-11 13:48:07 4193

转载 Makefile中.PHONY的含义

本文转载自http://www.cnblogs.com/hnrainll/archive/2011/04/12/2013377.html Phony TargetsPHONY 目标并非实际的文件名:只是在显式请求时执行命令的名字。有两种理由需要使用PHONY 目标:避免和同名文件冲突,改善性能。如果编写一个规则,并不产生目标文件,则其命令在每次make 该目标时都执行。例如:

2013-08-31 10:20:52 1642

原创 ARM保存中断时,为什么使用“sub lr, lr, #4”

1.首先要谈流水线,在arm执行过程中一般分为取指,译码,执行阶段  也就是假设当前                                                                      第一条指令在执行阶段                                                              第二条指令在译码阶段

2013-08-29 09:35:20 4767

超级滚动条皮肤可自由定制,可换肤,有三态变化

超级滚动条皮肤可自由定制,可换肤,有三态变化,可以满足你替换系统自带滚动条

2014-11-08

MFC自带滚动条可替换

自由替换Windows自带滚动条,只有你想不到的,没有你做不到的

2014-11-08

pl_sql与t-sql的区别

pl_sql与t-sql的区别,看看就知道神马玩意了

2013-11-05

Mini2440 Nor Flash 芯片手册(S29AL016J_00)

Mini2440 Nor Flash 芯片手册(S29AL016J_00),这个在网上很不容易找到,而且无论国嵌还是友善都没有提供此芯片的手册,移植这个芯片其实可以有很多种,基本兼容CFI标准的,都可以驱使nor flash正常工作

2013-06-17

国嵌Mini2440课程演示代码

基本汇聚了国嵌Mini2440课程演示代码,对大家都有所帮助

2013-06-05

国嵌实验手册mini2440(Word版)

国嵌实验手册mini2440(Word版) 谁用谁知道

2013-05-30

国嵌教程(mini2440)

mini2440的教程,当然也适合其他嵌入式开发学些的,真正的国嵌教程

2013-05-10

空空如也

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

TA关注的人

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