自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

努力飞翔

嵌入式小小鸟的博客

  • 博客(13)
  • 资源 (19)
  • 收藏
  • 关注

原创 linux 编程---信号

信号处理函数不能调用malloc,printf等不可重入函数

2017-07-17 11:18:44 170

转载 程序中使用虚拟地址的好处

1. 读写内存的安全性物理内存本身是不限制访问的,任何地址都可以读写,而操作系统要求不同的页面具有不同的访问权限,这是利用CPU模式和MMU的内存保护机制实现的。例如,Text Segment被只读保护起来,防止被错误的指令意外改写,内核地址空间也被保护起来,防止在用户模式下执行错误的指令意外改写内核数据。这样,执行错误指令或恶意代码的破坏能力受到了限制,顶多使当前进程因段

2013-12-25 20:29:57 1673 1

转载 typedef 函数指针

“函数指针”的本质是一个指针变量,只不过该指针变量指向函数。1:简单应用形式1:返回类型(*函数名)(参数表)[html] view plaincopyprint?#include stdio.h>    char* (*test)(char *);//定义一个函数指针,使用之前对其赋值  char* fun(char *ch)//定义一个普通函数  {

2012-11-03 12:21:20 331

转载 C语言的那些秘密之---函数返回局部变量

一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意

2012-11-03 12:20:17 283

原创 C局部变量返回值

1、char *fun(void){ char *str = "111"; return str;}int main(void){ char *p = fun(); printf("%s\n",p);}2、char *fun(void){ char str[] = "111"; return str;}int main(void){ char *p = fun(

2012-10-17 22:47:26 427

原创 DM9000 uboot驱动分析

今天看了一下DM9000,下面对其工作原理及驱动程序进行分析。DM9000是一款简单的网卡芯片,内部实现MAC && PHY,阅读芯片手册和原理图应该明白DM9000的寄存器基址,基本寄存器的功能。在2440中不同的片选有不同的地址空间(不明白的搜ngcs),加上DM9000内部的0x300便宜就形成了DM9000的寄存器地址。几个要点:1、DM9000寄存器访问。以DM9

2012-10-13 23:44:15 672

转载 从串口驱动分析Platform驱动模型

在Linux-2.6 16c550 串口驱动移植一文中的static struct platform_device sc16550_device结构体在配置好以后,使用了linux内核模型的platform总线机制中设备注册接口函数:platform_device_register(&sc16550_device);将 sc16550_device 设备挂载到了platform bus上。上文

2012-09-23 13:10:45 401

原创 VIM基本应用

VIM是Linux下经典的编程编辑工具,也是本人在工作中经常使用的,有句话叫做:世界上有三种程序员,一种使用VIM,一种使用EMACS,剩下的使用其他的。下面对VIM经常用到的命令进行总结: 1、移动,如果你使用VIM请不要使用箭头来移动光标,H,J,K,L。 2、查找变量函数等的定义位置,g+](需要ctags配合,在源码目录使用ctags -R .生成tags),使用Ctrl +

2012-09-10 23:33:59 279

转载 C语言中的结构体指针

以前以为结构体直接用&就能取地址,看了这篇文章恍然大悟,看来只是看代码是很难注意细节的啊!转载如下:    看代码!以后这错误不能犯了。结构体数组一生下来就必须malloc #include #include typedef struct Ruler {int len;double start;double step;double stop;} *R

2012-09-08 23:46:23 585

原创 FAT32文件系统实践

== FAT32 ==FAT32文件系统有自己的格式,其中比较重要的概念包括:=== MBR ===MBR(master boot record),即主引导记录,有时也称主引导扇区。位于整个硬盘的0柱面0磁头1扇区(可以看作是硬盘的第一个扇区),bios在执行自己固有的程序以后就会jump到mbr中的第一条指令(在我们的操作中BIOS负责LOAD内核,并且跳转到内核加载地址,并不涉及硬

2012-08-18 12:56:50 1113

原创 C陷阱与缺陷——个人总结

C陷阱与缺陷_总结 第三章intcalendar[12][31];         sizeof(calendar)的值是372(31*12)与sizeof(int)的乘积。inta[3]          除了a被用作运算符sizeof的参数这一情形,在其他所有的情形中数组名都代表指向数组a中下标为0的元素的指针。正如我们合乎情理的期待,sizeof(a)的结果是整个数组

2012-06-15 12:46:00 357

原创 linux最基本的命令

一、注销,关机,重启  1、Logout 注销是登陆的相对操作,登陆系统后,若要离开系统,用户只要直接下达logout命令即可:  [root@localhost root]#logout  Red HatLinuxrelease 9(Shike)  Kernel 2.4.20.8 onan i686  Login: ← 回到登陆的画面  2、关机或重新启动的shutdow

2012-06-09 15:04:17 259

原创 单片机keil编译几个问题及解决

在keil编程过程中多文件的编译遇到一些问题:       选用89C51/52如果定义外部变量过多,连接过程中会出现溢出问题(address space overflow)。这是解决办法是在某些变量定义前加上idata;       在某些C文件中,都用到了延时函数,都有类似的定义,连接就会出问题。连接器不允许出现同名或者类似名称的函数定义,这时可以改名或者直接调用外部延时函数(只使用一

2012-06-09 09:16:59 541

IPC_Overview-LCA-2013-printable.pdf

Prentice.Hall.Embedded.Linux.Systems.with.the.Yocto.Project

2020-07-29

Objective-C基础教程(第2版)

Objective-C基础教程(第2版)

2015-01-20

Web编程入门经典:HTML、XHTML和CSS

入门级的WEB开发,html,css,javascript。看完之后基本对静态网站开发有了了解,可以完成简单开发。

2014-06-27

eclipse pydev插件

eclipse pydev插件,用eclipse和pydev写python挺方便

2014-06-27

多路模拟采集显示串口传输

使用ADC0804多路采集串口,1602显示,串口传输

2012-06-10

sht11proteus加源码

SHT11传感器,ds1302,8951、52,proteus,

2012-06-10

温度采集,18B20

使用DS18B20进行温度采集,用液晶显示,计算最高最低,平均

2012-06-10

DS18B20双路串口输出

18B20串口双路采集,自己连一个PROTEUS就能仿真,不想修改了,自己弄一下就能缩小一半的程序,主要在sbit DQ那里,用一个FLAG位选择abit 引脚就行了。

2012-06-10

linux基本命令

最基本的linux命令,也是最常用的。都是linux论坛里面的看完了就整理了一下

2012-06-09

系统程序员成长计划

《系统程序员:成长计划》以生动的语言和丰富的代码示例,运用一些相对简单的例子分析开发系统程序中可能遇到的各种问题。作者把数年的开发经验和阅读大量书籍的体会,结合他在培训新员工过程中所积累的培养方法,融会贯通在这12章的内容中。书中介绍了链表、数组、栈、队列和散列表等基础数据结构,也介绍了并发、同步和内存管理等系统程序中常需注意的问题,还讲解了文本处理器等具体应用程序的设计方法。 《系统程序员:成长计划》是初涉系统程序开发领域的人不可多得的一本参考书。书中体现的思想对于其他各种软件开发人员、相关专业的在校学生以及软件开发爱好者都有启发意义。

2012-06-05

C指针全面总结(转载)

入门级别的详细C指针总结,全面理解指针相关知识

2012-05-17

用52单片机制作的脉冲发生器

频率只能到420,如果显示换成锁存器显示就会出现问题

2012-03-25

8353 8354 8255制作的脉冲发生器

用外部定时器实现高频率,做了个模型 有需要的可以参考,但是莫名奇妙数码管显示受到了影响,怀疑是仿真的问题

2012-03-25

USB基本结构与特性

USB结构,对于新手有很大的意义

2012-02-27

nand flash驱动解析

nand flash驱动解析,包括nand的原理,驱动的结构

2012-02-27

空空如也

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

TA关注的人

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