foggia2004

随笔分类 -  Arm-Linux

1 2 下一页

Arm-Linux
system的共享内存实例
摘要:system的共享内存指的是内核指定一块内存区域映射到虚拟地址空间供进程通信使用的机制 1\创建或打开共享内存块函数原型int shmget(key_t key, size_t size, int shmflg) 参数参数1:一个key_t类型的变量.IPC_PRIVATE或者>0的值参数2:要创建 阅读全文

posted @ 2017-01-20 10:21 foggia2004 阅读(330) 评论(0) 推荐(0)

system的消息队列实例
摘要:1\创建或打开消息队列函数原型:int msgget(key_t key, int msgflg)参数第一个参数为ftok方法创建的一个kety_t或者为一个整数值第二个参数为逻辑控制,IPC_CREAT:创建新标识符;IPC_CREAT|IPC_EXCL:创建新标识之前查看是由有已存在的标识符. 阅读全文

posted @ 2017-01-17 11:16 foggia2004 阅读(168) 评论(0) 推荐(0)

system v ipc的标识符ID
摘要:system v ipc对象是靠标识符ID来识别和操作的,具有系统唯一性.意思就是说,该ID是操作系统内的全局变量,只要具有权限,任何进程都可以通过标识符进行进程间的通信.获取标识符ID的函数为int msgget(key_t key, int msgflg),其中参数key会被msgget函数转换 阅读全文

posted @ 2017-01-13 16:26 foggia2004 阅读(217) 评论(0) 推荐(0)

有名管道的读和写
摘要:管道(pipe)是一种文件,可以调用read,write,close等操作文件的接口来操作管道;管道还属于一种独特的文件系统pipefs,其本质是内核维护了一块缓冲区与管道文件相关联,所有对管道文件的操作,都会被内核转换为对这块缓冲区内存的操作. 创建管道成功后,系统会返回2个已经打开的文件描述符, 阅读全文

posted @ 2017-01-11 16:19 foggia2004 阅读(379) 评论(0) 推荐(0)

线程的返回值与资源管理
摘要:线程的返回值当线程退出时,线程可以选择向主线程返回一个值,返回方式一共有4种1\如果要返回int类型,可以使用pthread_exit((int)* return_value);2\使用全局变量返回(这个最简单)3\使用malloc所分配的空间4\直接返回字符串,如pthread_exit("ret 阅读全文

posted @ 2017-01-10 11:33 foggia2004 阅读(295) 评论(0) 推荐(0)

查看系统线程栈默认的大小
摘要:ulimit -s 阅读全文

posted @ 2017-01-06 11:08 foggia2004 阅读(283) 评论(0) 推荐(0)

线程的2个ID
摘要:我们知道进程ID是操作系统调度的最小单位,有时候根据业务的需要,我们会使用到多线程技术,当创建了多个线程时,也会有一个线程ID,那这个线程ID和进程ID有什么不一样吗? 其中,线程组的线程ID是属于NPTL(Native POSIX Thread Library)线程库的范畴,属该线程库调度的标识; 阅读全文

posted @ 2017-01-06 10:01 foggia2004 阅读(213) 评论(0) 推荐(0)

sigaction和sigqueue
摘要:sigaction函数相对于siganl函数控制信号的发送要更加精确一些,其函数原型为: int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact); 实验代码: 运行程序后,使用命令:ps -au 阅读全文

posted @ 2017-01-05 09:37 foggia2004 阅读(221) 评论(0) 推荐(0)

mkstemp生成临时文件
摘要:使用该函数可以指定目录生成临时文件,函数原型为 int mkstemp(char *template); 应用举例 执行截图 在当前目录下多出了一个名为"mytmpfile_RzTSGo"的文件,并且该文件被写入了之前预制好的数据. 注意:该函数要求文件名最后6位必须是"XXXXXX", templ 阅读全文

posted @ 2016-12-29 11:00 foggia2004 阅读(258) 评论(0) 推荐(0)

atexit函数
摘要:使用该函数注册的退出函数是在进程正常退出时,才会被调用.这里强调是进程正常退出,使用exit退出或使用main中最后的return语句退出.但如果是因为收到信号signal而导致程序退出,如kill pid,那么atexit所注册的函数将不会被调用.而当进程收到信号时,如果没有注册函数去处理对应的信 阅读全文

posted @ 2016-12-29 10:48 foggia2004 阅读(218) 评论(0) 推荐(0)

i2c之at24c08驱动及应用程序
摘要:1-->修改板级文件arch/arm/mach-s3c2440/mach-mini2440.c 2-->驱动文件at24c08.c 3-->应用程序 4-->Makefile 当然也可以将驱动文件添加到对应的内核文件中,通过修改对应的KConfig和Makefile来将驱动编译到内核中 阅读全文

posted @ 2016-10-17 09:20 foggia2004

添加新设备在平台里的支持
摘要:1-->设备的定义平台的所有设备都会在arch\arm\plat-s3c\include\plat\devs.h中进行初始定义 2-->定义设备的结构体设备实体的结构体解析 3-->设备资源平台的所有设备都会在arch\arm\plat-s3cxx\devs.c中进行资源使用定义 4-->平台设备初 阅读全文

posted @ 2016-09-27 11:27 foggia2004

readelf与动态库
摘要:使用arm-linux-gcc编译的可执行文件可能会无法在开发板上执行,并提示:-/bin/sh xxx not found 解决办法: 在主机上使用readelf -d xxx 来查看该程序所需要的动态库,比如 在交叉编译目录你搜索<find -name 'libc.so.6'>,然后将其拷贝到根 阅读全文

posted @ 2016-09-27 11:21 foggia2004

混杂要点汇总
摘要:1->寄存器的使用 2->nfs服务 阅读全文

posted @ 2016-09-27 11:15 foggia2004

red hat enterprise 6安装tftp服务
摘要:1--->检查是否安装tftp rpm -qa tftp* 2--->安装tftp yum install -y tftp-server 3--->chkconfig --list|grep tftp 4--->vim /etc/xinet.d/tftp 修改server_args = -s 指定目录 disable = no 5--->设置自动运行 chkconfig tftp on ... 阅读全文

posted @ 2016-09-27 11:10 foggia2004

关于uboot和kernel的一些理解
摘要:经过多次的修改和实验,终于能够在mini2440开发板上进行各种uboot和kernel的挂载实验了,在此期间学习到了很多知识,也理解了一些知识1->分区uboot和kernel的分区表要一致uboot分区位置:include/configs/mini2440.h kernel分区位置:arch/a 阅读全文

posted @ 2016-09-27 11:06 foggia2004

一个完整的虚拟字符设备驱动程序
摘要:字符驱动模块charmem.c 功能预定义charmem.h 应用程序charmemapp.c Makefile文件 阅读全文

posted @ 2016-06-01 22:02 foggia2004 阅读(622) 评论(0) 推荐(0)

一个内核定时器模块
摘要:Makefile 阅读全文

posted @ 2016-05-24 11:09 foggia2004 阅读(490) 评论(0) 推荐(0)

一个简单的内核模块
摘要:Makefile文件 阅读全文

posted @ 2016-05-23 20:33 foggia2004 阅读(150) 评论(0) 推荐(0)

fifo write
摘要:#include #include #include #include #include #include #include #include #define MYFIFO "/tmp/myfifo" int main(int argc, char *argv[]) { int fd; char buf_w[50]; fd=open(MYFIF... 阅读全文

posted @ 2016-05-20 14:54 foggia2004 阅读(146) 评论(0) 推荐(0)

1 2 下一页

导航