EDA365电子论坛网

标题: 构建基于ARM920T的嵌入式Linux系统 [打印本页]

作者: abcde1234    时间: 2018-10-8 11:14
标题: 构建基于ARM920T的嵌入式Linux系统
 开发环境
  硬件环境
  本系统中使用目标平台S3C2410(SAM SUNG公司使用ARM920T处理器内核开发的一款嵌入式处理器)。ARM920T核由ARM9TDMI,存储管理单元(MMU)和高速缓存三部分组成。
  S3C2410的资源还包括外围存储设备(SDRAM和NandFlash),外围显示设备(触摸屏和LCD)与外围接口设备(串口、网口与并口)。
  软件平台
  嵌入式Linux系统从软件系统的角度通常可以分为以下4个部分。
  ·引导加载程序。包括固化在固件中的启动代码(可选)和Bootloader。
  ·内核。特定于嵌入式板子的定制内核以及控制内核引导系统的参数。
  ·文件系统。包括根文件系统和建立于Flash内存设备之上的文件系统。它是提供管理系统的各种配置文件以及系统执行用户应用程序的良好的运行环境的载体。
  ·用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会有一个嵌入式图形用户界面。同时装有Bootloader、内核启动参数、内核映象和根文件系统。
  嵌入式Linux系统移植的实现
  引导加载程序
  Boot Loader 是在操作系统内核运行之前运行的一段小程序。大多数 Boot Loader 都分为 stage1 和 stage2 两大部分。Stage1主要包含依赖于CPU的体系结构硬件初始化的代码,通常都用汇编语言来实现。这个阶段的任务有:(1)为基本的硬件设备初始化(屏蔽所有的中断、关闭处理器内部指令/数据cache等),(2)为第二阶段准备RAM空间(如果是从某个固态存储媒质中,则复制Bootloader的第二阶段的代码到RAM),(3)设置堆栈并跳转到第二阶段的C程序入口点。Stage2通常用C语言完成,以便实现更复杂的功能,也使程序有更好的可读性和可移植性。这个阶段的任务有:(1)初始化本阶段要使用到的硬件设备,检测系统内存映射。(2)将内核映像和根文件系统映像从Flash读到RAM。(3)为内核设置启动参数,调用内核。
 
8 v! ^7 F0 @) q8 }* O5 K4 Z
作者: Allevi    时间: 2018-10-8 16:48
谢谢分享




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2