嵌入式系统常用的调试手段时交叉调试,主要分为软件调试和硬件调试两种方式。软件方式调试主要是通过插入调试桩的方式来进行的。调试桩方式进行调试是通过目标操作系统和调试器内分别加入某些功能模块,二者互通信息来进行调试。该方式的典型调试器有 Gdb 调试器。
硬件调试器的基本原理是通过仿真硬件的执行过程,让开发者在调试时可以随时了解到系统的当前执行情况。目前嵌入式系统开发中**常用到的硬件调试器是 ROMMonitor、ROMEmulator、In-CircuitEmulator 和 In-CircuitDebugger。
粤嵌嵌入式培训,三平台,三系统教学
课程简介
一、硬件上电
二、一级启动:bootROM
Boot ROM是厂商都无法进行更改,固化在芯片内部的ROM;
作用:确定用于启动的设备;
从启动的设备的位置搬移一小段代码(4k/8k/16k)到RAM中运行,即SPL;
三、二级启动:SPL+uboot
1.SPL: Secondary Program Loader:
作用:
初始化DDR;
从启动的设备搬移第二段代码到RAM中,加载uboot;
(有些SoC是将bootloader复制到RAM后,再进行DDR初始化;)
2.uboot: Universal boot loader:
U-Boot从启动设备上面读取、分析环境变量获得kernel和rootfs存储位置,以及所需的kernel command line;
自动检测系统RAM和eMMC/Nand Flash容量和参数;
设置以太网口MAC地址,并配置好硬件准备加载Linux kernel;
加载Linux kernel到RAM,至此系统控制权则转移到kernel来处理;
四、Linux Kernel
系统Kernel初始化Linux,加载rootfs,**后启动’init’来初始化Linux user space
五、不同的OS
Android、Yocto、ubuntu、fedora
补充:
一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:
1、 引导加载程序。包括固化在固件(firmware)中的boot代码(可选),和BootLoader两大部分。(bootROM,uboot)
2、Linux内核。特定于嵌入式板子的定制内核以及内核的启动参数。(linux kernel)
3、 文件系统。包括根文件系统和建立于Flash内存设备之上文件系统。通常用ramdisk来作为rootfs。
4、 用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。常用的嵌入式GUI有:MicroWindows和MiniGUI等。
BootLoader是一段小程序,主要功能是引导操作系统启动。可以把它想象成PC机Linux上的GRUB/LILO引导程序,只不过在嵌入式linux中,没有BIOS,而是直接从flash中运行,来装载内核。它可以初始化硬件设备,从而将系统的软硬件环境带到一个合适的状态,以便为**终调用操作系统做好准备
更多培训课程,学习资讯,课程优惠等学校信息,请进入 重庆粤嵌教育 网站详细了解,免费咨询电话:400-998-6158