【精选】嵌入式系统上电后程序的运行过程

您所在的位置:网站首页 2416开发板第一次上电找不到优盘 【精选】嵌入式系统上电后程序的运行过程

【精选】嵌入式系统上电后程序的运行过程

2023-11-18 03:22| 来源: 网络整理| 查看: 265

文章目录 前言一、ROM 与 RAM1.1 ROM1.2 RAM 二、两类嵌入式系统2.1 无操作系统2.1 有操作系统 三、NAND FLASH 与 NOR FLASH3.1 NAND FLASH3.2 NOR FLASH 四、开始执行代码的地址五、上电后怎么执行我们的程序六、总结

前言 微控制器(单片机)上电后,是如何寻找到并执行main函数的呢?很显然微控制器无法从硬件上定位main函数的入口地址,因为使用C语言作为开发语言后,变量/函数的地址便由编译器在编译时自行分配,这样一来main函数的入口地址在微控制器的内部存储空间中不再是绝对不变的。无论性能高低,结构简繁,价格贵贱,每一种微控制器(处理器)都必须有启动文件,启动文件的作用便是负责执行微控制器从“复位”到“开始执行main函数”中间这段时间(称为启动过程)所必须进行的工作。但开发环境往往自动完整地提供了这个启动文件,不需要开发人员再行干预启动过程,只需要从main函数开始进行应用程序的设计即可。那么嵌入式系统上电后第一步做的事情是什么?是怎么样去执行我们的第一行代码的呢? 一、ROM 与 RAM CPU的基本原理都相似,简单理解都是取指令和数据、执行指令处理数据。那么是从哪里取指令,指令存储在哪?就涉及到存储指令的介质了,这种介质可以是ROM和RAM,两种不同的存储介质,他们都可以做为存储指令的介质。 1.1 ROM

只读存储器,CPU只能从里面读数据,而不能往里面写数据,掉电后数据依然保存在存储器中 ; 主要存放我们的二进制程序代码 , 每次重新上电都会存在。

1.2 RAM

是随机存储器,CPU既可以从里面读出数据,又可以往里面写入数据,掉电后数据不保存;这个数据不是人为写入的,是CPU写入的。主要存放我们程序运行过程中产生的数据,程序的运行只能在RAM,不能在ROM,ROM只是起到一个存放的作用。

一个与计算机专业相关的人,应当区分内存和存储这两个不同的概念,内存直接与性能挂钩,决定的是一个机器的卡顿与不卡顿问题,存储是与容量挂钩,决定的是一个机器可以存放多少G,甚至是多少T的东西。上面的ROM可以理解为存储,而RAM对应的则是内存。好比我们的手机 256G+8G , 这个256G所说的就是存储,8G说的就是内存。 二、两类嵌入式系统 2.1 无操作系统

应用软件直接建立在硬件上,没有专门的操作系统,软件的规模也较小,基本上都是硬件的附属品。

2.1 有操作系统

程序员在开发应用程序的时候,不是直接面对嵌入式硬件设备,而是在操作系统的基础上进行编写,提高了开发效率,有利于系统的移植和扩展。

三、NAND FLASH 与 NOR FLASH 3.1 NAND FLASH

非易失闪存(掉电不丢失)的一种,但是它虽然有数据总线,但是没有地址总线,所以cpu不能直接从NANDFLASH中取指运行,由于它价格便宜,所以常常用来存储大量数据,和我们常说的硬盘类似

3.2 NOR FLASH

非易失闪存,是一种外部存储介质,芯片内执行,应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中,由于它有地址总线,cpu可以直接从norflash中取指,直接从FLASH中运行程序,但是工艺复杂,价格比较贵,容量较小。

四、开始执行代码的地址 必须要知道的是,所有的处理器PC指针复位值都会是0,表示CPU从0地址开始执行指令。这个0地址是个很讲究的东西。通常有下面几种: 片内的SRAM外部总线上的NOR FLASH片内固化的ROM CODE。(这个一般对应的没有操作系统的嵌入式系统)

那么怎么知道map哪个呢,这种情况下CPU还没开始跑,所以只能依赖于硬件逻辑。例如ARM9将SRAM map到0地址。

五、上电后怎么执行我们的程序

对ARM而言:

开机后,ARM有两种启动方式,一种是直接从0地址的NOR FLASH开始启动;一种是先将NAND FLASH中前4K的内容拷贝到内部4K的RAM中运行,并设定CPU从这个地址开始启动执行。

使得有上述两种不同启动方式的原因是:人为使芯片上OM0,1管脚的电平不同。

硬件实现的拷贝或自举,不需要软件进行干预,所以就不需要所谓的驱动程序。

六、总结

系统上电后,处理器PC指针复位值是0,第一步就是从0地址开始执行指令,这个0地址可以是RAM,也可以是NOR FLASH,主要看硬件设计怎么映射,对于有操作系统的嵌入式系统,通常最先执行的都是bootloader。没有操作系统的一般都是一些固化在rom中的自举程序。

本文纯属个人理解 , 经供参考 , 如有错误 , 欢迎大家在下方评论指出。



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3