自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 centos源码安装

按照其余博客说明,到了最后一步rpmbuild,报错:Building for target x86_64error:Failed build dependencies: bison is needed by kernel-3.10.0-327.el7.centos.x86_64解决办法:yum instll bison再rpmbuild就没问题了。...

2020-12-11 10:08:46 167

原创 工作中的一些总结

1.使用自动内存分配的时候,请认真面对,因为一不注意就内存泄露了! 如下代码:func(int a,int b){ ptr = new int(10); if(a > 5) return -1; else { ptr = new int(10); . . . } delet

2015-09-01 23:37:00 247

原创 再读《C和指针》(笔记4)

1.移位操作 标准说明无符号值执行的所有移位操作都是逻辑移位,但对于有符号值,到底采用逻辑移位还是算是移位操作取决于编译器,可以编写一个测试程序测试。 2.位操作符 AND(与),OR(或),XOR(异或)。 例一:把指定的位设为1: value = value | 1 << bit_number; 例二:把指定位清零: value = value & (1 << bi

2015-08-19 21:38:37 333

原创 再读《C和指针》(笔记3)

一.数据:整形包括:字符型,短整型,整型,长整型,它们都分为有符号和无符号两种。 长整型并不一定比短整型大,因为下面这个规定: 长整型至少应该和整型一样长,而整型至少应该和短整型一样长,因为这个规定,可能就会有奇异的机器上这三个类型一样长。 尽管char是为了容纳字符型值的,但字符在本质上是一个小整型值。2.指针: 变量的值存储于计算机的内存中,每个变量都占据一个特定的位置,每个内存位置都

2015-08-18 20:17:49 290

原创 再读《C和指针》(笔记2)

用于编译和链接C程序的特定命令在不同的系统中是各不相同的。在绝大多数UNIX系统中,C编译器被称为cc,它可以用多种不同的方法来调用。 一:编译和链接 1.编译并链接一个完全包含于一个源文件的c程序:cc program.c这条命令会产生一个a.out的可执行文件。中间会产生一个名为program.o的目标文件,但它在链接过程完成后会被删除。 2.编译并链接几个C源文件:cc main.c s

2015-08-17 13:34:05 327

原创 再读《C和指针》(笔记)

在C中不存在“string”数据类型,但存在一个约定:字符串就是一串以NUL字节结尾的字符。NUL虽然作为字符串的终止符,但它却不会被看做字符串的一部分。NUL是ASCII字符集的‘\0’字符的名字,它的字节模式是全0。NULL指向一个其值为0的指针。NULL和NUL都是整形,值也相同,所以他们互相可以换着使用。但还是应该使用正确的常量,因为它能告诉阅读程序的人,你想使用的不仅是0这个值,

2015-08-16 21:45:46 436

原创 嵌入式web的一些理解(实习笔记)

以前没有学过web开发的知识,最近在公司实习做了很多这方面的开发,也是摸着石头过河,学一点就记一点。梳理一下最近做的一些工作的心得体会。首先是html的开发,这个要配合css才能做好。 其次是写js的脚本,这一块要涉及到数据传递的处理了。这里记一下数据在js脚本和html以及XML文件中的传递过程。 以通常在页面上点击“提交”之类的按钮为例。 在html代码里会有一个onclick指向这个按钮

2015-08-15 14:28:58 685

原创 C++类的成员函数地址(实习笔记)

C++类的成员函数地址(实习笔记)这次的任务是重构代码,以前的代码由于时间的关系结构很粗糙,全是if结构,冗余的地方太多,而且对于后期的维护也是一个很大的问题。所以需要一个好一点的设计。我的方法是采用函数指针数组的方式来解决if冗余的问题。正确使用函数指针数组的前提条件是这些函数的结构是类似的,也就是有相同类型的输入输出。这也恰好符合这次的问题。所以只需要把所有要调用的函数指针存入这个函数指针数组,

2015-08-14 13:22:31 493

原创 C++单例模式(实习笔记)

单例模式的作用是保证一个类仅有一个实例,并且提供一个访问它的全局访问点,这个实例被所有程序模块共享。    实例的实现方法是:定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有的静态方法获取该类。代码片段如下:Class at_file_service{    public:    at_file_service();    virtual ~at_

2015-08-13 14:02:26 281

原创 队列笔记

队列的用途:先来先服务的原则:订票系统,操作系统的作业调度,消息队列。顺序队列结构体中的数组用来存储入队的元素。typedef struct{DATATYPE items[QUEUESIZE];int front,rear;}SqQueue;顺序队列的溢出问题。1:队列满时还要进行入队操作,rear会超出数组的下标。上溢。2:队列空时还要出队

2015-08-09 20:43:34 603

原创 终端控制台笔记

控制台:1:控制台是一个虚拟的终端。它必须映射到真正的终端上。2:控制台可以简单的理解为printk输出的地方。3:控制台是一个只可以输出的设备。功能很简单,只能在内核中访问。伪终端:通常用来做远程的通信。TTY体系:由tty_core tty_line_discipline(tty线路规程) tty_driver构成。tty_core承上启下。从u

2015-06-09 10:57:51 319

原创 链表与二级指针的笔记

链表的初始化:1: 11 int InitList(Node **head) 12 { 13     *head = (Node *)malloc(sizeof(Node)); 14     if(head == NULL) 15     { 16         printf("INIT ERROR!\n"); 17         return 0; 18

2015-06-09 10:55:54 447

原创 变量覆盖的问题

直接上例子:int state = 0;int main(){int state = 1;return 0;}在main函数里,局部变量state会覆盖全局变量state。

2015-04-29 16:07:11 466

原创 字符设备控制技术

1:大部分驱动程序除了需要提供读写设备的能力,还应具备控制设备的能力。2:在用户空间,使用ioctl系统调用来控制设备。函数原型:int ioctl(int fd,unsigned long cmd,...)fd: 要控制的设备文件描述符cmd: 发送给设备的控制命令…: 第3个参数是可选的参数,存在与否是依赖于控制命令(第 2 个参数 3:当应用程序使用ioctl

2015-04-13 21:39:27 285

原创 硬件访问技术

1:硬件访问实质:驱动程序控制设备,是通过访问设备内的寄存器来达到控制目的。所以问题就是如何访问这些寄存器。2:地址映射在linux中,无论是内核程序还是应用程序,使用的地址都是是虚拟地址,所以应该首先将物理地址映射成虚拟地址。2.1:动态映射(这个方式使用的最多)指的是在驱动程序中采用ioremap函数将物理地址映射成虚拟地址。原型:void * ioremap(

2015-04-13 21:38:36 576

原创 字符设备知识 笔记

1:在linux系统中,驱动程序通常采用内核模块的结构来编码。因此编译、安装一个驱动程序实际上就是编译、安装一个内核模块。2:通过字符设备文件,应用程序可以使用相应的字符设备驱动程序来控制设备。创建字符设备文件的方法一般有两种:1:使用mknod命令mknod /dev/文件名 c 主设备号 次设备号c:代表是字符设备文件,char的缩写主设备号:字符设备文件和设备驱动

2015-04-13 21:35:24 288

原创 挂载NFS的内核配置

1:内核配置make menuconfig ARCH=arm去掉initramfs挂载方式选项(Initial RAM filesystem and RAM disksupport)再进入file system选择Network File System,确保Root file system on NFS选项是被选中的再选中NFS server support再选

2015-04-13 15:41:02 716

原创 TFTP 配置 笔记

1:安装tftp服务器2:配置tftp服务器vim /etc/xinetd.d/tftpservice tftp { socket_type = dgram wait = yes disable = no      //这一行要从yes改为nouser = root protocol = udp server = /usr/sbin/in.tftpd

2015-04-12 21:40:08 323

原创 NFS服务器配置 笔记

1 配置NFS服务器vim /etc/exports添加:/tmp 192.168.1.*(rw,sync,no_root_squash)命令项详解:对在192.168.1网段的机子允许访问/tmp共享目录。同理如果命令是/tmp *(rw,sync,no_root_squash) 则表示对网络上所有用户开放/tmp。权限设置rw,sync,no_root_squash:

2015-04-12 16:03:47 410

原创 stm32 PWM笔记

配置顺序:一:定时器基本参数配置1:计数周期arr(自动重装载值)2:预分频值psc3:计数方向,一般设置为向上计数。4:时钟分割参数设置。二:PWM模式配置1:设置模式为PWM模式22::比较输出使能3:输出极性选择4:设置CCRx来设定PWM波的占空比。这个原理是:arr的值假设为1000,CCR1的值假设为500,占空比就是50%。5:初始化通

2015-04-08 16:19:53 860

原创 使用iic时的一点笔记

1:start信号和stop信号之间的间隔时间要足够,不然会导致出错。2:在连续写模式时,主机每写一个字节就应该向从机发送一个ACK信号3:在连续读模式时,主机也应该每读一个字节就接收一个从机发送过来的ACK信号。

2015-04-07 21:16:08 459

转载 VMware 网络连接设置 ping ARM开发板

要组网,就需要使用网卡、交换机等组网设备,在VMware Workstation中组网也需要使用这些设备,只不过在VMware 虚拟的计算机和网络中,这些设备在形式上也都是虚拟的。⒈交换机。和一台物理交换机一样,一台虚拟交换机能把主机、虚拟计算机和其它网络设备连接在一起。在VMware Workstation安装后,交换机将根据组网的需要由VMware Workstation自动创建并自动使用

2015-03-29 22:46:12 1164

状态机按键驱动

针对传统的按键驱动中采用的延时去抖动而做的优化,不采用延时这种占用单片机资源的方式,采用状态机的思路进行优化。

2015-10-08

空空如也

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

TA关注的人

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