基于S3C2410的CS8900A驱动程序设计

合集下载

嵌入式系统课程设计报告基于s3c2410a的游戏机设计

嵌入式系统课程设计报告基于s3c2410a的游戏机设计

xxxxxxxxxxxxx学院嵌入式系统课程设计报告基于S3C2410A的游戏机设计系别:专业:学号:姓名:指导教师:摘要嵌入式系统是体现近年来微电子技术及计算机技术发展的高科技应用系统,以应用为中心,以计算机技术为基础,软件硬件可裁剪,满足应用系统对功能、可靠性、成本、体积、功耗等有特殊要求的专用计算机系统Linux在嵌入式领域中的应用也越来越广。

选用Linux 作为平台,可以根据具体需要自由地裁减源码,打造适合目标平台的环境,编写最有效率的应用程序。

与其他嵌入式平台类似,基于ARM架构的嵌入式系统有以下特点:(1)是“类计算机系统”;(2)面向特定应用的;(3)更注重低功耗、低成本;(4)升级较慢;(5)具有固化的代码;(6)系统开发需要专用开发工具和环境;(7)软件需要RTOS开发平台;(8)开发人员应具备电路专业知识;(9)是开放性的知识集成系统。

随着微处理器性能的提升,现在的微处理器已经可以支撑游戏模拟器的运行,用户可以选择在非PC 平台下操作街机游戏以及20 世纪90 年代需要PC 机才能运行的游戏节目,这无疑提升了游戏硬件平台移动性。

电子游戏业将是这一技术进步的最大受益者。

目前,在一个配有LCD 图形界面和32 位ARM 微处理器的移动平台上,甚至可以实现最早出现在PC 机上3D游戏。

本文介绍利用ARM嵌入式系统平台(内置S3C2410A 核心微处理器),将开源游戏模拟器Visual Boy Advance(VBA )的代码移植到微处理器上的方法。

SDL (Simple DirectMedia Layer)是一个自由的、跨平台的多媒体开发包,现在广泛应用于游戏、游戏SDK、模拟器、MPEG 播放器和其他众多的软件设计领域。

特别是,SDL(Simple DirectMedia Layer)在游戏开发领域已经得到了广泛的认可,许多著名的游戏都用到了SDL开发包,其中最著名的是赢得LINUX组游戏开发大奖的“文明:权利的召唤(Civilization: Call To Power )”。

第5章_基于S3C2410的系统硬件设计

第5章_基于S3C2410的系统硬件设计

与配置I/O口相关的寄存器包括: 与配置I/O口相关的寄存器包括: I/O口相关的寄存器包括
端口控制寄存器(GPACON~GPHCON) 端口控制寄存器(GPACON~GPHCON) 端口数据寄存器(GPADAT~GPHDAT) 端口数据寄存器(GPADAT~GPHDAT) 端口上拉寄存器(GPBUP~GPHUP) 端口上拉寄存器(GPBUP~GPHUP) 杂项控制寄存器 外部中断控制寄存器(EXTINTN) 外部中断控制寄存器(EXTINTN)
1.8V/2.0V内核供电,3.3V存储器供电,3.3V 1.8V/2.0V内核供电,3.3V存储器供电,3.3V 内核供电 外部I/O供电; I/O供电 外部I/O供电; 具有16KB的ICache和16KB的DCache以及 具有16KB的ICache和16KB的DCache以及 16KB KB MMU; MMU; 外部存储器控制器; 外部存储器控制器; LCD控制器提供1通道LCD专用DMA; LCD控制器提供1通道LCD专用DMA; 控制器提供 LCD专用DMA 4通道DMA并有外部请求引脚; 通道DMA并有外部请求引脚; DMA并有外部请求引脚 3通道UART和2通道SPI; 通道UART和 通道SPI; UART SPI 1通道多主机IIC总线和1通道IIS总线控制器; 通道多主机IIC总线和1通道IIS总线控制器; IIC总线和 IIS总线控制器 SD主接口版本1.0和MMC卡协议2.11兼容版; SD主接口版本1.0和MMC卡协议2.11兼容版; 主接口版本1.0 卡协议2.11兼容版 2个USB主设备接口,1个USB从设备接口; USB主设备接口, USB从设备接口; 主设备接口 从设备接口 4通道PWM定时器和1通道内部定时器; 通道PWM定时器和1通道内部定时器; PWM定时器和 看门狗定时器; 看门狗定时器; 117位通用I/O口和24通道外部中断源; 117位通用I/O口和24通道外部中断源; 位通用I/O口和24通道外部中断源 电源控制模式包括:正常、慢速、 电源控制模式包括:正常、慢速、空闲和掉电 四种模式; 四种模式; 8通道10位ADC和触摸屏接口; 通道10位ADC和触摸屏接口; 10 和触摸屏接口 具有日历功能的RTC; 具有日历功能的RTC; RTC 使用PLL的片上时钟发生器。 使用PLL的片上时钟发生器。 PLL的片上时钟发生器

基于S3C2410的振动测试分析仪的研制(附电路原理图)

基于S3C2410的振动测试分析仪的研制(附电路原理图)

引言在大型旋转机械、桥梁、地下铁路、加工机床等领域,对振动信号进行采集和分析,可以实现危险预报、故障诊断、性能指标分析等多项功能。

传统的便携式振动测量分析仪大多用单片机或RISC CPU作为核心处理器,一般是8位或16位的,内存只有几Kb,外部存储器的容量也只有1~2Mb,再加上CPU的主频不高,进行大量数据运算(如FFT等),需要很长时间,图像显示基本上依靠黑白液晶屏,可以显示的内容少,因此对传统的便携式振动测试分析仪进行性能的改进很有必要。

本项目采用ARM9的S3C2410处理器,可以连续监测8个通道,提供转速、棒图、振动通频值、数据列表、时域波形、频谱图、伯德图等振动监测、分析图表。

采用640×480的TFT彩色显示屏,界面美观,可以显示的内容丰富,采用64Mb内存,可以暂存长时间的采样数据、运算结果数据,采用64Mb NAND FLASH,可以保存多组测量历史数据。

体积小,22cm×18cm×10cm,携带方便,较以前产品,性能有了大幅度的提高。

硬件部分介绍硬件主要由3部分组成,核心板、底板及信号输入接口板共3块电路板组成,下面分别介绍。

核心板核心板主要由S3C2410处理器、64Mb NAND FLASH(K9F1208)、64Mb内存(2片HY57V561620)组成。

底板的接口采用144引脚的内存插槽,引出了16位的数据总线、16位的地址总线、IIC接口、SPI接口、IIS 接口、JTAG接口、USB接口、LCD接口、触摸屏接口等CPU的输入输出口线。

S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用0.18μm制造工艺的32位微控制器。

该处理器拥有:独立的16KB指令Cache和16KB数据Cache、MMU、支持TFT的LCD控制器、NAND 闪存控制器、3路UART、4路DMA、4路带PWM的Timer、I/O口、RTC、8路10位ADC、Touch Screen 接口、IIC-BUS接口、IIS-BUS接口、2个USB主机、1个USB设备、SD主机和MMC接口、2路SPI。

在嵌入式2418内核中实现8900网卡驱动

在嵌入式2418内核中实现8900网卡驱动

在嵌入式linux2。

4.18内核中实现CS
8900A网卡驱动
ﻭﻭ

全部:
ﻭ李会艳胡荣强
第1单位:ﻭﻭ武汉理工大学自动化学院
摘要:ﻭﻭ本文首先论述了在嵌入式系统中增加以太网接口的两种方法;接着给出了微处理器S3C2410X与网卡CS8900A接线图;然后根据该接线图论述了将网卡的驱动添加到嵌入式li nux2。

4.18内核的全过程,包括对寄存器BWSCON和BANKCON3的设置,网卡的中断,变量的定义等,并给出了相关的代码.
ﻭ驱动,虚拟地址,嵌入式系统,内核 (浏览全文)
ﻭ发表日期:
2007年08月01日ﻭ
同行评议:
介绍了基于嵌入式linux2.4。

18和S3C2410X 微处理器的CS8900A网卡驱动的实现方法,包括硬件连线和软件驱动
程序的开发.其研究成果具有1定的实用价值,但属应用开发,其科学创新和学术价值1般。

此外若能把所开发的网卡驱动结合到某1具体的工程应用中,则可提升的学术价值和实用价值,也可进1步验证所开发的网卡驱动的有效性和正确性。

顺便指出,在的硬件连线图中,把LnOE和LADDR24两个信号线短接是错误的,请核实1下。


综合评价:ﻭﻭ(第1版)()ﻭﻭ注:同行评议是由特聘的同行专家给出的评审意见,综合评价是综合专家对各要素的评议得出的数值,以1至5颗星显示.
ﻭ。

三种网卡驱动

三种网卡驱动
· 事件流如何提高应用程序的扩展性、可靠性和可维护性
· Web动效研究与实践
//PacketPagePointer的定义
#define CS8900_PDATA *(volatile CS8900_REG *)(CS8900_BASE+0x06*CS8900_OFF)
//PacketPageData Port
复制代码
通过如下函数对cs8900a设置
复制代码
驱动关键如下:
读端口与写端口的宏
#define DM9000_outb(d,r) ( *(volatile u8 *)r = d )
#define DM9000_outw(d,r) ( *(volatile u16 *)r = d )
#define DM9000_outl(d,r) ( *(volatile u32 *)r = d )
}
复制代码
其中CS8900_BASE为基址与硬件连接有关。硬件原理图决定在S3C2410的地址空间中,CS8900A的基地址为x19000000。那么在I/O模式下,CS8900A的内部寄存器默认基地址为0x300h,在S3C2410的地址空间中的地址为0x19000300。
#define CS8900_BASE 0x19000300
/* "shutdown" to show ChipID or kernel wouldn't find he cs8900 。。。 */
get_reg_init_bus(PP_ChipID);
}
复制代码
二、rtl8019
RTL8019AS 是高度集成以太网控制器,为了提供完全解决即插即用方案,RTL8019AS 在集成10BASET 收发器,BNC,和AUI 接口之间的自动检测功能。此外,8 条IRQ 总线和16 条基本地址总线为大资源情况下提供了宽松的环境。

基于S3C2410处理器应用开发(扩展阅读)

基于S3C2410处理器应用开发(扩展阅读)

根据硬件系统操所要实现的功能进行 Linux操作作系统内核的裁减,并生成操 作系统内核镜像文件; 选择合适根文件系统,通过串口将上述 文件烧写硬件平台上flash中,这样硬件 平台才能够启动起来。
接下来才是根据嵌入式产品的功能进行 的应用程序开发。
本章以目前市场较为常用的中端的 ARM9嵌入式处理器为对象,介绍基于 S3C2410X硬件平台的嵌入式Linux系统 的开发和设计
通常,Boot Loader 是严重地依赖于硬件而 实现的,特别是在嵌入式世界。因此,在嵌 入式世界里建立一个通用的 Boot Loader 几 乎是不可能的。 尽管如此,我们仍然可以对 Boot Loader 归 纳出一些通用的概念来,以指导用户特定的 Boot Loader 设计与实现。
Bootloader 所支持的 CPU 和嵌入式板
20
烧写内核映象zImage 烧写根文件系统(root.cramfs) 烧写应用程序
江苏科技大学计算机学院嵌入式系统实验室
21
举例: hello.c 源代码如下: #include <stdio.h> main() { printf(“hello world \n”); }
江苏科技大学计算机学院嵌入式系统实验室
linux 系统及应用程序的烧写
有两种烧写方式 JTAG烧写 串口通讯下载 Jtag 烧写,适用于flash 空白或者vivi 损坏无法引导 的情况下,通过并口线和Jtag 简易仿真器,用 sjf2410-s.exe 将vivi 烧录到flash 中作为引导启动程 序。 串口通讯下载,这也是我们最常用的烧写方式,即在 核心模块上已烧录有vivi 的前提下,进入vivi,通过在 SDRAM 里运行的vivi 格式化flash,烧写vivi、内核 和根文件系统, 最后还需要把应用程序压缩文件yaffs.tar.bz2 解压缩 到实验平台的/mnt/yaffs 下。

S3c2410电路设计(以北京博创s3c2410-s实验箱为例讲解)

S3c2410电路设计(以北京博创s3c2410-s实验箱为例讲解)

17
印刷电路板的设计
电源质量与分配
电源分配
实际的工程应用和理论都证实,电源的分配对系统的稳定性有很 大的影响,因此,在设计印刷电路板时,要注意电源的分配问题。
在印刷电路板上,电源的供给一般采用电源总线(双面板)或电 源层(多层板)的方式。电源总线由两条或多条较宽的线组成,由 于受到电路板面积的限制,一般不可能布得过宽,因此存在较大的 直流电阻,但在双面板得设计中也只好采用这种方式了,只是在布 线的过程中,应尽量注意这个问题。 在多层板的设计中,一般使用电源层的方式给系统供电。该方式 专门拿出一层作为电源层而不再在其上布信号线。由于电源层遍及 电路板的全面积,因此直流电阻非常的小,采用这种方式可有效的 降低噪声,提高系统的稳定性。
32
33
LCD与触摸屏

从CPU 的LCD 控制器出来的信号线包括24 根数据线和若 干根控制线。对于256色LCD 只需要其中低8 位数据线即可。 这些信号线是经过74HC245 隔离后接到LCD 模块的,接 256 色屏时也由245 芯片完成电平转换。8 位LCD 模块除 了需要控制信号和数据信号外,还需要一个22V 左右的工 作电压和上千伏的背光电压。前者由MAX629 升压后得到, 后者由一个逆变器模块提供。另外LCD 信号线驱动芯片 74HC245 的电源是可选的,当使用5V 电平的256 色彩屏 时该芯片电源使用5V,使用3.3V 的16 位真彩屏选择3.3V。 (2410-S可以安装5#的伪彩屏和8#的真彩屏)。
芯片在工作时有一定的发热是正常的,但如果有芯片特 别发烫,则一定有故障存在,需断电检查确认无误后方可继 续通电调试。
20
硬件系统的调试
电源、晶振及复位电路调试
调试电源电路之前,尽量少接器件,通电之前检查有无 短路现象

FS2410开发板cs8900A的驱动移植linux2.6.35

FS2410开发板cs8900A的驱动移植linux2.6.35

FS2410开发板cs8900A的驱动移植linux2.6.35优龙FS2410开发板cs8900A的驱动移植华清远见(深圳)1102期pclli内核:2.6.35方法:修改内置的drivers/net/cs89x0.c由于cs89x0.c支持cs8900A,所以这里只需要把smdk2410平台加入,让cs89x0.c支持即可。

加入步骤如下:行数只对应于原版文件1、修改cs89x0.c195:加入#elif defined(CONFIG_ARCH_S3C2410)#include &lt;mach/regs-mem.h&gt;//#include &lt;irq.h&gt;static int IS_OK=0;static unsigned int netcard_portlist[]= {0x300,};static unsigned int cs8900_irq_map[] ={SMDK2410_ETH_IRQ, 0, 0, 0};324:加入#if defined(CONFIG_ARCH_S3C2410)unsigned int oldval_bwscon;unsigned int oldval_bankcon3;if(IS_OK){return -ENODEV;}IS_OK=1;netcard_portlist[0] = vSMDK2410_ETH_IO + 0x300; dev-&gt;dev_addr[0] = 0xaa;dev-&gt;dev_addr[1] = 0xbb;dev-&gt;dev_addr[2] = 0xcc;dev-&gt;dev_addr[3] = 0xdd;dev-&gt;dev_addr[4] = 0xee;dev-&gt;dev_addr[5] = 0xff;oldval_bwscon = *((volatile unsigned int*)S3C2410_BWSCON);*((volatile unsigned int *)S3C2410_BWSCON) = (oldval_bwscon &amp; ~(3&lt;&lt;12)) |S3C2410_BWSCON_DW3_16 |S3C2410_BWSCON_WS3 | S3C2410_BWSCON_ST3; oldval_bankcon3 = *((volatile unsigned int*)S3C2410_BANKCON3);*((volatile unsigned int *)S3C2410_BANKCON3) =0x1f7c;#endif345:加入#if defined(CONFIG_ARCH_S3C2410)IS_OK = 0;*((volatile unsigned int *)S3C2410_BWSCON) = oldval_bwscon;*((volatile unsigned int *)S3C2410_BANKCON3) = oldval_bankcon3;#endif1279:改#if !defined(CONFIG_SH_HICOSH4)&amp;&amp; !defined(CONFIG_ARCH_PNX010X) 为#if !defined(CONFIG_SH_HICOSH4)&amp;&amp; !defined(CONFIG_ARCH_PNX010X) &amp;&amp; !defined(CONFIG_ARCH_S3C2410) 1310:改#ifndef CONFIG_CS89x0_NONISA_IRQ为#if !defined(CONFIG_CS89x0_NONISA_IRQ) &amp;&amp; !defined(CONFIG_ARCH_S3C2410) 1325:改ret = request_irq(dev-&gt;irq, net_interrupt, 0, dev-&gt;name, dev);为ret = request_irq(dev-&gt;irq, net_interrupt,IRQF_TRIGGER_RISING, dev-&gt;name, dev);1394:改#ifdef CONFIG_ARCH_PNX010X为#if defined(CONFIG_ARCH_PNX010X) ||defined(CONFIG_ARCH_S3C2410)二、修改arch/arm/mach-s3c2410/mach-smdk2410.c改static struct map_desc smdk2410_iodesc[] __initdata = { /*nothing here yet */};为static struct map_desc smdk2410_iodesc[] __initdata = { /*nothing here yet */{vSMDK2410_ETH_IO, pSMDK2410_ETH_IO, SZ_1M, MT_DEVICE},};三、修改arch/arm/mach-s3c2410/include/mach/map.h 加入/* S3C2410 CS8900a */#define pSMDK2410_ETH_IO__phys_to_pfn(0x19000000)#define vSMDK2410_ETH_IO 0xE9000000#define SMDK2410_ETH_IRQ IRQ_EINT9四、修改drivers/net/Kconfig 的config CS89x0 在depends on 中加入|| ARCH_SMDK2410五、在menu中选中cs89x0 选项,保存退出make uImage生成的uImage就可以用了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
写入芯 片。
1 CS 9 0 特 性 分 析 80A
2 驱 动 程序 流 程
C 8 0 A 芯 片 主 要 性 能 为 : 符 合 E h r e I与 S90 ① t en tI I E 0 . ( 0 a e 、 0 a e 1 B sT) 准 ; 全 双 工 , EE 8 2 3 1 B s5 1 B s2、 0 a e 标 ② 以下 为 几 个 最 主 要 的 工 作 寄 存 器 ( 为 1 位 ) 6 ,
高速缓存 体 系结 构 。其 中 , MMu 主 要 用 于 管 理 虚 拟 内 存, AMBA 总 线是 ARM 公 司设 计 的 一 种 用 于 高 性 能 嵌 入
式 系 统 的总 线 标 准 , 速 缓 存 由 独 立 的 1 KB指 令 Cah 高 6 ce
正 确 数 据 报 后 , S 9 0会 产 生 一 个 接 收 中 断 ; B CT C 80 ⑧ US (1 6 O 1 H)B CT 可 控 制 芯 片 的 I O 接 口 的 一 些 操 作 。 US / 设 置 初 始 值 为 8 1 H, 开 C 8 0 的 中 断 总 控 制 位 ; 07 打 S 90 ⑨ I Q( 1 0 s 0 2 H)I Q 是 网 卡 芯 片 的 中 断 状 态 寄 存 器 , S 内部 映 射 接 收 中断 状 态 寄 存 器 和发 送 中 断状 态 寄存 器 的 内容 ; ⑩
摘 要 : 介 绍 ¥ C 4 0嵌 入 式 微 处理 器 结 构 并 分 析 C 8 0 A 以 太 网控 制 器基 础 上 , 出 了基 于 ¥ C 4 0的 以 太 在 321 S 90 提 3 21
网控 制 芯 片 C 8 0 A 驱 动 程 序 设 计 方 法 , 出了 驱 动 程 序 流 程 , 采 用 C 实 现 了 程 序 。 实验 表 明 , 给 出的 程 序 S 90 给 并 所
0 引言
¥ C2 1 是 3 4O S ms n 公 司 推 出 的 一 款 基 于 a ug
Hale Waihona Puke 口。在 本 系 统 中 , 置 初 始 值 为 0 d H, 择 物 理 接 口 为 设 03 选 1 B E- T, 使 能设 备 的发 送 和接 收控 制 位 ; RXC 0 AS - 并 ⑥ TL (1 4 0 0 H)RXC 控 制 CS 9 0接 收 特 定 数 据 报 。 设 置 TI 80
第 1卷 第2 1 期
2 1年 2 02 月
软 件 导 刊
So w a e Gu d t f r i c
V O .lNO. 11 2
Fe 2 2 b. Ol
基 于 ¥ C 4 C 8 0 A 驱 动 程 序 设 计 321 0的 S 9 0
徐 雄 飞
( 湖北 工业 大 学 计 算机 学 院 , 北 武 汉 4 0 7 ) 湖 3 0 4
能 正 确 运 行 , 获 得 较 高的 下载 速 度 。 并
关 键 词 : 3 2 1 ; S 90 驱 动 程 序 ¥ C 4 0 C 8 0 A;
中 图分 类 号 : 3 2 TP 1
文献标识码 : A
文 章 编 号 : 6 27 0 ( 0 2 0 20 1 - 3 1 7 —8 0 2 1 ) 0 — 0 30 (1 2 0 1 H)L NE I CTL决 定 C 8 0 S 9 0的 基 本 配 置 和 物 理 接
ARM9 0 内 核 的 1 / 2位 RI C嵌 入 式 微 处 理 器 , 高 2T 63 S 最 工作频率 可 达 23 0 MHz 主 要 面 向 手 持 设 备 以 及 高 性 价 ,
比 、 功 耗 的应 用 。芯 片 实 现 了 MMU、 低 AMB Ad a cd A( v n e Mirc n r l rB sArhtcu e 、 US和 哈 佛 ( r ad co o to1 u c i t r) B e e Hav r )
P ORTO 0 0 H)发 送 和 接 收 数 据 时 , PU 通 过 P (0 0 C ORT O
和 1 KB数 据 Ca h 6 c e组 成 。¥ C 4 0还 提 供 了大 量 的 内部 321 设 备 和 丰 富 的外 部 接 口。
C 8 0 A 是 由 美 国 C RRUS L S 90 I OGI 公 司 生 产 的 以 C
太 网控 制 器 , 由于 其 优 良 的性 能 、 功 耗 及 低 廉 的 价 格 , 低 使 其 在 市 场 上 1 Mb s嵌 人 式 网络 应 用 中 占有 相 当 的 比例 。 0 p
本 文 研 究 基 于 ¥ C 4 0的 以 太 网 控 制 芯 片 的 CS 9 0 驱 3 21 80A 动程序设计 。
收 发 可 同 时 达 到 1 Mb s的 速 率 ; 内 置 S 0 p ③ RAM , 于 收 用 发 缓 冲 , 低 对 主 处 理 器 的速 度 要 求 ; 支 持 1 降 ④ 6位 数 据 总
RXTC 的初 始 值 为 0 0 H, 收 网 络 上 的 广 播 或 者 目标 I d5 接 地址 同 本 地 物 理 地 址 相 同 的 正 确 数 据 报 ; R F ⑦ XC G (1 2 0 0 H)RXC G控 制 C 8 O F S 9 O接 收 到 特 定 数 据 报 后 会 引 发 接 收 中 断 。RXC G 可 设 置 为 0 0 H, 样 当 收 到 一 个 F 13 这
传递数据 ; T C ⑩ X MD( 0 4 0 0 H)发 送 控 制 寄 存 器 , 果 写 如
入 数 据 0 C H , 么 网 卡 芯 片 在 全 部 数 据 写 入 后 开 始 发 00 那 送 数 据 ; TxL ⑥ ENG( 0 6 0 0 H)发 送 数 据 长 度 寄 存 器 , 送 发 数 据 时 , 先 写 人 发 送 数 据 长度 , 后 将 数 据 通 过 P 首 然 ORT O
相关文档
最新文档