找回密码
 注册
关于网站域名变更的通知
查看: 239|回复: 1
打印 上一主题 下一主题

熟知ARM如何构架,了解嵌入式系统基本核心

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-5-25 10:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
目前在嵌入式开发的过程中,开发者往往把大量精力投入到嵌入式微处理器MPU与众多外设的连接方式以及应用代码的开发之中,而忽视了对嵌入式系统最基本、最核心部分的研究。
; P3 b4 Y1 K" [. R- a7 L- N: k. |1 K0 d
启动架构是嵌入式系统的关键技术。掌握启动架构对于了解嵌入式系统的运行原理有着重要的意义。嵌入式系统在启动时,引导代码、操作系统的运行和应用程序的加载主要有两种架构,一种是直接从 Nor Flash 启动的架构,另一种是直接从 Nand Flash 启动的架构。
1 L) h" w  ^9 r( N4 G
$ w. a+ O* Q  z; w

3 S% E  `/ Q9 ]; [: \ , y6 ]# f9 t+ y4 b
2 G' {# C! n" _& n1 g
需要注意的是,在嵌入式系统启动引导的过程中会有多种情况出现,如 vxWorks 的启动代码 bootrom 就有压缩和非压缩,驻留和非驻留方式之分,而操作系统本身也多以压缩映象方式存储,所以启动代码在执行和加载过程中需要根据不同的情况,作出相应的处理。# @( C; C4 h  `. W
, q5 q4 h5 o5 Z; V/ O, o- v  w
1 从 Nor Flash 启动% W6 `4 d2 v4 B% X
Nor Flash 具有芯片内执行(XIP,eXecute In Place)的特点,在嵌入式系统中常做为存放启动代码的首选。从 Nor Flash 启动的架构又可细分为只使用 Nor Flash 的启动架构和 Nor Flash 与 Nand Flash 配合使用的启动架构。图 5 给出了这两种启动架构的原理框图。3 _# R  H, n' T, l1 Z# ^
0 _! j) j1 w4 G" u
1.1 单独使用 Nor Flash
% T, [; |0 L  ]2 P! E  G4 j( H# }# Q在该架构中,引导代码、操作系统和应用代码共存于同一块 Nor Flash 中。系统上电后,引导代码首先在 Nor Flash 中执行,然后把操作系统和应用代码加载到速度更高的 SDRAM 中运行。另一种可行的架构是,在 Nor Flash 中执行引导代码和操作系统,而只将应用代码加载到 SDRAM 中执行。/ l( T6 @6 i1 A$ z" ~

2 b- c5 G9 G  A$ ?该架构充分利用了 Nor Flash 芯片内执行的特点,可有效提升系统性能。不足在于随着操作系统和应用代码容量的增加,需要更大容量昂贵的 Nor Flash 来支撑。
6 B; B( f1 z" _  _. ]: N8 T
  i! @3 e6 M' C2 J: }* f; w6 ^; X1.2 Nor Flash 和 Nand Flash 配合使用8 X! ?& M/ v, m3 G" o5 h
Nor Flash 的单独使用对于代码量较大的应用程序会增加产品的成本投入,一种的改进的方式是采用 Nor Flash 和 Nand Flash 配合使用的架构。在该架构中附加了一块 Nand Flash,Nor Flash(2M 或 4M)中存放启动代码和操作系统(操作系统可以根据代码量的大小选择存放于 Nor Flash 或者 Nand Flash),而 Nand Flash 中存放应用代码,根据存放的应用代码量的大小可以对 Nand Flash 容量做出相应的改变。  g; Z  r) I9 z  p' _
7 g+ M) v, Q3 S0 M& p* H
系统上电后,引导代码直接在 Nor Flash 中执行,把 Nand Flash 中的操作系统和应用代码加载到速度更高的 SDRAM 中执行。也可以在 Nor Flash 中执行引导代码和操作系统,而只将 Nand Flash 中的应用代码加载到 SDRAM 中执行。该架构是当前嵌入式系统中运用最广泛的启动架构之一。
- ]4 ~  l' x! i% h) ?& A) l5 j5 F# c* B% w9 u6 p
1.3 从 Nand Flash 启动3 R  |) |! X: a4 o" k( |
有些处理器如 SamSung 公司的 ARM920T 系列处理器 S3C2410 支持从 Nand Flash 启动的模式,它的工作原理是将 NandFlash 中存储的前 4KB 代码装入一个称为 Steppingstone(BootSRAM)的地址中,然后开始执行该段引导代码,从而完成对操作系统和应用程序的加载。该方式需要处理器内部有 NAND 控制器,同时还要提供一定大小额外的 SRAM 空间,有一定的使用局限性,在实际开发中较少使用。
0 h# h; `* D8 {' ~) }2 M& H- ~% H* j' v
  • TA的每日心情
    慵懒
    2022-12-26 15:28
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-5-25 11:21 | 只看该作者
    启动构架是嵌入式系统的关键技术
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-26 02:00 , Processed in 0.156250 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表