随笔分类 - 交叉工具链
摘要:工欲善其事,必先善其器。调试器在嵌入式开发调试中的重要性不言而喻,单步、断点和监察的效率远高于串口打印。但是,调试器对于一般开发人员往往是一个黑匣子。今天我们就来谈谈调试器的原理,顺便把自己的几类调试器接线和注意事项记录下来,以便查找。我常常要面对几个方案,而各个方案的调试器都不一样,接线有时连自己
阅读全文
摘要:我们都知道MIPS架构体系是32位精简指令集(MIPS32),事实上MIPS在进入控制器市场时还推出了MIPS16e指令集模式,号称能够使编译后的代码减少30%左右,类似于ARM架构中是arm32指令(32位)和thumb(16位)指令。内存资源紧缺型系统一般会使用MIPS16e模式进行编译,以...
阅读全文
摘要:尽管ARM核在智能终端市场风光无限,但依赖于低功耗、超强的处理能力和较为便宜的License,MIPS内核系列芯片依然在电子产品和网络设备中占有很大的市场份量,咱们国家的龙芯用的也是MIPS架构。MIPS的64位系统产品主要面向服务器,32位主要用于消费类电子和网络设备等方面。32位MIPS有两种...
阅读全文
摘要:本文是转载,本人稍做修改!HEX文件和BIN文件是嵌入式软件开发中经常会看到的数据格式。理解其格式是有好处的。1 - HEX文件是包括地址信息的,而BIN文件格式只包括了数据本身。在烧写或下载HEX文件的时候,一般都不需要用户指定地址,因为HEX文件内部的信息已经包括了地址。而烧写BIN文件的时候,...
阅读全文
摘要:linux程序开发会使用GNU Make来构建和管理整个工程,Makefile 文件描述了整个工程的编译、连接等规则,执行make命令就是实现自动化编译链接的过程。一、编译链接编译:将源文件(.c/.s)生成目标文件(.o)链接:将目标文件和其依赖的静态库生成可执行文件二、makefile常用语法要...
阅读全文
摘要:一、引言 本文介绍运行时库实现的功能,你会看到在main函数执行之前都做了什么。先来理解以下代码:#include void init(void) __attribute__((constructor));void init(void){ printf(“before enter main!\...
阅读全文

浙公网安备 33010602011771号