程序由不同的段构成(代码段,数据段)1.程序的静态特征就是指令和数据2.程序的动态特征就是执行指令处理数据A.段传统上,一个程序一般会有这几个段:.text、.data、.bss段a.如果处理器由内存管理单元,那么可执行程序被加载到内存以后,通常会将.text段所在的内存空间设置为只读,以保护.text中的代码不会因为程序出错而被意外改写b.处理器所需加工的数据是放在.data、.bss、.rda
一.GDB介绍A.GDB1.GNU项目中的调试器2.能够追踪程序的执行,也能够恢复程序崩溃前的状态B.GDB的重要性1.软件不是一次性开发完成的(是软件就有bug,是程序就有问题)2.调试时软件开发过程中不可或缺的技术C.GDB的常规应用1.自定义程序的启动方式(指定影响程序运行的参数)2.设置条件断点(在条件满足时暂停程序的执行)3.回溯检查导致程序异常结束的原因4.动态改变程序执行流(定位问题
一.链接器上链接器的意义--链接器的主要作用是把各个模块之间相互引用的部分处理好,使得各个模块之间能够正确的衔接A.目标文件的秘密1.各个段没有具体的起始地址,只有段大小信息2.各个标识符没有实际地址,只有段中的相对地址3.段和标识符的实际地址需要链接器具体确定链接器的工作内容--将目标文件和库文件合为最终的可执行程序1.合并各个目标文件中的段(.text.data.bss)2.确定各个段和段中标
开发环境的概念1.构建环境--代码编写,程序编译,版本控制2.调试环境--用于定位问题的辅助工具集3.测试环境--用于验证目标程序是否满足用户的显性需求和隐性需求一般的嵌入式开发中的时间分配--代码编写及目标构建(20%)测试调试修复(80%)GNU为GCC编译器提供了配套的辅助工具集在提供的网站上可以看出,提供的工具以及功能的介绍A.addr2line1.将指定地址转换为对应的文件名和行号2.常
一.深入浅出处理器上A.处理器:微控制器VS微处理器微控制器--CPU+片内内存+片内外设微处理器--CPUB.寄存器分类CPU寄存器--专用指令执行,数据运算,变量处理,参数传递外设寄存器--用于控制外设的行为和工作方式,寄存器值的配置需要根据芯片手册完成C.处理器中的关键寄存器pc-程序计数器1.每执行一条指令,pc中的值就会发生变化2.pc始终保存下一条cpu要执行的指令地址sp-栈指针1.
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号