
linux/内存管理
炸鸡叔
Done is better than perfect
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
嵌入式 内存泄漏检测工具valgrind以及mtrace
原文出处:http://blog.youkuaiyun.com/skdkjzz/article/details/21737081valgrind: valgrind --tool=memcheck --leak-check=full ./x86_joseph_qrcodeusagex86 平台先编译你自己的应用程序命令行:valgrind --log-file转载 2014-03-28 08:46:26 · 2279 阅读 · 0 评论 -
sysconf()
使用 sysconf() 函数确定可配置的系统变量的值。原型是:引用#include long sysconf (int name);sysconf() 返回选项 (变量) 的当前值,这个值可配置的但也是受系统限制的。在成功完成的情况下,sysconf() 返回变量的当前值。该值受到的限制将少于编译时 , 或 中可用的对应值。大多数这些变量的值在调用进程转载 2015-04-21 17:11:02 · 1029 阅读 · 0 评论 -
cache一致性问题的一个现象
上图是在调试ARM与DSP通信时产生的catch 与 内存不一致的现象。原创 2015-04-21 14:34:51 · 1850 阅读 · 0 评论 -
mmap详解
原文出处:http://hi.baidu.com/yoursguang/item/359682fa2c4b0715ff35820ammap函数是unix/linux下的系统调用,来看《Unix Netword programming》卷二12.2节有详细介绍。mmap系统调用并不是完全为了用于共享内存而设计的。它本身提供了不同于一般对普通文件的访问方式,进程可以像读写内存一样对普通转载 2015-04-23 10:29:13 · 863 阅读 · 0 评论 -
cache一致性问题
这周碰到的一个问题,在解决的过程中得到不少高手的热心帮助,把一些总结贴出来,欢迎大家指点。写一个屏驱动的时候,需要把一块内核中用kmalloc分配的内存映射到应用层中使用。这是一个很simple的需求,很轻松的就可以通过mmap搞定:驱动部分代码:1698 if((mmap_addr = kmalloc(PAGE_SIZE, GFP_KERNEL)) == NU转载 2014-11-02 14:19:45 · 1314 阅读 · 0 评论 -
内存泄漏的防范和检测方法
本文出自 “至简李云” 博客,请务必保留此出处http://yunli.blog.51cto.com/831344/170181在C/C++编程中内存泄漏是一个非常普遍和令人头痛的问题,这一问题在嵌入式系统中更为突出。那么如何采用一种好的方法来防范和检测内存泄漏呢?常用的做法有以下几种。 1)采用代码审查的方式进行控制。这种方法是最容易想到的,但是效果也是相当的有限的。当转载 2014-03-25 22:51:00 · 951 阅读 · 0 评论 -
利用/dev/mem和mmap读写linux内存的通用C代码及原理
使用 hexedit /dev/mem 可以显示所有物理内存中的信息。 运用mmap将/dev/mem map出来,然后直接对其读写可以实现用户空间的内核操作。以下是我写的一个sample#include #include #include #include #include #include int main() { unsigned char * map_b原创 2014-02-10 16:58:52 · 5101 阅读 · 0 评论 -
mmap函数共享内存的理解
共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式, 因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据: 一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建立共享内存区域转载 2014-03-07 16:23:55 · 1370 阅读 · 0 评论 -
嵌入式 嵌入式工程师必备软件Valgrind
此文为转载,原文出处:http://blog.youkuaiyun.com/skdkjzz/article/details/217353711、修改下面代码(configure) armv7*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok (${host_cpu})" >&5$as_echo "ok (${host_cpu转载 2014-03-28 08:44:23 · 2729 阅读 · 0 评论 -
用dd命令生成bin文件,而不用拆flash读取文件
对于linux系统,善用dd命令,可以做到直接生成bin文件,而不用生产拆flash。1) 读flash,保存成bin文件:~ $ cat /proc/mtd dev: size erasesize name mtd0: 00260000 00020000 "U-Boot" mtd1: 00020000 00020000 "U-Boot Env" mtd2: 003原创 2016-07-26 13:14:52 · 7740 阅读 · 0 评论