嵌入式Linux
文章平均质量分 56
WaveRider2012
这个作者很懒,什么都没留下…
展开
-
Linux下显示dd命令的进度
Linux下显示dd命令的进度:dd if=/dev/zero of=/tmp/zero.img bs=10M count=100000想要查看上面的dd命令的执行进度,可以使用下面几种方法:比如:每5秒输出dd的进度方法一:watch -n 5 pkill -USR1 ^dd$方法二:watch -n 5 killall -USR1 dd转载 2012-12-05 16:38:19 · 734 阅读 · 0 评论 -
Linux下的hrtimer高精度定时器
hrtimer高精度定时器,可做到ns级,此处做到毫秒如下例:注:实际是为纳秒级,由此处ktime_set(const long secs, const unsigned long nsecs)决定的,参数下此处参数即可实现纳秒级。原创 2014-07-30 20:04:43 · 13073 阅读 · 3 评论 -
实例探讨工作队列(work queue)的工作原理
工作队列(work queue)是另外一种将工作推后执行的形式,它和tasklet有所不同。工作队列可以把工作推后,交由一个内核线程去执行,也就是说,这个下半部分可以在进程上下文中执行。这样,通过工作队列执行的代码能占尽进程上下文的所有优势。最重要的就是工作队列允许被重新调度甚至是睡眠。 那么,什么情况下使用工作队列,什么情况下使用tasklet。如果推后执行的任务需要睡眠,那么就选转载 2014-07-30 19:50:15 · 3137 阅读 · 0 评论 -
Xilinx SDK中指定变量的物理位置
Xilinx SDK使用的是GCC,实际上这个方法也适用于所有GCC源码。首先在声明变量的时候在后面增加attributeint matrix[16][16384] __attribute__((section(".matrix")));然后在Linker Script里面做如下修改:1. 双击打开lscript.ld,在GUI的Available Memory原创 2013-11-01 15:34:34 · 5576 阅读 · 1 评论 -
GCC汇编源码中的.rept关键字
.rept countRepeat the sequence of lines between the .rept directive and the next .endr directive count times.For example, assembling.rept 3.long 0.endris equivalent to assembling.long 0转载 2013-01-21 11:52:26 · 4817 阅读 · 0 评论 -
GCC汇编源码中的alignment
GCC支持的和align有关的directive共有三个,如下所示:.align abs-expr, abs-expr, abs-exprPad the location counter (in the current subsection) to a particular storage boundary. The first expression (which must be ab翻译 2013-01-21 11:30:36 · 1708 阅读 · 0 评论 -
ARM GCC内联汇编(Inline Assembly)的一些参考资料
ARM GCC Inline Assembler Cookbookhttp://www.ethernut.de/en/documents/arm-inline-asm.html简评:用的ARM指令集,写的比较详细。英文版,有空时可以尝试翻译一下。GCC-Inline-Assembly-HOWTOhttp://www.ibiblio.org/gferg/ldp/GCC-I原创 2013-01-17 19:44:42 · 2047 阅读 · 0 评论 -
Linux下压缩工具和压缩算法的比较
压缩工具GZIP,BZIP2和LZMASH的比较:1. 压缩效率(压缩后的文件越小,效率越高)GZIP 2. 压缩时间:GZIP 3. 解压缩时间:GZIP 参考文献:A Quick Benchmark: Gzip vs. Bzip2 vs. LZMAArchiver comparison 仅仅比较了压缩比和压缩时间,也证明了上述结论。7-Zip使用LZMA原创 2013-01-17 19:11:56 · 13831 阅读 · 0 评论 -
Clobbering在wikipedia上的定义
In software engineering, clobbering a file or computer memory is overwriting its contents. The Jargon File defines clobbering as "overwrit[ing], usually unintentionally: 'I walked off the end转载 2013-01-17 16:55:39 · 481 阅读 · 0 评论 -
GCC的参数-ftree-vectorizer-verbose=n
This option controls the amount of debugging output the vectorizer prints. This information is written to standard error, unless ‘-fdump-tree-all’ or ‘-fdump-tree-vect’ is specified, in which case it翻译 2013-01-22 12:00:29 · 2558 阅读 · 0 评论 -
VMWare Ubuntu下写SD卡很慢
现在很多时候做demo都是用dd把整个SD card dump成一个image。但是用dd写回操作的时候,Linux安装在VMWare上比安装在硬件上速度要慢很多。如果用dd写回,速度差距大约有8-12倍,即使是在文件系统下拷贝文件,速度差距也有2-3倍。原创 2012-12-05 16:40:39 · 867 阅读 · 0 评论 -
Linux的三种内核配置界面
Linux的内核配置界面:make config、make menuconfig、make xconfig1. make config是有问必答的方式,每个内核选项它都会问你要还是,即使是用户不关心的选项,选错了一个就必须从头再来一遍,用起来很不方便。2. make menuconfig提供一个基于文本的图形界面,键盘操作,可以只修改感兴趣的选项,一般推荐用这个。它依赖于n原创 2012-12-05 16:36:44 · 3981 阅读 · 0 评论 -
Linux workqueue工作原理
1. 什么是workqueue Linux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workqueue是内核中实现简单而有效的机制,他显然简化了内核daemon的创建,方便了用户的编程. 工作队列(workqueue)是另外一转载 2014-07-30 19:26:06 · 594 阅读 · 0 评论