跳过导航.
首页

S3C2410

是Samsung公司生产的一款基于ARM920T处理器的片上系统,制造工艺为0.18um,核心1.8V供电。 S3C2410处理器主频有203MHz和266MHz两个版本,内含32-bit宽SDRAM控制器。 该处理器拥有的其他特性: 独立的16KB指令Cache和16KB数据Cache MMU存储器管理单元,支持虚拟内存,可以运行Linux/WindowsCE/Vxworks等操作系统 LCD控制器,支持TFT/STN等多种液晶屏 带硬件ECC的NAND闪存控制器 3个UART接口 4通道DMA 4个带PWM功能的Timer 内置RTC实时时钟 8通道10位ADC,包含Touch Screen接口 IIC总线接口,同时支持主模式和从模式 IIS数字音频接口 2个USB主机接口,1个USB设备接口 SD/MMC接口 2个SPI接口,可支持主设备和从设备

ZIX嵌入式开发环境下载

匿名下载ftp服务器

ftp.linuxbj.com

用户名 anonymous+linuxbj.com
密码为空

 

ZIX-1.6.0.3版下载地址

ftp://anonymous+linuxbj.com@ftp.linuxbj.com/ZIX/ZIX-1.6.0.3.iso

 

ZIX-1.6.0.2版下载地址

ftp://anonymous+linuxbj.com@ftp.linuxbj.com/ZIX/ZIX-1.6.0.2.iso

 

嵌入式ARM硬件资料汇编

 

ARM指令集参考手册(pdf)

S3C2410 用户手册 (pdf)
S3C2410 IIC 应用笔记 (pdf)
S3C2410 RTC 应用笔记 (pdf)

u-boot 结构分析 —— 基于S3C2410

u-boot是广泛应用于嵌入式系统的bootloader,该软件主页是http://www.denx.de/wiki/U-Boot

 

解压缩开代码包后,以下几个目录中分类存放了主要的源码

board目录——用于放置板支持代码,相当于bootloader级的BSP。与特定板相关的代码包括频率合成、GPIO、板参数、调试串口、能源管理、按键处理等。如本例子的板级代码

linux内核启动过程——基于S3C2410 (2)Image早期初始化

从zImage头跳转进来,此时的状态

  • MMU为off
  • D-cache为off
  • I-cache为dont care,on或off没有关系
  • r0为0
  • r1为machine ID
  • r2为atags指针

内核代码入口在linux-2.6.24-moko-linuxbj/arch/arm/kernel/head.S文件的83行。首先进入SVC32模式,并查询CPU ID,检查合法性

linux内核启动过程——基于S3C2410 (1)zImage自解压

本文以流行的Samsung公司的S3C2410,openmoko平台和linux-2.6.24为例,介绍如何在ZIX嵌入式开发环境下探索linux内核启动过程。

Linux内核启动一般由外部的bootloader引导,也可以在内核头部嵌入一个loader,实际的应用中这两种方式都会经常遇到。所以要了 解内核启动最开始的过程,必须对bootloader如何引导内核有所熟悉。下面我们从u-boot加载linux内核的代码开始分析(关于u-boot 自身的启动流程,请参考u-boot 启动过程 —— 基于S3C2410)。

在u-boot的do_bootm_linux函数里,实现了处理器架构相关的linux内核加载代码,特别是tags传递。

u-boot 启动过程 —— 基于S3C2410

本文以流行的Samsung公司的S3C2410,openmoko平台和u-boot-1.3.2(2008.5 发布)为例,介绍如何在ZIX嵌入式开发环境下探索u-boot启动过程。

同步内容