礼貌取码
点赞 1

相关推荐

Bootloader也叫做引导加载程序。在嵌入式系统上电复位后首先运行引导加载程序,它的功能主要是负责系统的上电自检、必要的硬件初始化、建立储存空间映射,并加载和启动操作系统。Bootloader一般储存在bootROM中,当前使用最多的类型是NOR flash rom,在大多数的嵌入式系统中,flash里边不仅储存了bootloader,还储存了用户程序代码。接下来说一下bootloader如何加载用户程序, 有以下四种方式:方式一:在flash中运行也就是说在嵌入式系统上电或者复位后,执行bootloader代码,完成必要的硬件初始化后, 直接跳转到flash中用户程序的入口地址继续执行。方式二:在RAM中运行在单片机上电或者复位后,在flash中执行bootloader代码,完成必要的硬件初始化,接下来将flash中的操作系统和用户程序代码拷贝到RAM中,然后跳转到ram中的用户程序入口地址执行程序。方式三:从外存储器加载这种情况下,用户程序不存在flash中,而是存在外存中,但是bootloader还在flash中,此时在bootloader中必须要有访问外存的驱动程序,在处理器上电复位后,执行flash中的存放的bootloader代码,完成硬件初始化,通过外存驱动程序去读取外存中的用户程序,并将其复制到RAM中,然后跳转到用户程序的入口地址。方式四:从通信端口加载这种方式与方式三类似,不过需要在访问外存的驱动程序中添加通信端口的驱动程序,比如串口、以太网等,一般用于固件程序的更新调试。前三种方式属于启动加载模式,这是嵌入式系统正常工作时使用的启动方式。第四种加载方式属于下载模式,这是在调试或者维护更新阶段使用的系统启动方式。在下载模式下,bootloader 会通过通信端口从上位机或者服务器上下载操作系统映像/用户程序,暂存到RAM中,然后将其烧录到flash中,也可以烧录到SRAM中运行。最后,如果有需要《STM32➕RTOS项目》、《嵌入式八股文合集》及《Freertos开发手册》等资料,也可以私信笔者获取。
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务