随笔分类 - 嵌入式
Linux、WinCE、QT、Bootloader、ARM、单片机、uC/OS-2、
摘要:接上一篇的内容——Linux进程间通信(4):共享内存参考书籍:《从实践中学嵌入式linux应用程序开发》(华清远见嵌入式学院)《UNIX网络编程 卷2 进程间通信(第2版)(中文版)》参考链接:http://www.ibm.com/developerworks/cn/linux/l-ipc/part3/消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点。消息队列就是一个消息的链表,用户可以在消息队列中添加消息和读取消息等。从这点上看,消息队列具有一定的FIFO特性,但是它可以实现消息的随机查询,比FIFO具有更大的优势。同时,消息队列是随内核持续的,这些消息存在于内核中的,由“
阅读全文
摘要:接上一篇的内容——Linux进程间通信(3):信号量参考书籍:《从实践中学嵌入式linux应用程序开发》(华清远见嵌入式学院)《UNIX网络编程 卷2 进程间通信(第2版)(中文版)》资料下载:http://download.csdn.net/detail/klcf0220/5332973参考链接:mmap()及其相关系统调用:http://www.ibm.com/developerworks/cn/linux/l-ipc/part5/index1.html系统V共享内存: http://www.ibm.com/developerworks/cn/linux/l-ipc/part5/index
阅读全文
摘要:接上一篇的内容——Linux进程间通信(2):信号参考书籍:《从实践中学嵌入式linux应用程序开发》(华清远见嵌入式学院)《UNIX网络编程 卷2 进程间通信(第2版)(中文版)》参考链接:http://www.ibm.com/developerworks/cn/linux/l-ipc/part4/http://www.cnblogs.com/osyun/articles/2660434.html同步与互斥:临界资源:信号量是用来解决进程间的同步与互斥问题的一种进程间通信机制。PV操作:实现步骤:创建信号量或获得在系统中已经存在的信号量,此时需要调用semget()函数。不同进程通过使用同一
阅读全文
摘要:接上一篇的内容——Linux进程间通信(1):管道参考书籍:《从实践中学嵌入式linux应用程序开发》(华清远见嵌入式学院)《UNIX网络编程 卷2 进程间通信(第2版)(中文版)》参考链接:http://www.ibm.com/developerworks/cn/linux/l-ipc/part2...
阅读全文
摘要:接上一篇的内容——Linux任务、进程和线程参考书籍:《从实践中学嵌入式linux应用程序开发》(华清远见嵌入式学院)资料下载:http://download.csdn.net/detail/klcf0220/5332477参考链接:http://www.cnblogs.com/zhouyinhui/archive/2010/10/13/1849203.htmlhttp://www.ibm.com/developerworks/cn/linux/l-ipc/part1/Linux进程间通信:1、同主机进程间数据交互机制:无名管道(PIPE)、有名管道(FIFO)、消息队列(Message Qu
阅读全文
摘要:ERROR:“E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?” 解决办法如下: 1. 终端输入 ps -aux ,列出进程。找到含有apt‘-get或者wget的进程, 直接sudo kill PID。解决。 2. 强制解锁,命令 sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock
阅读全文
摘要:可以参考http://www.cnblogs.com/lovemo1314/archive/2010/10/29/1864327.html《从实践中学嵌入式linux应用程序开发》(华清远见嵌入式学院)第2章、嵌入式文件和I/O编程设置串口属性的基本流程:保存原先串口配置使用tcgetattr(fd,&old_cfg)函数,该函数得到有fd指向的终端的配置参数,并将它们保存于termios结构变量old_cfg中。若调试成功,函数返回值为0,若调试失败,函数返回值为-1;if(tcgetattr(fd,&old_cfg != 0 ){ perror("tcgetatt
阅读全文
摘要:Ubuntu 12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。以普通身份登陆Ubuntu后我们需要做一些修改,普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入: sudo -s.然后输入普通用户登陆的密码,回车即可进入 root用户权限模式。然后执行: vim /etc/lightdm/lightdm.conf增加 greeter-show-manual-login=true allow-guest=false . 修改完的整个配置文件是 [SeatDefaults] greeter-session=unity-greeter ...
阅读全文
摘要:htonl(),htons(),ntohl(),ntons()--大小端模式转换函数不同机器内部对变量的字节存储顺序不同,有的采用大端模式(big-endian),有的采用小端模式(little-endian)。 大端模式是指高字节数据存放在低地址处,低字节数据放在高地址处。 小端模式是指低字节数据存放在低地址处,高字节数据放在高地址处。 在网络上传输数据时,由于数据传输的两端可能对应不同的硬件平台,采用的存储字节顺序也可能不一致,因此 TCP/IP 协议规定了在网络上必须采用网络字节顺序(也就是大端模式) 。 通过对大小端的存储原理分析可发现,对于 char 型数据,由于其...
阅读全文
摘要:静态库: a.c , b.c gcc a.c -o a.o -c gcc b.c -o b.o -car crs libx.a a.o b.ogcc hello.c -o hello -lx 特点:在编译时,立即将库中的相关代码直接复制到可执行文件里,这样这个文件以后的运行就不依赖于此静态库文件了,但是增加了每个文件的尺寸。动态库: a.c , b.c gcc a.c -o a.o -c gcc b.c -o b.o -cgcc -shared fPIC liby.so a.o b.ogcc hello.c -o hello -ly 特点:在编译时,并未将...
阅读全文