1、gdb调试利器:DB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。对于一名Linux下工作的c++程序员,gdb是必不可少的工具;ldd查看程序依赖库:用来查看程式运行所需的共享库,常用来解决程式因缺少某个库文件而不能运行的一些问题。
2、调用Linux内核映像Bootloader完成的最后一项工作便是调用Linux内核。如果Linux内核存放在Flash中,并且可直接在上面运行(这里的Flash指NorFlash),那么可直接跳转到内核中去执行。
3、调试嵌入式系统的过程通常依赖于内部电路仿真器或者能够触发微码中断的调试器,如在PDP-11上的开创性应用。这些工具让开发者能在仅CPU运行的硬件环境中进行操作,通过CPU视角测试和调试电路。利用断点、逐行执行以及高级语言,开发者能够进行精细的调试。对于实时事件的跟踪,简单的记录工具是必不可少的。
4、在MCGS嵌入式组态软件中,强大的调试功能为开发和优化系统提供了便利。首先,软件支持断点设置,允许用户在控制流程的任何阶段暂停执行,进行深入分析。其次,软件具备实时监控功能,通过串口或网络连接,实时获取运行系统数据库中的数据对象值,并在上位机的调试环境中直观显示,便于理解和调整。
1、MCGS嵌入式组态软件提供了如下的调试功能。1)带有断点设置功能。可以选择任意任务中,在控制流程执行的任意位置停止。2)监控运行系统运行状态。通过串口或TCP/IP网络通讯,采集运行系统实时数据库各个数据对象的数值,并在上位机的调试环境中显示出来。3)在线修改。
2、就是宿主机(一般是电脑)与目标机(嵌入式系统)之间跨平台进行调试(一个是x86架构处理器,一个是ARM或其他嵌入式微处理器),这种跨平台的调试就叫交叉调试。当然,宿主机与目标机之间存在某种通信方式,以太网通信或串口通信等。
3、所谓交叉编译就是在一个平台上生成可以在另一个平台上执行代码。宿主机和目标机一般将进行交叉编译主机称为宿主机,也就是普通通用PC,而将程序实际运行环境称为目标机,也就是嵌入式系统环境。
4、Windows+Cygwin+GCC+GDB+调试接口;Windows+Eclipse+GCC+调试接口;Windows+专业的商业Linux开发环境+调试接口;Windows+专用的嵌入式Linux开发环境(如Android的SDK)+调试接口;Linux+GCC+GDB+Linux图形界面开发环境+NFS;...等等。暂列这么多,更多的列不完。
5、嵌入式产品开发流程:建立交叉开发环境:开发主机的操作系统一般选用某一个发行版本号的linux系统,如RedHatlinux等。linux内核版本号能够依据项目的详细需求而定,如4内核或者6内核。
硬件系统的调试:嵌入式系统的调试包括硬件调试1)排除逻辑故障 2)排除元器件失效 3)排除电源故障 3)实时在线仿真调试 实时在线仿真(In—Circuit Emulator。ICE)是目前最有效的调 试嵌入式系统的手段。
指令集模拟器部分集成开发环境提供了指令集模拟器,可方便用户在PC机上完成一部分简单的调试工作,但是由于指令集模拟器与真实的硬件环境相差很大,因此即使用户使用指令集模拟器调试通过的程序也有可能无法在真实的硬件环境下运行,用户最终必须在硬件平台上完成整个应用的开发。
软件调试的方法有很多,包括: 1)用指示灯跟踪调试; 2)用串口打印调试; 3)用简单的调试器进行汇编代码级调试; 4)用比较高端的调试器进行源代码级调试; 5)用仿真器进行硬件仿真。 上述单纯的硬件调试或软件调试都是相对比较简单的,困难的是综合调试。
调用Linux内核映像Bootloader完成的最后一项工作便是调用Linux内核。如果Linux内核存放在Flash中,并且可直接在上面运行(这里的Flash指NorFlash),那么可直接跳转到内核中去执行。
1、实时在线仿真调试实时在线仿真(In—CircuitEmulator。ICE)是目前最有效的调 试嵌入式系统的手段。1)软件调试主机和目标板通过某种接口(一般是串口)连接,主机上提供调试界面,把调试软件下载到目标板上运行。
2、驻留监控软件 驻留监控软件(ResidentMonitors)是一段运行在目标板上的程序,集成开发环境中的调试软件通过以太网口、并行端口、串行端口等通讯端口与驻留监控软件进行交互,由调试软件发布命令通知驻留监控软件控制程序的执行、读写存储器、读写寄存器、设置断点等。
3、一般来说,软件测试有7个基本阶段,即单元或模块测试、集成测试、外部功能测试、回归测试、系统测试、验收测试、安装测试。嵌入式软件测试在4个阶段上进行,即模块测试、集成测试、系统测试、硬件/软件集成测试。