三星6410开发板的 *** 作系统都有哪些,支持情况如何?

三星6410开发板的 *** 作系统都有哪些,支持情况如何?,第1张

其他单位好像很多买开发板,只提供WINCE6.0跟LINUX2.6 *** 作系统的,当然多要额外付点钱也是可以的。楼主的意思应该是买硬件,标准配置就送4个 *** 作系统吧。 立宇泰电子的6410开发板是提供四大主流 *** 作系统,WINCE6.0(R2/R3),linux2.6.28,Android,ubuntu,丰富的驱动和慎烂测试资源只能在光盘里看到,大概的介绍可以列一些给楼主看看。 一.WINCE6.0 *** 作下软件软件特色: 1,CPU默认工作于667MHz主频。 2,提供“多媒体综合测试”,分为“解码测试”、“编码测试”和“显示测试”三大项 ,充分展示了ARMSYS6410在多种格式的音视频硬解码、JPEG图像解码、DirectShow、多重解码分屏显示、视频采集 和编码、显示处理和缩放、TV输出等特色功能上良好的性能表现;为用户评估提供了充分依据。 3,提供DirectShow Filters支持MPEG-4/H.264/ VC-1格式视频硬解码和音频解码。 4,标配800*600,800×480和640×480分辨率液晶屏,默认支持扬声器,尚佳的视觉和音效体验! 5,提供BSP源码包,包含所有板载外设驱动。 6,提供丰富应用实例源码包,方便用户应用程序开发。 7,为购买用户免费更换启饥孝卜动界面上logo图片! 8,开机启动界面上动态进度条显示内核加载进度。 9,提供两路SD/MMC卡,两路都支持MMC4.0卡,都支持热插拔。 10,支持CF3.0规格高速CF卡。 11,注册表切换TV out输出通道(RCA接口或S-VIDEO接口)。 12,提供4路串行口,并支持注册表切换串口普通模式和红外模式 13,支持HIVE注册表,系统设置自动保存。 14,支持Norflash和SD卡启动更新WINCE系统。 15,USB 2.0 OTG接口高速下载系统映像,提升开发效率。 16,支持睡眠、唤醒,提供电源管理相关驱动。 17,带有IDE接口,支持WINCE6.0系统下挂载PATA硬盘,顺利通过80G硬盘读写测试! 18,支持 LCD2VGA板,支持1024×768分辨率显示,视频播放流畅。 二.Linux2.6.28 *** 作下软件软件特色: ARMSYS 6410采用了Linux-2.6.28作为标准版的linux内核,其中集成了丰富的驱动资源,充分展现S3C6410的各项特性,包括硬件编解码、2D/3D加速、显示协处理、TVOUT输出、视频采集和编码、4路串口、2路SD/MMC接口、1路10/100M以太烂穗网接口、1路USB host接口等等,使ARMSYS 6410成为目前linux配置最为强劲和最完整的开发板之一。ARMSYS 6410支持Yaffs2文件系统,根文件系统提供了完整的常用命令和多种网络服务,结构清晰简明,使用灵活方便。图形界面采用Qtpia2.2.0版本,集成丰富的应用程序,可以支持触摸屏输入和鼠标输入。同时提供丰富的测试程序,可以对ARMSYS 6410的各项特色功能进行充分测试和展现。更提供了android和ubuntu版本,共 3个版本的linux系统,连同WindowsCE6.0共四大主流 *** 作系统,供客户感受最丰富的应用体验! 1,提供linux2.6.28.6版本内核,是目前国内 6410开发板最高、配置最完整的linux版本; 2,提供丰富多媒体测试程序(multimediatest),全面展现 S3C6410特色功能,包括H.264/263,MPEG4,VC-1视频文件解码,摄像头视频采集和编码,JPEG编解码,3,TVOUT 输出等等; 4,完备的驱动资源,除视频图像处理外,还包括2D/3D,看门狗,4路串口,2路SD/MMC,1路 10/100M网口,AC97音频,多种分辨率液晶屏的驱动等等; 5,采用NFS网络文件系统和YAFFS2格式文件系统 ; 6,提供nfs,ftp,telnet等网络服务,使linux下的应用程序开发更快捷; 7,提供tslib触摸屏校 准,Qtopia2.2.0图形界面,系统使用方便,更接近产品化。 三.ARMSYS6410_ubuntu 9.04相关资源 引导装载 (u-boot1.1.6) Bootloader 初始化并装载启动linux内核 支持设置内核启动参数 提供从SD卡启动的版本 内核及设备驱动 采用2.6.29.1版本内核 系统主频:533MHz 4路串口驱动(ttySAC0~3) 256M NandFlash驱动 2×5用户按键驱动 1路SD/MMC卡座驱动 液晶(支持立宇泰电子TFT型液晶屏系列)驱动 支持4线触摸屏 文件系统 支持EXT3根文件系统 编译器 Arm-none-linux-gnueabi 图形界面 Lxde-ubuntu 四.Android系统的详细配置: Android系统为专为S3C6410定制的版本,不是google官方版本; 因此Android自带的Mediaplayer、Music和Galley程序,可以支持视频硬解码、支持音频解码、和JPEG硬解码;采用S3C6410内部2D/3D加速支持Android图形系统; U-boot支持yaffs2映像写入; 所有映像通过USB下载,uboot写入,快捷方便; 内核提供USB gadget驱动(支持android adb); 支持4路串口,2路SD/MMC卡口 支持立宇泰电子TFT型液晶屏系列 提供APK安装器、文件管理器等实用Android应用软件。 带上显示图片的效果比这个好多了,语言描述还是讲不大清楚,楼主可以直接联系他们公司售前或者技术支持沟通啊 。

2011.06 to 2012.09 in the north China electric power academy of sciences practice.

Development projects:

Transformer running state monitoring device

Hardware parts: use protel software development to lpc3250 ARM9 chip as the core of transmission module circuit diagram.

System parts: configuration, compile uboot and Linux kernelUse busybox configuration personal yaffs2 root file system, build a Linux platform.

Software part: in ads1.2 development environment, the use of C language to write lpc3250 chip peripheral circuit (leds, SDRAM, FLASH, serial ports, etc.) test procedure, and power on debugging circuit board.

Power system portable recording oscillograph

Design iir filter, through matlab simulation verification, write c language program realize in DSP. Use CCS2.2 write test program testing 6713 external storage circuit (NOR FLASH, SDRAM).

下面 *** 作的前提是:内核支持nand flash

一. 下载yaffs2源码,(我将源码反正/opt目录下),并解压源码,进入源码目录

# tar xzvf yaffs2.tar.gz

# cd yaffs2

二. 为内核添加yaffs2文件系统补丁,执行:

# ./patch-ker.sh c m /..../linux-2.6.31.1 <----c m后面接的是内核源码所在的目录

执行完后,在内核源码fs目录下就多了一个yaffs2目录,同时Makefile和Kconfig文件也增加了对yaffs2的配置和编译条件。

三. 配置内核对yaffs2的支持

这里的配置根据自己的需求,把不用的文件系统都去掉。

#make menuconfig

找到下面的配置:

File systems --->

DOS/FAT/NT Filesystems --->

<*> MSDOS fs support

<*> VFAT(Windows95) fs support

Miscellaneous filesystems --->

<*> YAFFS2file system support

[*] Autoselect yaffs2 format

配置语言选项:

Native Language support --->

(iso8859-1) Default NLS Option

<*> Codepage 437(United States, Canada)

<*> Simplified Chinese charset(CP936, GB2312)

<*> NLS ISO8859-1 (Latin 1 Western European Language)

<*> NLS UTF-8

现在内核已经支持NandFlash和yaffs2文件系统,重新编译内核:

#make zImage

将编译好的内核渣清烧入NandFlash后,再烧入yaffs2文件系统,就可以了。

四. 制作yaffs2根文件系统

1. 环境

(1) 交叉编译器版本: arm-linux-gcc 4.3.3

(2) Linux环境:redhat enterprise 5.5 (2.6.18-194.el5)

(3) 开发板:TQ2440

2. 编译busybox

(1) 获取busybox源码茄派,放在/opt目录下,解压,进入busybox源码目录

#tar jxvf busybox-1.17.2.tar.bz2

#cd busybox-1.17.2

#vi Makefile

将164行改为CROSS_COMPILE = arm-linux-

将190行改为ARCH = arm

保存退出进入配置菜单

#make menuconfig采用默认配置保存推出

#make

#make install

通过上面的步骤,在busybox-1.17.2的根目录下出现了一个_install目录,

在该目录下又有三个目录文件bin sbin usr和一个链接文件 linuxrc。

3. 创建根文件系统必要如纳前的目录

(1)在/opt目录下创建root_fs目录

#mkdir root_fs

#cd root_fs

(2)将busybox-1.17.2的根目录下_install中的bin sbin usr和linuxrc拷贝到root_fs

#cp -rf /opt/busybox-1.17.2/_install/* /opt/root_fs

(3)创建必要的目录

#mkdir dev etc home lib mnt opt proc root sys tmp var

(4)创建必要的二级目录

#mkdir usr/lib usr/share

#mkdir etc/rc.d

#mkdir var/lib var/lock var/run var/tmp

4. 创建必要的文件

(1) 获取库文件,(交叉编译工具下的库文件)到root_fs/lib目录中

#cp -rf /opt/arm/4.3.3/arm-none-linux-gnueabi/libc/armv4t/lib/*so* lib -a

(2) 将主机etc目录下的passwd、group、shadow文件拷贝到root_fs/etc目录下

#cp -f /etc/passwd /etc/group /etc/shadow etc

将目录/opt/busybox-1.17.2/examples/bootfloppy/etc下的所有文件拷贝到root_fs/etc下。

在这个目录下有三个文件fstab, inittab, profile和一个目录init.d,在目录init.d中有一个文件rcS。

#cp -rf /opt/busybox-1.17.2/examples/bootfloppy/etc/* etc

在目录etc下创建文件mdev.conf。mdev是?v的一个简化版本,

我们可以通过文件mdev.conf自定义一些设备节点的名称或链接来满足特定的需要,但在此处让它为空。

#touh etc/mdev.conf

(3)创建两个设备文件dev/console dev/null。

在linux内核源码文件init/main.c中有打开设备文件dev/console的 *** 作如下:

static noinline int init_post(void)

__releases(kernel_lock)

{

………………………………

if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) <0)

printk(KERN_WARNING "Warning: unable to open an initial console.\n")

………………………………

}

内核启动执行到这里时mdev还没有构建dev目录,如果没有创建设备文件dev/console就将会打印警告

Warning: unable to open an initial console。

在内核启动的过程中要将产生的一些垃圾信息丢弃就需要空设备dev/null。

#mknod dev/console c 5 1

#mknod dev/null c 1 3

5. 修改文件

在启动过程中bootloader会传递参数init=/linuxrc给内核的main()函数,所以在文件系统被挂载后,

运行的第一个程序是linuxrc,而linuxrc是一个指向/bin/busybox的链接文件,也就是说文件系统被挂在后运行的第一个程序是busybox。

Busybox首先会解析文件/etc/inittab,这个文件中存放的是系统的配置信息,这些配置信息指明了接下来将要启动那些程序。

-------------------------------------------------------------------------------------------------------

(1)修改文件etc/inittab如下

::sysinit:/etc/init.d/rcS

s3c2410_serial0::askfirst:-/bin/sh

::ctrlaltdel:/sbin/reboot

::shutdown:/bin/umount -a -r

说明:

/etc/inittab 文件中每个条目用来定义一个子进程,并确定它的启动方法,格式如下

:::

:表示这个进程要使用的控制台(即标准输入、标准输出、标准错误设备)。如果省 略,则使用与init进程一样的控制台。

:对于Busybox init程序,这个字段滑意义,可以省略。

:表示init程序如何控制这个子进程,

: 要执行的程序,它可以是可执行程序,也可以是脚本

文件etc/inittab配置条目说明如下:

::sysinit:/etc/init.d/rcS

启动系统初始化文件/etc/init.d/rcS。字段sysinit表明文件/etc/init.d/rcS在系统启动后最先执行,

并且只执行一次,init进程等待它结束才继续执行其它动作。(脚本文件名一般为rc,后缀S代表单用户运行级别脚本)

tq2440_serial0::askfirst:-/bin/sh

在串口s3c2410_serial0上启动askfirst动作的shell。

S3C2410的串口名在/dev下是s3c2410_serialx。askfirst表明init进程先输出 “Please press Enter to actvie this console”,

等用户输入回车键之后才启动-/bin/sh。

::ctrlaltdel:/sbin/reboot

当按下Ctrl+Alt+Delete组合键时,init重启执行程序。字段ctrlaltdel表明当按下Ctrl+Alt+Delete组合键时,执行相应的进程。

::shutdown:/bin/umount -a -r

告诉init在关机时运行umount命令卸载所有的文件系统,如果卸载失败,试图以只读方式重新挂载。

字段shutdown表明在重启关闭系统命令时执行相应进程。 ------------------------------------------------------------------------------------------------------------------------------

(2)当解析完文件etc/inittab后就将启动这些进程,首先要执行的是启动脚本etc/init.d/rcS。

修改文件etc/init.d/rcS如下:

#! /bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin

runlevel=S

prevlevel=N

umask 022

export PATH runlevel prevlevel

/bin/hostname CPEmbed

/sbin/ifconfig lo 127.0.0.1 up

/sbin/ifconfig eth0 192.168.1.8 netmask 255.255.255.0

/sbin/route add default gw 192.168.1.1 eth0

echo "---------------mount all-----------------"

/bin/mount -a

mkdir /dev/pts

/bin/mknod /dev/pts/0 c 136 0

/bin/mknod /dev/pts/1 c 136 1

/bin/mknod /dev/pts/2 c 136 2

/bin/mknod /dev/pts/3 c 136 3

/bin/mknod /dev/pts/4 c 136 4

/bin/mknod /dev/pts/5 c 136 5

/bin/mount -t devpts devpts /dev/pts

echo /sbin/mdev>/proc/sys/kernel/hotplug

mdev -s

/usr/sbin/telnetd &

/usr/sbin/vsftpd &

echo "******************************************"

echo "******************************************"

echo "** Kernel version: linux-2.6.31.1 **"

echo "** Date: 2012.04.12 **"

echo "******************************************"

说明如下:

#! /bin/sh 用busybox的shell

PATH=/sbin:/bin:/usr/sbin:/usr/bin //shell命令的搜索路径

runlevel=S //运行在单用户模式

prevlevel=N //前一个级别为n表示没有前一个级别

umask 022 //权限位掩码

export PATH runlevel prevlevel //将设置的变量导出到环境中

/bin/hostname CPembed //主机名,CPembed将出现在shell提示符中[root@CPembed/]#

/sbin/ifconfig lo 127.0.0.1 up //启动lo

/sbin/ifconfig eth0 192.168.1.8 netmask 255.255.255.0 up //配置ip地址

/sbin/route add default gw 192.168.1.1 eth0 //添加默认路由

/bin/mount -a //将文件etc/fstab中指明的文件系统挂载到对应挂载点上

后面的8行是对telnetd的配置

echo /sbin/mdev>/proc/sys/kernel/hotplug //用mdev来处理内核的热插拔事件。

当有热插拔事件产生时,内核就会调用位于/sbin目录的mdev。这时mdev通过环境变量中的ACTION和DEVPATH,

(这两个变量是系统自带的)来确定此次热插拔事件的动作以及影响了/sys 中的那个目录。接着会看看这个目录中是否有“dev”的属性文件,

如果有就利用这些信息为 这个设备在/dev 下创建设备节点文件。

mdev -s //建立dev目录。以‘-s’为参数调用位于/sbin 目录写的 mdev(其实是个链接,作用是传递参数给/bin目录下的busybox 程序并调用它),mdev扫描 /sys/class 和/sys /block中所有的类设备目录,如果在目录中含有名为“dev”的文件,且文件中包含的是设备号,则 mdev 就利用这些信息为这个设备在/dev下创建设备节点文件。一般只在启动时才执行一次“mdev -s”

/usr/sbin/telnetd &//后台运行telnetd

/usr/sbin/vsftpd & //后台运行vsftpd

------------------------------------------------------------------------------------------------------------------------------

(3)修改文件etc/fstab如下:

#devicemount-point type option dump fsck order

proc /procproc defaults00

none /tmpramfsdefaults00

sysfs /sys sysfsdefaults00

mdev /devramfsdefaults00

在系统启动初始化文件/etc/init.d/rcS中有执行挂载命令/bin/mount -a ,这便是将文件etc/fstab中指定 的文件系统挂载到对应的挂载点上。这些文件系统的挂在是执行mdev -s命令建立dev目录的前提------------------------------------------------------------------------------------------------------------------------------

(4)在启动脚本etc/init.d/rcS执行完后将在串口s3c2410_serial0启动一个shell。Shell启动过程中会根据文件/etc/profile配置登陆环境。

文件/etc/profile修改如下:

USER=" 'id -un' "

LOGNAME=$USER

PS1='[\u@\h \W]# '

PATH=$PATH

HOSTNAME='/bin/hostname'

export USER LOGNAME PS1 PATH

具体说明:

USER="id -un" //获取用户名id-un与whoami命令有相同的功能

PS1='[\u@\h \W]# ' //PS1指定sh提示符的格式在本环境下将是[root@cyembed /]#

export USER LOGNAME PS1 PATH 将这些变量导出到环境。

(5)在用户登录时将在/etc下寻找三个文件passwd ,shadow, group匹配相关信息。

这三个文件修改如下:

/etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

/etc/group

root:x:0:root

bin:x:1:root,bin,daemon

daemon:x:2:root,bin,daemon

ftp:x:50:

nobody:x:99:

/etc/shadowroot:$6$hnswPTgxzFaZHlLl$WMMV0Av6O6c4RA4pwpVSgcKSiURhUlP5dxF3/MKEZlGzNXhoWMQeZA1rdf1z7VQbrrmOZe7YHw1rIQmAc8BNK/:14819:0:99999:7:::

bin:*:14715:0:99999:7:::

daemon:*:14715:0:99999:7:::

ftp:*:14715:0:99999:7:::

nobody:*:14715:0:99999:7:::

------------------------------------------------------------------------------------------------------------

6. 制作yaffs2根文件系统镜像

用天嵌科技提供的yaffs2文件系统镜像制作工具mkyaffs2image,制作根文件系统镜像。

#./mkyaffs2image root_fs root_fs.bin

7. 将根文件系统镜像下载到nand flash并启动

启动信息如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12470540.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存