嵌入式面试题-3

常见面试题

  1. 说一说什么是BootLoader⭐⭐⭐⭐⭐

    BootLoader就是在运行操作系统内核之前所运行的一段小程序。通过这段小程序,可以对系统的硬件设备进行初始化、建立内存空间的映射图,从而将系统的软、硬件设置成一个合适的环境,以便为最终调用操作系统内核做好准备。嵌入式BootLoader的核心任务就是引导嵌入式操作系统运行起来

  2. 同一个BootLoader程序可以运行在不同的板子上吗?为什么?⭐⭐⭐⭐

    可能不行

    BootLoader不仅依赖于CPU的体系结构,也依赖于具体的嵌入式板级设备的配置,比如硬件地址分配,RAM芯片的类型及其他外设的类型等。也就是说,对于两块不同的嵌入式板而言,即使它们是基于同一种CPU而构建的,如果它们的硬件资源和配置不一致,要想让运行在一块板子上的BootLoader程序也能运行在另一块板子上,还需要对BootLoader进行裁剪和移植

  3. BootLoader的启动有哪两个阶段?⭐⭐⭐⭐⭐

    BootLoader的stage1通常包括以下步骤:

    • 硬件设备初始化。
    • 为加载BootLoader的stage2准备RAM空间。
    • 复制BootLoader的stage2到RAM空间中。
    • 设置好堆栈。
    • 跳转到stage2的C入口点。

    BootLoader的stage2通常包括以下步骤:

    • 初始化本阶段要使用的硬件设备。
    • 检测系统内存映像。
    • 将kernel映像和根文件系统映像从Flash上读到RAM空间中。
    • 为内核设置启动参数。
    • 调用内核。
  4. 说一说你熟悉的BootLoader⭐⭐⭐

    U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。其源码目录、编译形式与Linux内核很相似

    但是U-Boot不仅仅支持嵌入式Linux系统的引导,还支持相当多的操作系统,这是U-Boot中Universal的一层含义;其U-Boot主要有如下优点:

    • 开放源码;
    • 支持多种嵌入式操作系统内核,如Linux、NetBSD, VxWorks, QNX

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

<p> - 本专刊适合于C/C++已经入门的学生或人士,有一定的编程基础。 - 本专刊适合于互联网C++软件开发、嵌入式软件求职的学生或人士。 - 本专刊囊括了C语言、C++、操作系统、计算机网络、嵌入式、算法与数据结构等一系列知识点的讲解,并且最后总结出了高频面试考点(附有答案)共近400道,知识点讲解全面。不仅如此,教程还讲解了简历制作、笔试面试准备、面试技巧等内容。 </p> <p> <br /> </p>

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-23 17:32
那如果是字节外包呢?据我所知工牌无区别&nbsp;可以晒出去装X的那种
秋盈丶:残酷的是,都一样,管你是不是字节,不过我是很反对这种的,本是同根生,市场行情决定了用工的模式会有很多外包,分层只是单纯为了筛选
点赞 评论 收藏
分享
点赞 评论 收藏
分享
喜欢飞来飞去的雪碧在刷代码:可以试一试字节
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务