目录
BIOS是什么?BIOS的作用是什么?它是如何引导后续启动的?
C语言和C++有什么区别?例如 static,malloc 和 new 的用法。
C++中的重写(override)、重载(overload)和隐藏(hiding)分别是什么?
单片机 STM32F103 和 STM32F429 的区别是什么?
数组和链表之间的区别是什么?它们的存储方式有何不同?如何处理数组越界问题?
如何定义一个指向接受两个 int 参数并返回 int 的函数的指针类型?
C++中 private、protected 和 public 访问修饰符的特点是什么?
U-Boot启动流程是什么?
U-Boot (Universal Boot Loader) 是一个广泛使用的开源嵌入式系统引导加载程序。它支持多种架构,包括但不限于ARM、PowerPC、x86等。U-Boot的启动流程大致可以分为以下几个步骤:
-
初始化硬件
- 复位处理器和外设。
- 设置时钟频率。
- 初始化内存控制器以正确配置SDRAM。
- 初始化串口或其他调试端口以便进行调试输出。
-
环境变量加载
- 加载环境变量,这些变量通常存储在非易失性存储器中,如NAND Flash或EEPROM。
- 环境变量包含重要的启动参数,例如启动内核映像的位置、启动参数等。
-
内存测试
- 执行简单的内存测试,以确保内存正常工作。
-
检测存储介质
- 检测可用的存储介质,如NAND Flash、NOR Flash、SD卡等,并设置相应的驱动程序。
-
加载内核映像