compiler
hohaixrh
这个作者很懒,什么都没留下…
展开
-
volatile使用
这是个十分奇葩的问题,碰巧被我遇到了,我承认是我代码写的不够规范,但正是这个不规范的代码,才得以发现这个奇葩的事件。实在忍不住用了两个奇葩来形容。把过程简化一下,如下所述:假如你的工程至少有两个.c文件,其中一个为timer.c,里面有个定时器中断程序,每10ms中断一次,定义一个变量来统计定时器中断次数:[cpp] view plaincopyprint?un转载 2014-05-05 13:23:18 · 790 阅读 · 0 评论 -
FreeRTOS 源码分析
__asm void vPortSVCHandler( void ){PRESERVE8ldr r3, =pxCurrentTCB/* Restore the context. */ldr r1, [r3] /* Use pxCurrentTCBConst to get the pxCurrentTCB address. */ldr r0, [r1] /*原创 2014-05-05 11:16:48 · 1674 阅读 · 0 评论 -
详解编译器是如何工作
解释编译器如何工作不是一件容易的事,最好的方法是用一个实例进行说明:编译器是这样一个电脑程序,它把用高级编程语言编写的源代码,转化成低级语言。最基本地,一个编译器由以下几个阶段组成:词法分析、语法分析、语义分析、IR(中间代码,intermediate Representation)产生、IR优化、代码产生、最终优化。现在,看一个例子:以下就是各个步骤的详细分析。1.词转载 2014-04-24 15:32:49 · 761 阅读 · 0 评论 -
undefined reference to
gcc编译时出现undefined reference to “XXXX”, 后来发现是因为原创 2014-09-04 14:37:46 · 878 阅读 · 0 评论 -
gcc ld脚本分析
http://blog.chinaunix.net/uid-2595338-id-2139549.html连接脚本将我整整蒙了1天零一个上午,做了很多实验,看了人家不少例子代码勉强能驾驭了,让linker按照我想要的来处理,做个笔记。1,什么叫输入段,什么叫输出段不知道怎么回事,我对GCC系列的输入和输出两个单词总是进入思维死角,很简单就是 input section 和 ou转载 2014-09-03 13:07:16 · 2891 阅读 · 0 评论 -
eclipse 交叉编译环境调试找不到文件的解决办法
goto Window ==> Preferences ==> C/C++ ==> Debug ==> Source Lookup PathI Add a Path Mapping: Project SourceOn the left side I put the path that Cygwin expects, i.e. \home\MyName\projects and on the转载 2014-10-28 14:41:00 · 1701 阅读 · 0 评论 -
rom size computation
grep "rom.rodata.*" text.map >rodatagrep "rom.text.*" text.map >textgrep "libXXX*" text > XXX.txtjawk '{sum += $3};END {print sum}' XXX.txt原创 2014-11-15 12:04:56 · 588 阅读 · 0 评论 -
协议当中数据传输问题
各种通信协议从App到硬件层,数据的发送都是原创 2014-10-13 09:26:38 · 666 阅读 · 0 评论