自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿发的博客

——————Welcome to my blog!——————

  • 博客(78)
  • 资源 (12)
  • 收藏
  • 关注

原创 关于hello world驱动的解析

<br />obj-m+=hello.o<br />all:<br />        make -C /opt/EmbedSky/linux-2.6.30.4 M=$(pwd) modules<br />clean:<br />        make -C /opt/EmbedSky/linux-2.6.30.4 M=$(pwd) clean<br /> <br /> <br />--------------------------------------------------------------

2011-05-09 15:40:00 759

原创 送给IT工程师实用的东西

<br />    一般来说我们做IT的文采都欠佳,特别是不太会赞美女孩子,所以女人缘都不是太好。见天在网上看到这些华丽的词汇觉得应该有用,就发上来给大家分享。愿我们IT一族都能早日修成正果。。。。<br /> <br />天生丽质 慧质兰心 秀外慧中 暗香盈袖 闭月羞花 沉鱼落雁 倾国倾城 温婉娴淑 千娇百媚 仪态万千 美艳绝世 国色天香 花容月貌 明目皓齿 淡扫峨眉 清艳脱 俗香肌玉肤 清丽绝俗 仪态万端 婉风流转 美撼凡尘 聘婷秀雅 娥娜翩跹 俏丽多姿 如花似月 风姿卓越 顾盼流转 清丝纠缠 举步轻摇

2011-03-11 09:00:00 995

原创 S3C2440的存储器管理

以前不知道S3C2440的每个BANK都要设置位宽,也不知道为什么要设置,今天弄懂了。在使用BANK之前要设置每个BANK所接的外设时多少位的?由BWSCON寄存器设置,默认情况为8位。由于BANK0位启动区,所以有硬件指示,通过读OM[1:0]引脚来设置。 当宽度为8位的时候,"Memory Controller"硬件是这样做的:(不错位连接)(1)CPU想进行8位操作时,直接根据软件所给出的地址读取8位数据返回给CPU。(2)CPU想进行16位操作时,进行两次8位的操作,并组成一个16位的数据返回给CP

2011-03-04 17:42:00 1390

原创 路由器、二层/三层交换机、集线器的详细工作原理

<br />层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。具体的工作流程如下: <br />(1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的; <br />(2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端口; <br />(3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;

2011-02-22 09:13:00 1820

转载 C语言测试是招聘嵌入式系统程序员

C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。<br />        从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答出某个字符的ASCII值。这些问题着重考察你的系统调用和内存分配策略方面的能力吗?这标志着出题者也许花时间在微机

2011-02-22 09:11:00 1041

转载 嵌入式工程师笔试题目汇总

C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。<br />        从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答出某个字符的ASCII值。这些问题着重考察你的系统调用和内存分配策略方面的能力吗?这标志着出题者也许花时间在微机

2011-01-14 13:18:00 1695

转载 create_mapping如何创建内存映射表

1 ARM920T的MMU工作原理<br />下图显示了MMU地址转化关系<br /><br />一级表项的地址(pmd) = ( (TLB) & (0xFFFFC000) ) + ( (Table Index)<<2 );<br />注1:TLB(Translate table base),即转换表基地址<br />注2:由于每个表项占32位(4Bytes),因此(Table Index)<<2 <br />一级表项的内容(*pmd) = ( (pte) & (0xFFFFFC00) ) + prot_l

2011-01-13 19:39:00 2700 1

转载 Linux如何映射物理内存到内核空间

在setup_arch()中: 1. parse_cmdline(): 根据uboot传递的mem信息,调用early_mem()通过arm_add_memory()把物理内存信息添加到meminfo结构体中。 2. paging_init(): 这个就是关键的初始化页表的函数,在里面会调用bootmem_init()->bootmem_init_node()->map_memory_bank(),在这里会根据meminfo的信息调用create_mapping()来为物理内存建立内核空间的映射,一般是从0

2011-01-13 19:22:00 2364

转载 基于S3C2410-ARM-Linux静态映射分析

在华清远见上课过程中,发现静态映射方面初学者比较难于掌握和理解,下面分析一下静态映射机制的原理并通过GPIO和USB、LCD等的静态映射作为例子来说明如何通过这种静态映射的方式访问外设资源。  内核提供了一个重要的结构体struct machine_desc ,这个结构体在内核移植中起到相当重要的作用,内核通过machine_desc结构体来控制系统体系架构相关部分的初始化。machine_desc结构体的成员包含了体系架构相关部分的几个最重要的初始化函数,包括map_io,init_irq, in

2011-01-13 19:08:00 1102

原创 U-boot 传递 RAM 和 Linux kernel 读取 RAM 参数

<br />U-boot 会给 Linux Kernel 传递很多参数,如:串口, RAM , videofb 等。而 Linux kernel 也会读取和处理这些参数。两者之间通过 struct tag 来传递参数。 U-boot 把要传递给 kernel 的东西保存在 struct tag 数据结构中,启动 kernel 时,把这个结构体的物理地址传给 kernel ; Linux kernel 通过这个地址,用 parse_tags 分析出传递过来的参数。 <br />本文主要以 U-boot 传递

2011-01-13 19:02:00 1388

转载 Linux中的物理和虚拟存储空间布局

<br />在支持MMU的32位处理器平台上,Linux系统中的物理存储空间和虚拟存储空间的地址范围分别都是从0x00000000到0xFFFFFFFF,共4GB,但物理存储空间与虚拟存储空间布局完全不同。Linux运行在虚拟存储空间,并负责把系统中实际存在的远小于4GB的物理内存根据不同需求映射到整个4GB的虚拟存储空间中。n物理存储空间布局<br />Linux的物理存储空间布局与处理器相关,详细情况可以从处理器用户手册的存储空间分布表(memory map)相关章节中查到,我们这里只列出嵌入式处理器平

2011-01-13 18:55:00 1200

原创 U_BOOT_CMD命令的实现

在UBOOT当中,各个命令是通过U_BOOT_CMD这个宏来定义出来的,其本质其实理解起来也很简单,不过今天也从中学到了一点东西先来看UBOOT当中关于U_BOOT_CMD这个宏的定义:/* 这是定义一个结构的属性,将其放在.u_boot_cmd这个段当中,相当于.data/.bss这些段 */#define Struct_Section  __attribute__ ((unused,section (".u_boot_cmd"))) /* 宏定义,用于定义一个命令 */#define U_BOOT_CM

2011-01-13 14:50:00 5865 2

转载 关于嵌入式系统的启动

嵌入式Linux启动分为两个部分,系统引导与Linux启动。系统引导将完成Linux装入内存前,初始化CPU和相关IO设备,并将Linux调入内存的工作。系统引导主要由BootLoader实现。在BootLoader将Linux内核调入内存之后,将权力交给LinuxKernel,进入Linux的启动部分。以下详细分析启动的过程与使用的文件。<br /><br />一、系统引导与BootLoader<br />        BootLoader因嵌入式系统的不同与PC机有很大不同,这里将以Hyper250(

2011-01-12 12:22:00 693

转载 MACHINE_START宏

MACHINE_START宏 linux2.6.18内核,在Mach-s3c2410.c文件中,有如下的宏定义: <br />MACHINE_START(SMDK2410,"SMDK2410")/* @TODO: request a new identifier and switch to SMDK2410 */<br /> /* Maintainer: Jonas Dietsche */<br /> .phys_io = S3C2410_PA_UART,<br /> .io_pg_offst =(((u3

2011-01-12 12:20:00 882

转载 Linux内核访问外设I/O资源的方式

<br />我们知道默认外设I/O资源是不在Linux内核空间中的(如sram或硬件接口寄存器等),若需要访问该外设I/O资源,必须先将其地址映射到内核空间中来,然后才能在内核空间中访问它。<br /> <br />Linux内核访问外设I/O内存资源的方式有两种:动态映射(ioremap)和静态映射(map_desc)。<br /> <br />一、动态映射(ioremap)方式<br /> <br />动态映射方式是大家使用了比较多的,也比较简单。即直接通过内核提供的ioremap函数动态创建一段外设I

2011-01-12 11:11:00 968

原创 Linux 下 stdin stdout stderr 的由来

<br />现在就从linux kernel的源代码的角度来分析该。<br />二:fork()与execve()中stderr,stdio.stdout的继承关系 <br />其实用继承这个词好像不太准确,要准确一点,可能复制更适合. <br />首先有二点: <br />1:父进程fork出子进程后,是共享所有文件描述符的(实际上也包括socket) <br />2:进程在execve后,除了用O_CLOEXEC标志打开的文件外,其它的文件描述符都是会复制到下个执行序列(注意这里不会产生一个新进程,只是

2011-01-09 17:31:00 2500

原创 Beautiful English Sentences

<br />记住该记住的,忘记该忘记的。改变能改变的,接受不能改变的<br />Remember what should be remembered, and forget what should be forgotten.Alter what is changeable, and accept what is mutable. <br /><br />能冲刷一切的除了眼泪,就是时间,以时间来推移感情,时间越长,冲突越淡,仿佛不断稀释的茶<br />Apart from tears, only time c

2011-01-05 21:42:00 3106 2

原创 linux虚拟地址与物理地址的关系

<br />以前花了很长时间才弄懂的东西,今天看到一本书上面一幅图就搞定了。哎,还是应该踩在前人的肩膀上容易点。自己重新画了一遍。

2011-01-05 20:19:00 1282

原创 linux内核进程切换代码分析

<br /><br />#define switch_to(prev,next,last) do{<br />       asm volatile {"pushl %%esi/n/t"<br />                         "pushl %%edi/n/t"<br /> <br />                         "movl %%esp,%0/n/t"<br />                         "movl %3,%%esp/n/t"<br />  

2011-01-05 09:43:00 2430 1

转载 linux内核学习笔记-struct vm_area_struct

<br />Linux内核中,关于虚存管理的最基本的管理单元应该是struct vm_area_struct了,它描述的是一段连续的、具有相同访问属性的虚存空间,该虚存空间的大小为物理内存页面的整数倍。 <br />  下面是struct vm_area_struct结构体的定义:QUOTE:/*<br />* This struct defines a memory VMM memory area. There is color: black; background-color: #a0ffff;">vm

2011-01-04 09:43:00 10146

转载 Linux中IS_ERR()函数的理解

<br />转自http://jimmy-lee.blog.hexun.com/6075934_d.html<br />和http://blog.chinaunix.net/u3/97568/showart_1978276.html两位的博客。谢两位分享。<br />在Linux源码中的fs部分,经常会碰到这样的函数(位于kernel/include/linux/fs.h):<br />/*<br /> * Kernel pointers have redundant information, so we

2010-12-06 20:24:00 12867

转载 [转]死锁产生的必要条件与解决死锁的几种办法

死锁产生的必要条件与解决死锁的几种办法<br /> 产生死锁的四个必要条件: <br />(1) 互斥条件:一个资源每次只能被一个进程使用。<br />(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。<br />(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。<br />(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。<br /> <br />这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会

2010-10-18 09:28:00 750

转载 内联函数

<br />1.内联相对于宏的优点<br /><br />2.为什么“inline”只是程序员对编译器的建议(而非强制命令)<br /><br />在C、C++中函数调用需要少量开销。有时候这少量开销积少成多,对程序性能造成影响。有时候函数本身很简单,函数调用的开销比执行函数内容本身的开销还大。C程序员一定知道可以采用宏(Macro)机制来改善上述情况。但是宏基本上是在预编译阶段做文本替换,因此它有以下缺陷:<br /><br />1.它无法进行类型检查;<br /><br />2.传入有副作用(side

2010-08-26 10:34:00 605

转载 70后 80后 90后

<br />1. 70后:工作狂基本上都是70后的.   <br />     <br />  80后:而我们,拒绝加班!   <br />     <br />  90后:拒绝上班!   <br />    <br />     <br />2. 70后: 买家电去国美苏宁。   <br />     <br />  80后:买家电去品牌家电网。   <br />     <br />  90后:从不买家电...   <br />     <br />3. 70后:他们唱k的时候只会乱吼——例如2002年

2010-08-25 12:32:00 657

转载 与一线Linux嵌入式开发工程师的对话

  陈工程师一直做Linux的嵌入式开发,作为在开发一线的工程师,他对很多问题的看法可能更切合实际需求,于是,通过邮件,就嵌入式开发方面的问题,请他谈了一下自己的看法: 问:关于嵌入式开发,我们准备给同学们讲解一些入门知识,从你一线开发经验来说,给我们一些建议: 陈工回答: 对于嵌入式Linux入门,如果有一定基础,可以从驱动开始;如果没有基础,我个人建议还是从应用程序开始。因为从应用程序开始是最容易的,也是最直观的。而驱动程序运行在内核态,驱

2010-08-24 16:05:00 656

转载 编译与头文件

C语言中的.c和.h文件2009-06-29 09:30简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:<br />1.预处理阶段 <br />2.词法与语法分析阶段 <br />3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件 (.obj文件)<br />4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用objcopy生成纯二进制码,也

2010-08-23 15:18:00 2350 2

原创 函数指针和指针函数

<br />【函数指针】<br /><br />       在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。<br />1.函数指针定义<br />函数类型 (*指针变量名)(形参列表);<br />“函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以指针变量名外的括号必不可少,后面的“形参列表”表示指针变量指向的函数所带的参数列表。

2010-08-23 15:17:00 508

原创 关于变压器的疑问

变压器中,因为原线圈的功率跟副线圈的功率相等,匝数比恒定,电压恒定,原线圈电流会随副线圈的电流改变而改变,那么,从另一角度说,原线圈中的电阻没变,电压没变,电流怎会变了呢? 为什么电阻没变,电压没变,电流却变了呢?<br />这是因为变压器不是一个纯电阻电路,它主要是一个感抗电路,<br />电阻+电感抗=阻抗<br />电流=电压/阻抗<br />副线圈的电流改变,改变了原线圈中的感抗,所以电阻没变,电压没变,电流变化了.<br /><br />附:变压器的原理<br /><br />  当一个正弦交流电

2010-08-23 15:16:00 936

原创 关于从NAND FLASH启动

今天将NAND 全部FORMAT以后,重新用NOR中的UBOOT向NAND中烧写UBOOT,按道理应该是和NOR 中的UBOOT界面一样才对。烧写进去以后发现根本不是,一直提示如下信息:##### EmbedSky BIOS for SKY2440/TQ2440 #####<br />Press Space key to Download Mode !<br />Booting Linux ...<br />Copy linux kernel from 0x00200000 to 0x30008000, s

2010-08-23 15:15:00 2532

原创 买了个开发板

<br />把使用说明书里面的测试实验都跑了一遍,觉得真是帅呆了。580块钱花的太值了。前几个星期,跟着视频在自己电脑上装了一个虚拟机,安装了UBUNTU10.4。觉得还挺好玩的,可以和主机FTP,可以上网可以用命令做完成WINDOWS下的操作。。。。 下午,偶然发现超级终端里面居然也可以和LINUX一样输命令,而且基本上我以前所用到的命令这里都可以用。于是,按照说明书上的指导做。慢慢的发现我的板子也可以上网,就想设置虚拟机一样,将网线插到交换机,设置IP和网关,就可以上校园网了。~~~不可思议啊,简直就是

2010-08-23 15:14:00 1077

转载 linux ip设置

<br />在网上查找了配置linux配置IP的方法,简单的有下面两种:<br />最常用的给网卡配置ip的命令为<br />#ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up<br />说明:<br />eth0是第一个网卡,其他依次为eth1,eth*<br />192.168.0.1是给网卡配置的第一个网卡配置的ip地址<br />netmask 255.255.255.0 配置的是子网掩码<br />up是表示立即激活<br /><br /> if

2010-08-23 15:12:00 491

转载 vim多文件编辑

总想写点东西,以证明自己的存在给将来。 1 screen<br />a 通过ports安装screen<br />b $screen<br />c $vi file1.c<br />d CTRL+a c (表示同时按住CTRL和a,松开后再单击c,以下同)新建一个窗口<br />e $vi file2.c<br />f 光标移动到起始点<br />g CTRL+a [进入copy模式<br />h 单击空格标志起始点<br />i 通过hjkl选择范围<br />j 单击空格标志结束点<br />k CTR

2010-08-23 15:11:00 1286

转载 Linux下GCC编程四个过程

在Linux下进行C语言编程,必然要采用GNU GCC来编译C源代码生成可执行程序。一、GCC快速入门Gcc指令的一般格式为:Gcc [选项] 要编译的文件 [选项] [目标文件]其中,目标文件可缺省,Gcc默认生成可执行的文件名为:编译文件.out我们来看一下经典入门程序"Hello World!"# vi hello.c #include #include void main(void){printf("hello world!/r/n"

2010-08-23 15:09:00 445

转载 嵌入式linux启动信息完全注释

<br />我们在这里讨论的是对嵌入式linux系统的启动过程的输出信息的注释,通过我们的讨论,大家会对嵌入式linux启动过程中出现的、以前感觉熟悉的、但却又似是而非的东西有一个确切的了解,并且能了解到这些输出信息的来龙去脉。<br />嵌入式linux的启动信息是一个很值得我们去好好研究的东西,它能将一幅缩影图呈现在我们面前,来指导我们更加深入地理解linux内核。<br />关键字:linux,嵌入式,启动,bootloader<br />正文<br />作为一名嵌入系统开发者,你一定遇到过下面的情景

2010-08-23 15:08:00 630

转载 嵌入式系统学习步骤

1、Linux 基础<br />安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器<br />2、Shell 编程基础<br />Shell简介 认识后台程序Bash编程熟悉Linux系统

2010-08-23 15:07:00 412

转载 vi编辑器

<br />vi 编辑器<br />一、Unix编辑器概述<br />编辑器是使用计算机的重要工具之一,在各种操作系统中,编辑器都是必不可少的部件。Unix及其相似的ix<br />操作系统系列中,为方便各种用户在各个不同的环境中使用,提供了一系列的ex编辑器,包括 ex, edit,ed 和<br />vi.其中ex,edit,ed都是行编辑器,现在已很少有人使用,Unix提供他们的原因是考虑到满足各种用户特别<br />是某些终端用户的需要。<br />值得庆幸的是,Unix提供了全屏幕的Vi编辑器,这

2010-08-23 15:06:00 421

转载 关于C/C++语言中头文件的使用的一些看法

一、  只有一个文件的情况先来看一下比较简单的情形,也就是只有一个文件的时候,一个程序是什么样子的。//main.c#include int main(int argc, char** args){    printf("Hello/n") ;    return 0 ;}这个时候程序一目了然,我们很容易就可以看出它说了什么。二、  多个源代码文件的情况但是,随着我们要编写的程序的规模不断扩大,我们不得不把一个源代码文件拆分开,把具有一定功能的某些方法放到其它单独的源码文件中。比如像下面这样://main.

2010-08-23 15:03:00 671

转载 Vim 命令

<br />Vim 中的内部命令与 vi 编辑器中的内部命令类似。表 1 提供了 Vim 中的光标移动命令。<br />表 1. 用于移动光标的 Vim 命令<br />命令动作h将光标向左移动j、加号 (+)、Enter 或 Return将光标向下移动k、减号 (-)将光标向上移动l将光标向右移动}将光标移动到当前段落的末尾{将光标移动到当前段落的开头)将光标移动到当前句子的末尾(将光标移动到当前句子的开头^移动到当前行的第一个非空字符$移动到当前行末尾0 (zero)移动到当前行开头w or W移动到下

2010-08-23 15:01:00 1187

转载 vim取全的快捷键

<br />光标控制命令<br />  命令 光标移动<br />  h或^h 向左移一个字符<br />  j或^j或^n 向下移一行<br />  k或^p 向上移一行<br />  l或空格 向右移一个字符<br />  G 移到文件的最后一行<br />  nG 移到文件的第n行<br />  w 移到下一个字的开头<br />  W 移到下一个字的开头,忽略标点符号<br />  b 移到前一个字的开头<br />  B 移到前一个字的开头,忽略标点符号<br />  L 移到屏幕的最后一行<br

2010-08-23 15:00:00 569

转载 vim 实用的东西

本文的目标不是一个VI编辑器的教材。它只是个人在使用VI编程的过程中,对自认为比较有用的一些编辑功能及其它功能的一些整理。<br /><br />一、基本编辑功能<br />    1、复制、剪切和粘贴<br />    复制特定的某一段:把光标移到要复制的文本的头部,按下“v”,往后移动光标,光标所过之处的字符>都会高亮,移到欲复制文本的尾部后,按下“y”,高亮文本全部被复制到剪粘板。<br />    复制某一行:把光标移到要复制的那一行,按下“yy”,该行就被复制到剪粘板。<br />    剪切特定

2010-08-23 15:00:00 584

Domino自动停机FTP备份

由于domino数据不能在线备份,在一位大神的xcopy版本基础上修改成FTP版本。此脚本可以自动停止服务,然后通过FTP推送方式备份data目录,然后自动启动服务,全程不需要人工干预,可以加到定时任务启动。

2018-02-09

外网访问局域网内主机的实现方法

外网访问局域网内主机的实现方法,从原理到实践操作,很详细的教材。

2011-03-01

刚Windows xp读出来的MBR代码详细分析

花了两天时间,查了上百篇资料,终于彻底地完成了从我电脑里读出来的MBR的代码注释,接下来准备分析DBR代码。

2010-07-15

C++ template教程 中文版和英文版

中文版是PDF格式,稍显模糊。英文版是CHM格式

2009-12-23

UC/OS-GUI完整中文手册

以前觉得US/0S 没有什么用 做显示好麻烦,原来还有一种叫做UC/OS-GUI的东西,这样做显示就方便了。

2009-11-26

整套的8086汇编工具

我自己收集的,但是自己到处找,找的很辛苦现在全部一起传上来。包括MASM、LINK、DEBUG、TD、EDIT、ELINK等等。。。学习汇编语言的朋友不用再到处找了~~

2009-07-21

Linux完整教程(入门教程,系统、完整、简洁)

我学LINUX就是通过这个教程入门的,讲的很清楚,比自己看看书节约了很多时间....

2009-01-02

stc89c51rd-rc+

适合所有的STC单片机,详细的中文资料.看了就会用了!这是他们公司自己做的DATASHEET不是翻译过来的.

2008-11-12

液晶SMC1602A 中文资料资料

提供MC1602A的功能及用途,中文版的!

2008-03-14

空空如也

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

TA关注的人

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