嵌入式第四次课堂笔记

今日学习目标:
调试器gdb
工程管理器make
脚本编程shell

首先学习的是gdb调试器,是GNU计划的工具,也有内核调试KGDB。对于程序错误,可能有编译时错误,语法错误,运行时错误,内存错误和逻辑错误。所以,gdb可以用来运行程序,设置断点或者查看变量值。在使用时用gdb加上文件名即可。但首先要使用-g生成二进制可执行文件,随后layout asm显示汇编代码窗口,layout regs显示寄存器窗口,layout src显示源代码窗口。run命令为运行命令,finish命令是结束命令,continue命令则继续运行直到遇到下一次断点,break+行号或函数名或条件则在对应地方停止,info break命令用来查看断点,delete加上断点编号则删除断点,print命令打印变量值,quit命令则退出gdb调试器,next或者step命令都是单步执行,但是两者差异就是next命令无法进入子函数,而step命令可以进入子函数。
其次是工程管理器make,可以编译多个文件,可以是类型不同,存放在不同目录或资源文件组成的软件代码结构。同时也是makefile脚本文件进行批量处理,是目标,依赖命令三者的联系,即“执行命令,依赖文件,最终生成目标”。并且执行顺序为自上向下,当你的目标依赖的文件又有一个目标时,会先跳转到该目标去执行相关命令。若用make加上目标名,则从该目标开始自上向下执行。也可以定义伪目标,只执行命令。要先将.c文件先编译成.o文件,再由.o文件生成可执行文件,语法是:
嵌入式第四次课堂笔记_第1张图片
其次,还有功能目录管理软件代码:makefile
(1)总控makefile
进入各个功能目录执行make,并将所有.o文件链接生成可执行文件
(2)功能目录makefile
将功能目录下的源文件编译生成目标文件.o
(3)scripts目录头文件makefile
定义变量,供其他makefile使用
在源码目录中,阅读makefile时要从3-2-1的顺序来阅读
这就是第四节课的重点。

你可能感兴趣的:(笔记)