S3c2451, S3C2416和S3C2440的选型参考
三星目前有如下几种通用ARM9主控CPU:
- S3C2440: 以下简称2440
- S3C2451:以下简称2451
- S3C2416:以下简称2416
简要说明:
就三星ARM9系列主控而言,根据以上三款CPU的芯片手册性能参数来看,2451是2440的最佳替代品,2416次之。
简单的讲:
接口资源方面:2451 > 2440 > 2416,其中2451的接口更加接近2440,还有多余,可以做到完全兼容;2416的接口少于2440,无法做到完全兼容。
最高运行速度:2451 > 2416 = 2440
芯片价格:2451 < 2440 > 2416
实际上,2416可以称为2451的缩减版,包括bootloader在内,2416的所有程序,都可以在相同外设的2451平台上运行。在三星提供的开发资料中,2416和2451所用的VID/PID (制造商ID/产品ID)都是完全一样的。
我们设计了Mini2451用以代替Mini2440,Micro2451代替Micro2440,它们的接口尺寸和引出管脚都是几乎完全一致的,并且Micro2451和Mini2451的软件可完全通用。
我们还设计了Tiny2416和Tiny2451核心板,它们可兼容Tiny6410和Tiny210,底板可通用;用户可以根据不同的产品功能特性,来选择合适的型号。
下面是2451, 2416和2440主要性能参数对比(来三星官方CPU数据手册)
Tiny2451核心板简介
Tiny2451是一款基于三星ARM9 S3C2451主处理器的高性能低功耗嵌入式核心板,由广州友善之臂设计、生产和发行销售。S3C2451基于ARM926EJ架构核设计,运行最高主频可达533Mhz,相较S3C2440而言,它可支持SD启动,miniUSB 2.0,并可支持使用DDR2内存,具有更多的IO口等优良特性。
Tiny2451核心板采用了常见的2.0mm间距双排针,引出CPU大部分常用功能引脚,排针定义可兼容Tiny2416/Tiny6410/Tiny210,因此它们可共用同一个底板。Tiny2451标配128M和256M闪存(SLC),并可选配1GB闪存(SLC)。 Tiny2451可供不打算自行设计CPU板的开发者进行快捷的二次开发使用,非常便于中小型企业快速产品上市。
TinySDK是一款通用开发参考底板,可支持Tiny2416/Tiny2451/Tiny6410/Tiny210系列核心板。它主要帮助开发者以此为参考进行核心板的功能验证以及扩展开发。该底板具有不同位置的3个LCD接口(支持一线触摸,和I2C电容触摸),以便不同尺寸的LCD安装固定;还带有100/10M自适应标准网络接口、标准DB9五线串口x2、MiniUSB 2.0接口、USB Host x4、3.5mm音频输入输出口、弹出式SD卡座等常用接口;另外还引出4路TTL串口,SDIO2接口(可接SD WiFi之用),CMOS Camera接口(Tiny2416不支持)接口,多余的GPIO口等;在板的还有蜂鸣器、I2C-EEPROM、备份电池、AD可调电阻、4个中断式按键等资源。
我们还充分地发挥了2451支持SD卡启动这一特性,精心研制了Superboot-62451,无需连接电脑,只要把目标文件拷贝到SD卡中(可支持高达32G的高速大容量卡),你就可以在开发板上极快极简单地自动安装各种嵌入式系统(WindowsCE 6.0/Linux/裸机程序/uCos2等);甚至无需烧写,就可以在SD卡上直接运行它们!配合MiniTools,开发者还可以十分方便地通过USB下载单个文件到内存运行,MiniTools可支持WindowsXP/Vista/7/8(含32/64-bit),以及各种Linux发行平台环境,非常便于调试之用!
Tiny2451核心板硬件资源特性
CPU处理器
-
CPU: Samsung S3C2451,基于ARM926EJ,运行主频400Mhz,最高可达533Mhz
DDR2 RAM内存
FLASH存储
-
标配256M SLC NAND Flash
-
可选1GB SLC NAND Flash
接口资源
-
2 x 60 pin 2.0mm space DIP connector
-
2 x 30 pin 2.0mm space DIP connector
在板资源
-
4 x User Leds (Green)
-
10 pin 2.0mm space Jtag connector
-
Reset button on board
-
Supply Voltage from 2V to 6V
PCB规格尺寸
-
6层高密度电路板,采用沉金工艺生产
-
64 x 50 x 12 (mm)
操作系统支持
-
Superboot-2451
-
Linux-3.6 + Qtopia2/QtE-4.8.5
-
WindowsCE 6.0
-
裸机教程
-
uCos2
兼容Tiny2416/Tiny/6410/Tiny210
Tiny2451开发参考底板 Tiny2451的开发参考板如图所示(可兼容Tiny2416/Tiny6410/Tiny210),光盘中有该它的PCB文件(Allegro格式),因生产批次不同,请以实物为准
-
LCD分辨率:800x480
-
触摸: 精准一线电阻触摸
-
背光: LED背光,背光可调
-
存储容量: 128M内存,256M闪存
-
预装OS: Linux
-
供电: 5V/2A
LCD显示屏系列以下LCD均采用一线接口触摸,Superboot可自动探测它们的型号,各个系统即插即用,十分方便。比如,如果你的开发板(配7寸屏)烧写了Linux系统,若要使用10.1寸屏(W101),只需更换一下LCD即可,无需重新刷机,也无需设置任何参数。
尺寸
型号
S70
W35B
主要特性
-
分辨率:800x480
-
触摸:精准一线电阻触摸
-
LED背光,背光可调
-
带精致面板,方便固定安装
-
外形尺寸:180 x 130(mm)
-
供电: 5V/1A
-
分辨率:320x240
-
触摸: 精准一线电阻触摸
-
LED背光,背光可调
-
带精致面板,方便固定安装
-
外形尺寸:100 x 78(mm)
-
供电: 5V/1A
其他配件
名称
USB 3G上网卡
USB高清摄像头
型号
E261
CAM-C270
N8508
主要特性
-
制式: HSUPA/WCDMA
-
频段:·UMTS2100/1900/1700/900/850MHz
·GSM1900/1800/900/850MHz
-
速度: 7.2M/5.76Mbps
-
外形尺寸: 26.80 x 30 x 4.7mm
-
VID:PID : 12d1:140c
-
适用OS: Linux
-
品牌: 罗技
-
照片: 分辨率高达300万像素
-
视频拍摄像素: 1280x720
-
带有降噪功能的内置麦克风
-
接口: USB 2.0
-
提示: 以上特性为原厂商针对PC提供,因开发板性能有限,不一定能完全发挥
-
无线标准: IEEE 802.11b/g/n
-
传输速率: 150Mbps
-
芯片: RTL8192CU
-
接口类型: USB
-
尺寸: 18 x 14 x 6mm
-
OS支持:Linux
名称
RS232串口转接板
USB摄像头模块
售价(不含税)
RMB 50
RMB 80
订货型号
SC001
UC001
主要特性
-
用于把TTL电平串口转为RS232,并通过DB9接口引出
-
输入电压:5V
-
PCB外形尺寸:40 x 40m (mm)
-
像素:130w
-
USB 2.0(可兼容USB 1.1)即插即用
-
输出信号格式: YUV2/MJPG
-
输出引脚位数:5Pin
-
工作电压: USB 5V
-
外形尺寸: 60x8x7.1 (mm)
Linux + Qt软件系统特性
最完善的Linux系统,支持Qt2/4图形系统自由切换
交叉编译器
arm-linux-gcc-4.4.3 和Mini2440通用,支持硬浮点运算, 独家提供
Superboot-2451
SD卡极速刷机,一键USB下载,批量装机、开发更方便
-
支持FAT格式SD卡脱机快速安装或更新系统(Linux/WinCE/uCos2/裸机程序等),可更新单个文件或多个文件,简单易用
-
支持真正的USB一键烧写,可选择单个或多个文件,一个按钮搞定,无需串口,独家首创
-
支持从SD卡直接启动WindowsCE等系统
-
USB底层驱动采用谷歌Fastboot接口,世界通用,真正跨平台
-
支持烧写bin文件和YAFFS2/EXT33/EXT4等多种格式系统映像
-
支持NAND烧写和启动校验,更加稳定可靠
-
支持自动探测硬件配置信息: 可通过LCD显示,或串口输出,包括RAM大小,Flash类型等
-
支持烧写进度条百分比提示
-
支持烧写过程LED或蜂鸣器提示:适用于单板无屏的情况
-
支持自动识别MMC/NAND启动,高效智能
-
支持NAND启动时,按下K1键进入USB模式,以便开发调试之用
-
支持用户自定义Linux启动参数(可设置为NFS启动等),设置灵活
-
支持用户自定义WindowsCE Logo(任意BMP格式文件即可),非常简单
-
支持烧写过程LED或蜂鸣器提示:适用于单板无屏的情况
-
支持USB下载到内存运行,用户可指定下载地址,令开发更加高效
-
烧写工具SD-Flasher支持WindowsXP/Vist/Windows7/Linux等各种发行版
Superboot专门为企业级用户定制,
不开源
Linux 内核
版本: Linux-3.6 完善的BSP 支持YAFFS2/CRAMFS/NFS/UBIFS/NFS/FAT32等格式的文件系统 提供源代码, 内核自带 看门狗驱动 提供源代码, 三星原厂BSP所带 RTC驱动 提供源代码, 三星原厂BSP所带 4个LED驱动 提供源代码, 友善之臂添加 4个用户按键驱动 提供源代码, 友善之臂添加 SPI驱动 提供源代码, 内核自带, 未经验证 I2C-EEPROM驱动 提供源代码, 三星原厂BSP所带 PWM控制蜂鸣器驱动 提供源代码, 友善之臂添加 ADC驱动(通道: AIN0) 提供源代码, 友善之臂添加 CPU本身所带触摸屏控制器驱动 提供源代码, 三星原厂BSP所带(未采用,见一线触摸) 一线精准触摸驱动 提供源代码, 友善之臂添加 LCD背光驱动, 支持127级可调 提供源代码, 友善之臂添加 LCD驱动(4.3",5",7",8",10"等): 支持旋转 提供源代码, 友善之臂移植,可通过一线协议自动识别LCD类型,因此共用一个内核 USB Host驱动: 支持优盘,蓝牙等 提供源代码, 三星原厂BSP所带 SD卡驱动 提供源代码, 三星原厂BSP所带,友善之臂修改移植 4个串口驱动 提供源代码, 三星原厂BSP所带 SD WiFi驱动 暂不支持 USB WiFi驱动:内核自带,对某些类型的卡支持不是太好 提供源代码, 内核自带 USB WiFi驱动:可支持更多型号USB无线网卡,更加完善 驱动模块,缺省系统已经包含此驱动 音频驱动(WM8960:支持录音和放音,ALSA接口,支持D类功放) 驱动模块, 友善之臂添加移植 以太网络(DM9000AEP) 提供源代码, 友善之臂移植 CMOS摄像头驱动(OV8650) 暂不支持 2D加速 提供源代码, 三星原厂BSP所带 USB转串口驱动: 提供源代码, 内核自带 3G驱动: 友善之臂添加,实际就是USB转串口驱动 提供源代码, 友善之臂移植
嵌入式图形系统
Qtopia-2.2.0 提供全部平台源代码,分为x86和arm两个版本 Qt/Embedded-4.8.5 提供全部平台arm版本源代码
-
支持触摸屏和USB鼠标共存
-
支持Qtopia2和QtE-4.8.5运行时自由切换
独家提供
实用测试程序
以下图形界面程序基于Qt2/4创建开发,均为友善之臂独家提供,主要用于系统测试,不提供源代码 3G拨号上网
-
支持WCDMA, CDMA2000, TD-SCDMA等多种网络制式
-
支持开机自动3G拨号上网
GPRS短信 支持连接串口或USB口GPRS Modem短信收发,支持群发短信 ADC测试程序 动态显示ADC转换的结果 LED测试 Buttons测试 I2C测试 用于测试EEPROM读写,十分方便使用 LCD测试 支持手动和自动模式 Ping测试 图形界面的Ping测试,支持永久Ping和暂时Ping USB摄像头测试 支持动态预览和拍照,支持万能USB摄像头驱动 录音测试 支持ALSA接口的录音
Web浏览器一个完全开源的嵌入式浏览器 Arora浏览器 一个完全开源的浏览器,基于WebKit引擎,支持现代网页渲染 看门狗测试 开启后,只有不停地喂狗才能保证系统不重启 网络设置 可设置IP地址,DNS,网关等网络参数,并可保存设置 背光控制
语言设置 支持中文,英文和日文等语言设置 随手写 主要用于触摸笔的准确性测试 MMC/SD卡和优盘自动挂载和卸载 挂载后可在任务栏出现优盘或SD卡图标 Qt-4.8.5.0切换器 可在运行时自由切换到Qtopia-2.2.0系统,不必重启
其他重要系统特性
-
内置telnet, ftp等网络工具命令
-
内置Telnet Server
-
内置Web Server: 基于Boa
-
内置Ftp Server
-
内置Python: 强大的脚本编程语言,可直接访问控制底层硬件,可调用C程序库,非常适合物联网应用开发
-
内置ssh: 用于远程访问和设备管理,文件传输等,非常适合远程调试开发和管理
此栏预留
Windows CE6.0软件系统特性
2451采用128M DDR2,容量更大,速度更快,完美替换2440
开发环境
Visual Studio 2005
Superboo-2451
SD卡极速刷机,一键USB下载,批量装机、开发更方便
-
支持FAT格式SD卡脱机快速安装或更新系统(Linux/WinCE/uCos2/裸机程序等),可更新单个文件或多个文件,简单易用
-
支持真正的USB一键烧写,可选择单个或多个文件,一个按钮搞定,无需串口,独家首创
-
支持从SD卡直接启动WindowsCE等系统
-
USB底层驱动采用谷歌Fastboot接口,世界通用,真正跨平台
-
支持烧写bin文件和YAFFS2/EXT33/EXT4等多种格式系统映像
-
支持NAND烧写和启动校验,更加稳定可靠
-
支持自动探测硬件配置信息: 可通过LCD显示,或串口输出,包括RAM大小,Flash类型等
-
支持烧写进度条百分比提示
-
支持烧写过程LED或蜂鸣器提示:适用于单板无屏的情况
-
支持自动识别MMC/NAND启动,高效智能
-
支持NAND启动时,按下K1键进入USB模式,以便开发调试之用
-
支持用户自定义Linux启动参数(可设置为NFS启动等),设置灵活
-
支持用户自定义WindowsCE Logo(任意BMP格式文件即可),非常简单
-
支持烧写过程LED或蜂鸣器提示:适用于单板无屏的情况
-
支持USB下载到内存运行,用户可指定下载地址,令开发更加高效
-
烧写工具SD-Flasher支持WindowsXP/Vist/Windows7/Linux等各种发行版
Superboot专门为企业级用户定制,
不开源
WindowsCE BSP特性
常规特性
-
串口驱动:支持完善的4个串口驱动,可以直接连接GPRS Modem、RS485转接等串口设备,可通过简单修改头文件定义options.h指定UART0作为DEBUG输出或普通串口功能
-
RTC驱动: 支持可掉电保持实时时钟
-
Watchdog驱动:支持
-
NAND Flash驱动: 支持256M/512M/1G SLC NAND闪存,支持掉电保存数据(仅限"NAND Flash"目录)
-
LCD驱动: 支持480x272, 640x480, 800x480, 800x600, 1024x768等分辨率各种尺寸的真彩LCD(含3.5", 4.3", 5", 7", 8", 10.1", 12"等尺寸),支持一线协议自动识别LCD类型,即插即用
-
触摸屏驱动:支持一线触摸,更加精准稳定的驱动,可提供一线触摸的单片机固件
-
背光驱动:支持一线控制的背光调节,最高可达128级,可设定背光关闭时间,并通过按键,触摸屏,键盘,鼠标等唤醒
-
网卡驱动: 支持DM9000AEP以太网卡驱动, 100/10M兼容,支持用户自定义网卡MAC地址,可设定静态IP地址或DHCP
-
音频驱动: 支持WM8960音频输出
-
SD卡驱动: 可支持SDHC(高速大容量卡),最高可达32G
-
USB Host驱动:支持USB 1.1,可接优盘,键鼠等外设即插即用
-
USB Device驱动: 支持USB 2.0同步通讯
-
LED驱动: 4个,用户可自定义功能
-
按键驱动:4个,用户可自动定义功能
-
PWM驱动:支持板载PWM控制蜂鸣器,可以自由调节输出频率
-
ADC驱动:支持12-bit精度ADC转换
-
SPI驱动:原厂自带,未经测试
-
I2C驱动:支持板载WM8960音频芯片控制
-
支持注册表保存
-
开机程序自动运行:支持用户指定开机程序自动运行,非常便于企业用户特定功能程序的开机设定
-
开机Logo: 支持通过SD卡脱机更新开机Logo, 或通过USB下载更新,开机Logo可为普通的bmp格式文件
-
支持开机进度条指示
-
系统安装或更新: 支持SD卡脱机更新Nk.bin系统ROM,或通过USB下载更新系统,支持多平台USB驱动,一键操作,简单易用!
实用测试程序
LED-Test:LED测试 Buttons: 按键测试 ADC测试:测试ADC转换,位于系统的/Windows目录 watchdog: 测试看梦狗功能 Backlight: 测试背光控制 PWM-Buzzer: 测试PWM控制蜂鸣器输出 SerialPort: 串口助手 AutoRun Setting: 设置开机自动运行,非常适合公司客户用来开机自动运行专用程序 iMac: 在线设置开发板的MAC地址 此栏预留 裸机示例及教程面对S3C2440芯片的停产,后继ARM9主控平台S3C2451资料的缺乏,对于很多嵌入式ARM开发者和爱好者,特别是初学者,如何从底层开始了解和学习2451,绝非是一件容易的事!为此,友善之臂的工程师,花了很多时间和心血,基于Mini2451开发板编写了这份项详尽的裸机教程,以供参考学习之用。
鉴于每个人的认知水平不同,以及我们平时的开发任务比较紧张,我们并不对该教程提供任何方式的直接技术支持。如果你对本教程的内容有任何疑问,可以到论坛(http://www.arm9home.net)反馈,并和其他网友交流讨论。
需要说明的是,本教程也适用于友善之臂出品的Tiny2451, Tiny2416等开发板平台。我们将对本教程作不定期的维护和补充,请及时留意论坛的更新信息,不再另行通知。本公司(广州友善之臂计算机科技有限公司) 保留本教程的一切解释权。
迄今最详尽的2451/2416裸机开发教程,提供全部示例源代码
-
PC开发环境:Fedora 15 + Eclipse + MiniTools + arm-linux-gcc 4.4.3
-
硬件开发平台: Mini2451/Tiny2451/Tiny2416
-
第一章 简介
-
第一节 起源
-
第二节 关于开发环境
-
第三节 文档涉及的裸机程序
-
第二章 汇编点亮LED
-
第一节 查阅原理图
-
第二节 程序讲解
-
第三节 编译和烧写运行
-
第四节 实验现象
-
第三章 设置栈和C语言点亮LED
-
第一节 为什么调用C函数要设置栈
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第四章 C语言中调用汇编函数
-
第一节 为什么要在C语言中调用汇编函数
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第五章 控制icache
-
第一节 什么是cache
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第六章 查询方式检测按键
-
第一节 查看原理图
-
第二节 程序讲解
-
第三节 编译代码和运行
-
第四节 实验现象
-
第七章 初始化时钟
-
第一节 S3C2451时钟体系
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第八章 串口设置之输入输出字符
-
第一节 S3C2451 UART相关说明
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第九章 S3C2451的启动过程
-
第一节 IROM和SRAM
-
第二节 完整的启动序列
-
第十章 重新定位代码到SRAM+4096
-
第一节 两个不同的地址概念
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第十一章 重定位代码到DRAM
-
第一节 关于DRAM
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第十二章 NAND Flash控制器
-
第一节 关于NAND Flash
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第十三章 内存管理单元MMU
-
第一节 关于MMU
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第十四章 移植printf和scan功能
-
第一节 移植的途径
-
第二节 移植步骤
-
第三节 程序讲解
-
第四节 编译代码和烧写运行
-
第五节 实验现象
-
第十五章 控制蜂鸣器
-
第一节 查阅原理图
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第十六章 中断控制器
-
第一节 S3C2451的中断控制器
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第十七章 PWM定时器
-
第一节 S3C2451的PWM定时器
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第十八章 看门狗定时和复位
-
第一节 S3C2451的看门狗定时器
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第十九章 RTC读写时间
-
第一节 S3C2451的RTC
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第二十章 LCD绘图和打印字符
-
第一节 S3C2451的LCD控制器
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第二十一章 测试ADC转换
-
第一节 S3C2451的ADC
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
-
第二十二章 增加命令功能
-
第一节 关于命令功能
-
第二节 程序讲解
-
第三节 编译代码和烧写运行
-
第四节 实验现象
uCos2实时操作系统
2451平台实时的多任务实时操作系统uCos2
开发环境
RVDS 4.0 + MiniTools(需借助Superboot-2451)
Superboo-2451
SD卡极速刷机,一键USB下载,批量装机、开发更方便
-
支持FAT格式SD卡脱机快速安装或更新系统(Linux/WinCE/uCos2/裸机程序等),可更新单个文件或多个文件,简单易用
-
支持真正的USB一键烧写,可选择单个或多个文件,一个按钮搞定,无需串口,独家首创
-
支持从SD卡直接启动WindowsCE等系统
-
USB底层驱动采用谷歌Fastboot接口,世界通用,真正跨平台
-
支持烧写bin文件和YAFFS2/EXT33/EXT4等多种格式系统映像
-
支持NAND烧写和启动校验,更加稳定可靠
-
支持自动探测硬件配置信息: 可通过LCD显示,或串口输出,包括RAM大小,Flash类型等
-
支持烧写进度条百分比提示
-
支持烧写过程LED或蜂鸣器提示:适用于单板无屏的情况
-
支持自动识别MMC/NAND启动,高效智能
-
支持NAND启动时,按下K1键进入USB模式,以便开发调试之用
-
支持用户自定义Linux启动参数(可设置为NFS启动等),设置灵活
-
支持用户自定义WindowsCE Logo(任意BMP格式文件即可),非常简单
-
支持烧写过程LED或蜂鸣器提示:适用于单板无屏的情况
-
支持USB下载到内存运行,用户可指定下载地址,令开发更加高效
-
烧写工具SD-Flasher支持WindowsXP/Vist/Windows7/Linux等各种发行版
Superboot专门为企业级用户定制,
不开源
uCos2-2451特性
-
支持多任务,提供源代码
-
支持LED驱动,提供源代码
-
支持串口驱动,提供源代码
-
支持LCD驱动,提供源代码
-
支持RTC驱动,提供源代码
-
支持蜂鸣器驱动,提供源代码
-
支持按键驱动,提供源代码
-
支持一线触摸驱动:仅限于读取原始物理数据,因没有GUI系统,提供源代码
-
支持LCD驱动:支持一线通讯的LCD自动识别(P43, N43, H43, S70, W50等),提供源代码
-
适用于友善之臂Mini2451, Tiny2451, Tiny2416等开发板平台
完全开源
uCos2-2451运行时拍照: