自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

NUAA嵌入式专栏

欢迎嵌入式交流者多多留言交流

  • 博客(38)
  • 资源 (6)
  • 收藏
  • 关注

原创 IAR安装与破解WIN7版本

1.获取主机ID。2.用文本编辑器打开注册机提供的一个批处理文件,将里面的ID改为自己电脑的ID。3.保存,运行这个批处理文件,就会生成一个记事本,里面就是注册码和钥匙。    我就是这么做的,不过试了n多遍都没成功,总提示注册码和钥匙与主机ID不匹配。而这个软件

2011-10-08 19:41:06 1922 2

原创 Linux多线程简单聊天程序

功能描述:程序应用多线程技术,可是实现1对N进行网络通信聊天。但至今没想出合适的退出机制,除了用Ctr+C。出于演示目的,这里采用UNIX域协议(文件系统套接字),程序分为客户端和服务端。应用select函数来实现异步的读写操作。     先说一下服务端:首先先创建套接字,然

2011-10-04 20:11:57 3352 5

原创 实验程序1

#include#include#include#include#include#include#include #include #include #include #include #include#include#incl

2011-10-04 20:09:25 541

原创 消费者与生产者线程同步程序

/*producer-customer.c*/#include#include#include#include#include#include#include#include#define MYFIFO  "/tmp/myfifo" //缓冲区

2011-10-03 18:31:25 679

原创 线程信号量同步

/*thread_sem.c*/#include#include#include#include#define THREAD_NUMBER 3#define REPEAT_NUMBER 3#define DELAY_TIME_LEVELS 10.0

2011-10-03 12:29:47 457

原创 线程互斥锁控制开发

/*thread_mutex.c*//*由于线程共享进程的资源和地址空间,因此在对这些资源进行操作的时候,必须考虑到线程间资源访问的同步与互斥问题,POSIX中两种线程同步机制,分别为互斥锁和信号量,互斥锁更适合用于同时可用的资源是唯一的情况,信号量适合用于可用资源为

2011-10-03 10:04:27 338

原创 线程互斥锁

/*thread_mutex.c*/#include#include#include#define THREAD_NUMBER     3            //线程数#define       REPEAT_NUMBER 3            //每

2011-09-03 16:10:23 332

原创 线程同步

用信号量进行同步:信号量一般常用于保护一段代码,使其每次只能被一个线程执行,要完成这个工作,就要使用二进制信号量。信号量函数的名字都以sem_开头,线程中使用的信号量函数有四个信号量通过sem_init函数创建#includeInt sem_init(sem_

2011-09-03 10:48:56 318

原创 线程等待

/*线程等待*//*thread_join.c*//*代码分析:进程在创建线程后各自独立运行,pthread_join系统调用会使进程阻塞等待线程的退出*/#include#include#includevoid *thread(void *str){

2011-09-02 19:42:53 495

原创 线程函数传递结构体

/*thread_struct.c编写应用程序,创建一线程,并向该线程处理函数传递以结构体*/#include#include#include#includestruct member{ int a; char *s;};/*线程执行函数*

2011-09-02 19:26:10 3269

原创 select_tcp

/*select_tcp.c*/#include#include#include#include#include#include#include#include#include#include#define portnumber   3

2011-09-01 16:12:16 821

原创 tcp网络客户端程序

/*tcp_client.c*/#include#include#include#include#include#include#include#include#define portnumber 3333int main(int argc

2011-08-31 20:55:00 389

原创 tcp网络服务器程序

/*tcp_server.c*/#include#include#include#include#include#include#include#include#define portnumber 3333int main(){ i

2011-08-31 20:54:16 457

原创 多客户网络程序

/*multisevertcp.c*/#include#include#include#include#include#include#include#include#include#define portnumber 3333int

2011-08-31 20:52:25 377

原创 select

Select函数对数据结构fd_set进行操作,它是由打开的文件描述符构成的集合。有一组定义好的宏可以来控制这些集合#include#includeVoid FD_ZERO(fd_set *fdset);Void FD_CLR(int fd,fd_set *fds

2011-08-31 17:48:44 456

原创 win7系统下使用telnet登陆到虚拟机中的linux系统

一、首先配置win7系统开启telnet服务控制面板--程序--打开和关闭windows功能勾上telnet服务二、linux系统配置(本人用的是linux enterprises 5)使用命令rpm -qa telnet查看是否安装telnet。(一般这个都是安装的

2011-08-26 16:23:28 3071 1

原创 linux网络编程

上述图说明一切

2011-08-26 15:23:00 435

原创 进程间通信--共享内存

共享内存是被多个进程共享的一部分物理内存。共享内存是进程间共享数据的一种最快的方式,一个进程向共享内存区域写入数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。共享内存实现分两个步骤:创建共享内存,使用shmget函数映射共享内存,使用shmat函数共享内

2011-08-25 16:23:28 547

原创 进程间通信--信号

/*kill_raise.c*/#include#include#include#include#includeint main(){ pid_t pid; int ret; /*创建一子进程*/ if((pid=fork()) {

2011-08-25 09:28:37 317

原创 进程间通信--管道

进程间通讯方式:(1)管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。(2)信号(Signal):信号是在软件层次上对中断机制的一种模拟,它是比较复杂的通信方式,用

2011-08-25 09:25:57 290

原创 多进程一例子

/*multi_proc.c*/#include#include#include#include#includeint main(){ pid_t child1,child2,child; /*创建两个子进程*/ child1=fork()

2011-08-23 09:41:55 467

原创 ioctl驱动实现

#include #include #include #include #include #include #include #include #include #include #include #include "memdev.h"

2011-08-22 21:19:48 558

原创 waitpid

/*waitpid.c*/#include#include#include#include#includeint main(){ pid_t pc,pr; pc=fork(); if(pc {  printf("error fork

2011-08-22 11:18:33 338

原创 exec函数族

使用exec函数族主要有两种情况·  当进程认为自己不能再为系统和用户做出任何贡献时,就可以调用exec函数族中的任意一个函数让自己重生; ·  如果一个进程想执行另一个程序,那么它就可以调用fork()函数新建一个进程,然后调用exec函数族中的任意一个函数,这样看起来

2011-08-22 10:30:28 402

原创 进程基本概念

一、     进程的定义程序的一次执行过程,同时也是资源分配的最小单元,它与程序有着本质的区别,程序是静态的,它是一些保存在磁盘上的指令有序集,没有任何的执行概念,而进程是动态的概念,它是程序执行的过程,包括了动态创建,调度和消亡的整个过程,对系统而言,当用户执行一个程序的时

2011-08-21 15:21:23 433

原创 字符驱动设计文档

在linux2.6内核中,使用cdev结构体描述一个字符设备Linux用户程序通过设备文件(设备节点)来使驱动操作字符设备。设备文件在啊?字符设备通过字符设备文件来存取。字符设备文件通过主设备号与驱动建立联系。二、创建设备文件1、使用mknod命令手工创建2、

2011-08-19 16:12:00 516

原创 嵌入式linux串口通信自发自收测试程序

/*串口自收自发程序主函数*/#include"uart_api.h"int main(){ int fd; char buff[BUFFER_SIZE]; char buff2[]="Hello NUAA2440!\n"; int nread,nwr

2011-08-15 20:46:27 5443 1

原创 嵌入式linux串口编程(二)

/*com_writer.c*/#include "uart_api.h"int main(void){ int fd; char buff[BUFFER_SIZE]; if((fd=open_port(HOST_COM_PORT)) {  per

2011-08-14 18:26:43 2529

原创 嵌入式linux串口设置(一)

在linux中,所有的设备文件一般都位于“/dev”下,串口1和串口2对应的设备名依次为“/dev/ttyS0”, “/dev/ttyS1”,而且USB转串口的设备名通常为“/dev/ttyUSB0”,在linux下对设备的操作方法与对文件的操作方法一样。串口开发步骤:串

2011-08-13 10:55:09 2653

原创 struct成员对齐问题

/*struct的成员对齐*/#include   #pragma pack(8)  struct example1  { short a;  long b;  };  struct example2  {   char c;   ex

2011-08-12 20:49:01 508

原创 IO多路复用

Select函数使我们可以执行I/O多路转接,传向select的参数告诉内核:1、我们所关心的描述法2、对于每个描述符我们关心的状态3、愿意等待的时间4、已准备好的描述符的数量5、对于读写或异常三个状态中的哪一个已准备好函数原型:Int select(

2011-08-12 17:33:22 466

原创 简单内核模块

#include #include  MODULE_LICENSE("GPL");MODULE_AUTHOR("WHY");MODULE_DESCRIPTION("Hello world module"); static int __init hell

2011-08-12 11:10:25 295

原创 Uboot启动流程

开发板上电后,执行U-Boot的第一条指令,然后顺序执行U-Boot启动函数。看一下board/smdk2410/u-boot.lds这个链接脚本,可以知道目标程序的各部分链接顺序。第一个要链接的是cpu/arm920t/start.o,那么U-Boot的入口指令一定位于这个程序

2011-08-11 22:45:28 634

原创 简单的一个字符设备驱动

#include #include #include #include #include #include #include #include #include #include #include #include /*包含内存管理两个

2011-08-11 22:39:13 404

原创 记录锁

/*write_lock.c*//***首先给flock结构体的对应位赋值,两次调用fcntl()函数,分别用于判断是否可以上锁,和给相关文件上锁。*//*lock_set.c*/#include#include#include#include

2011-08-11 22:01:28 302

原创 copy

/***函数基本功能是从一个文件中读取最后10KB数据并复制到另一个文件中*/#include#include#include#include#include#include#define BUFFER_SIZE 1024   /*每次读写缓冲

2011-08-11 17:41:22 858

原创 uboot移植(二)

二、修改NorFlash驱动支持现在检测到的Flash容量是512kB的,因为uboot默认的NorFlash配置是AM29LV400,nuaa2440上使用的NorFlash型号为S29AL016J(容量2M),我们需要修改成2M NorFlash的配置注意:以下仅仅是

2011-08-06 22:00:57 785

原创 嵌入式学习之uboot移植

uboot版本:uboot2010.03硬件平台:NUAA2440开发板主机编译环境:linux --- enterprise5交叉编译器:arm-linux-gcc 4.1.2 支持EABI 一、基础移植,增加对S3C2440平台的支持修改主目录下的Ma

2011-08-04 10:55:33 752

LabVIEW 8.20程序设计从入门到精通

LabVIEW 8.20程序设计从入门到精通课件

2010-06-02

清华版labview教程

清华版labview教程,非常实用的labview教程,省去了买书的钱,上面介绍的非常详细,可以作为入门和提升用。

2010-05-28

word转pdf完美转换软件

word转pdf完美转换软件,永久免费,非常好用,特别适合在word里的文件转pdf格式的文件

2010-05-27

当前所有的传感器汇总ppt

当前所有的传感器汇总ppt,介绍原理及实用方法

2010-05-27

当前所有的传感器汇总ppt

收集了许多时下实用的传感器,介绍其工作原理,实用方法!

2010-05-27

74HC595的中文版资料

74HC595好的芯片中文资料,对编程很好帮助,特别是针对周立功那ARM开发板的一个芯片资料

2010-05-18

空空如也

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

TA关注的人

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