![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式 linux开发
小小的马弓手
这个作者很懒,什么都没留下…
展开
-
VMware 网络连接设置 ping ARM开发板
要组网,就需要使用网卡、交换机等组网设备,在VMware Workstation中组网也需要使用这些设备,只不过在VMware 虚拟的计算机和网络中,这些设备在形式上也都是虚拟的。 ⒈交换机。和一台物理交换机一样,一台虚拟交换机能把主机、虚拟计算机和其它网络设备连接在一起。在VMware Workstation安装后,交换机将根据组网的需要由VMware Workstation自动创建并自动使用转载 2015-03-29 22:46:12 · 1171 阅读 · 0 评论 -
再读《C和指针》(笔记3)
一.数据: 整形包括:字符型,短整型,整型,长整型,它们都分为有符号和无符号两种。 长整型并不一定比短整型大,因为下面这个规定: 长整型至少应该和整型一样长,而整型至少应该和短整型一样长,因为这个规定,可能就会有奇异的机器上这三个类型一样长。 尽管char是为了容纳字符型值的,但字符在本质上是一个小整型值。2.指针: 变量的值存储于计算机的内存中,每个变量都占据一个特定的位置,每个内存位置都原创 2015-08-18 20:17:49 · 293 阅读 · 0 评论 -
再读《C和指针》(笔记)
在C中不存在“string”数据类型,但存在一个约定:字符串就是一串以NUL字节结尾的字符。NUL虽然作为字符串的终止符,但它却不会被看做字符串的一部分。 NUL是ASCII字符集的‘\0’字符的名字,它的字节模式是全0。 NULL指向一个其值为0的指针。NULL和NUL都是整形,值也相同,所以他们互相可以换着使用。但还是应该使用正确的常量,因为它能告诉阅读程序的人,你想使用的不仅是0这个值,原创 2015-08-16 21:45:46 · 438 阅读 · 0 评论 -
再读《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 · 330 阅读 · 0 评论 -
C++单例模式(实习笔记)
单例模式的作用是保证一个类仅有一个实例,并且提供一个访问它的全局访问点,这个实例被所有程序模块共享。 实例的实现方法是:定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有的静态方法获取该类。 代码片段如下: Class at_file_service { public: at_file_service(); virtual ~at_原创 2015-08-13 14:02:26 · 283 阅读 · 0 评论 -
队列笔记
队列的用途: 先来先服务的原则: 订票系统,操作系统的作业调度,消息队列。 顺序队列 结构体中的数组用来存储入队的元素。 typedef struct { DATATYPE items[QUEUESIZE]; int front,rear; }SqQueue; 顺序队列的溢出问题。 1:队列满时还要进行入队操作,rear会超出数组的下标。上溢。 2:队列空时还要出队原创 2015-08-09 20:43:34 · 611 阅读 · 0 评论 -
链表与二级指针的笔记
链表的初始化: 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 · 448 阅读 · 0 评论 -
终端控制台笔记
控制台: 1:控制台是一个虚拟的终端。它必须映射到真正的终端上。 2:控制台可以简单的理解为printk输出的地方。 3:控制台是一个只可以输出的设备。功能很简单,只能在内核中访问。 伪终端: 通常用来做远程的通信。 TTY体系: 由tty_core tty_line_discipline(tty线路规程) tty_driver构成。 tty_core承上启下。从u原创 2015-06-09 10:57:51 · 322 阅读 · 0 评论 -
字符设备控制技术
1:大部分驱动程序除了需要提供读写设备的能力,还应具备控制设备的能力。 2:在用户空间,使用ioctl系统调用来控制设备。 函数原型: int ioctl(int fd,unsigned long cmd,...) fd: 要控制的设备文件描述符 cmd: 发送给设备的控制命令 …: 第3个参数是可选的参数,存在与否是依赖于控 制命令(第 2 个参数 3:当应用程序使用ioctl原创 2015-04-13 21:39:27 · 288 阅读 · 0 评论 -
硬件访问技术
1:硬件访问实质: 驱动程序控制设备,是通过访问设备内的寄存器来达到控制目的。所以问题就是 如何访问这些寄存器。 2:地址映射 在linux中,无论是内核程序还是应用程序,使用的地址都是是虚拟地址,所以应 该首先将物理地址映射成虚拟地址。 2.1:动态映射(这个方式使用的最多) 指的是在驱动程序中采用ioremap函数将物理地址映射成虚拟地址。 原型:void * ioremap(原创 2015-04-13 21:38:36 · 582 阅读 · 0 评论 -
字符设备知识 笔记
1:在linux系统中,驱动程序通常采用内核模块的结构来编码。因此编译、安装一个驱动程序实际上就是编译、安装一个内核模块。 2:通过字符设备文件,应用程序可以使用相应的字符设备驱动程序来控制设备。创建字符设备文件的方法一般有两种: 1:使用mknod命令 mknod /dev/文件名 c 主设备号 次设备号 c:代表是字符设备文件,char的缩写 主设备号:字符设备文件和设备驱动原创 2015-04-13 21:35:24 · 292 阅读 · 0 评论 -
挂载NFS的内核配置
1:内核配置 make menuconfig ARCH=arm 去掉initramfs挂载方式选项(Initial RAM filesystem and RAM disk support) 再进入file system 选择Network File System,确保Root file system on NFS选项是被选中的 再选中NFS server support 再选原创 2015-04-13 15:41:02 · 729 阅读 · 0 评论 -
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 · 421 阅读 · 0 评论 -
TFTP 配置 笔记
1:安装tftp服务器 2:配置tftp服务器 vim /etc/xinetd.d/tftp service tftp { socket_type = dgram wait = yes disable = no //这一行要从yes改为no user = root protocol = udp server = /usr/sbin/in.tftpd原创 2015-04-12 21:40:08 · 332 阅读 · 0 评论 -
再读《C和指针》(笔记4)
1.移位操作 标准说明无符号值执行的所有移位操作都是逻辑移位,但对于有符号值,到底采用逻辑移位还是算是移位操作取决于编译器,可以编写一个测试程序测试。 2.位操作符 AND(与),OR(或),XOR(异或)。 例一:把指定的位设为1: value = value | 1 << bit_number; 例二:把指定位清零: value = value & (1 << bi原创 2015-08-19 21:38:37 · 334 阅读 · 0 评论