- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 linux i2c 驱动 一点点感想,拿来与大家分享
i2c core---------------------------------------核心提供了I2C总线驱动和设备驱动的注册,注销方法,I2C通信方法(”algorithm”)上层的,与具体适配器无关的代码以及探测设备,检测设备地址的上层代码等。这部分一般是linux源码提供给我们的。我的理解是这里面包含了对i2c驱动的传输协议的封装,比如transfer()等,用户调用的话也是直接调用
2014-03-19 15:07:25 581
原创 mantis_tta_scheduler
/* * scheduler.cpp * * Created on: 17-Feb-2011 * Author: nrqm * Based on code by Jacob Schwartz * Modified on: 16 Aug 2013 * Auther: MHMC */#include "scheduler.h"#
2013-12-17 22:14:39 919
原创 内存管理,问题由来
为什么需要内存管理?我觉得最根本的问题在于多进程。如果不进行内存管理,两个程序几乎是没可能同时在内存运行的。在只有内存的物理模型且没有特殊硬件管理的情况下,一个程序的内容会被另一个程序修改,直接崩溃。 如何管理内存,才能达到多线程?1 无内存抽象: 需要特殊硬件 内存键 早期IBM,存在PSW。 缺点是重定位---》解决方法是静态重定位2 有内存抽象
2013-11-25 16:58:47 608
转载 时钟周期,机器周期,指令周期
时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟 周期为250us。由于时钟脉冲是计算机的基本工作脉冲,它控制着计算
2013-11-04 12:46:34 581
原创 对linux .so文件的思考,动态共享库存在的意义,为什么需要动态共享库的存在?
当编译一个linux上的一个可执行文件的时候,加-static选项可以编译出不依赖动态库的可执行文件,但是文件将会变得非常大。也许在一开始的时候动态共享库是并不存在的,每个程序被编译出来都是静态的,但是当许许多多可执行文件都包含了相同的库函数时,大量的空间被浪费。这样顺理成章地想到可不可以做一个动态的共享的库,在程序执行的时候动态的去动态共享库里调函数出来用,这样节省了大量的空间。也许
2013-11-04 12:44:47 642
转载 Steps to compile Android 4.0
STEP1:Install necessery tools:if you are using ubuntu,that will be quite simple,my ubuntu version is :13.04,10.04 is recomended.$ sudo apt-get install git-core gnupg flex bison gperf libsdl-dev li
2013-10-13 13:48:50 587
转载 A summery of compile android 4.0 question
-------------------------------------------------------------------------------------One-----------------------------------------------------------------------------------------------Error:fra
2013-10-13 13:17:22 1604
原创 can't download repo through curl?an available repo downaddress
http://code.google.com/p/git-repo/downloads/list,enter and download what you want.
2013-10-12 12:43:14 684
转载 install sun java 6 on ubuntu 13.04 ,problem
1. 下载 些工具,在编译之前 git-core 和 curl 是必需的$ sudo apt-get install git gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline
2013-10-12 12:39:11 1938
转载 what is socket
socket非常类似于电话插座。以一个国家级电话网为例,电话的通话双方相当于相互通信的2个进程,区号是它的网络地址;区内一个单位的交换机相当于一台主机,主机分配给每个用户的局内号码相当于socket号。任何用户在通话之前,首先要占有一部电话机,相当于申请一个socket;同时要知道对方的号码,相当于对方有一个固定的socket。然后向对方拨号呼叫,相当于发出连接请求(假如对方不在同一区内,还要拨对
2013-10-11 09:19:31 619
原创 c语言实现 排序二叉树(码了小半天,中午吃了个火锅,晚上骑了趟太湖,居然一次调通了= =)
#include#includetypedef struct node{struct node *parent;struct node *left_child;struct node *right_child;int data;}NODE;//节点结构体,也是一片树叶NODE *result;//全局变量,用于查找树中的某个数据时保存此节点NODE *m
2013-10-01 22:44:44 881
原创 c语言 链表实现堆栈
#include#include#include#define DATA_SIZE 20struct node{ char *data; struct node *next;};typedef struct node STACK;STACK *top;void stack_init(STACK *new_stack){new_stack
2013-09-29 17:44:19 1143
原创 linux文件操作open close read write lseek
#include#include#include#include#include#define BUFFER_SIZE 1024int main(void){ int fd,write_size; char buffer[BUFFER_SIZE]="hello world"; if((fd = open("text.txt",O_CREAT
2013-09-29 17:39:05 793
原创 c库 文件操作----fopen fread fwrite fseek fclose
#includeint main(void){ FILE *fp; char *buffer="abc"; char *read_Buffer; if((fp = fopen("abc.txt","w+"))==NULL) { printf("can't open abc.txt\n"); exit(
2013-09-28 10:55:24 1230
原创 c库文件操作——fputc(),fgetc()
#includeint main(void){ FILE *fp; char c; int i=0; if((fp = fopen("abc.txt","a+"))==NULL) { printf("open abc.txt failed") ; exit (0); } printf
2013-09-28 10:53:41 690
原创 c代码反汇编,观察堆栈工作原理
第一题:设计一个函数参数大于4个,观察参数如何传递Test1.cint adder(int plus_1,int plus_2,int plus_3,int plus_4,int plus_5){ int result;result=plus_1+plus_2+plus_3+plus_4+plus_5;return result;}int main(int ar
2013-09-27 18:53:48 1368
原创 指向函数的指针和返回指针的函数
#include"stdio.h"char *p=NULL;int main(void){void *huode(void);void max(void);void process(void (*p)(void));p=malloc(20);printf("请输入函数名");scanf("%s",p);if(!(strcmp(p,"m
2013-09-27 16:55:47 563
转载 CISC与RISC的区别
从CPU发明到现在,有非常多种架构,从我们熟悉的X86,ARM,到不太熟悉的MIPS,IA64,它们之间的差距都非常大。但是如果从最基本的逻辑角度来分类的话,它们可以被分为两大类,即所谓的“复杂指令集”与“精简指令集”系统,也就是经常看到的“CISC”与“RISC”。属于这两种类中的各种架构之间最大的区别,在于它们的设计者考虑问题方式的不同。我们可以继续举个例子,比如说我们要命令一个人吃饭,那么我
2013-09-27 16:50:46 1330
原创 EVB6200 UBOOT注释+分析(主要是CPLL MPLL DPLL )
/* * unicoreboot - Startup Code for UNICORE-II CPU-core * * Copyright (c) 2009 Tony Hook suyonggang@pkunity.com> * * See file CREDITS for list of people who contributed to this * project
2013-09-27 16:43:08 1394
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人