S3C2416支持DM9000驱动(Linux)

s3c2416裸机开发 s3c2416裸机开发,从最基本的编译环境,到各个外设的驱动编写,深入到rtos,嵌入式gui, 文件系统,网络协议等等中间件的移植及应用 立即下载
 

Topic:S3C2416支持DM9000驱动(作者:Sturtle)

//----------------------------------------------------------------------------------------------------------------------------

// 作者:XFDarm(xfdarm@163.com)

// 论坛ID:Sturtle

// 版权:XFDarm(www.xfdarm.com)

// 平台:芯飞达 XFD2416开发板+Linux2.6.21 OS

// 发布日期:2011-10-17

// 最后修改:2011-10-19

// 注意事项:未经作者同意,商业网站不能转载,更不得在转载的时候擅自修改、删除文章的任何部分

// 摘自:http://blog.youkuaiyun.com/anthone_ligang/article/details/6607643

//------------------------------------------------------------------------------------------------------------------------------

一、硬件连接:

         

 

       1、16bit模式

       2、INT接到S3C2416的IRQ_LAV/EINT4,INT脚为低时为有效中断信号,中断线为EINT4;

       3、CS接到S5PV210的CSn1,CMD连接到S3C2416的地址总线ADDR[1],故INDEX和DATA[15:0]的端口地址分别为0x80000000和0x80000004。

二、软件设定

     1、在\kernel2416\arch\arm\plat-s3c24xx\devs.c中添加如下:                   

#include <linux/dm9000.h>
#define  S3C24XX_VA_DM9000      (0xe0000000)
#define  S3C24XX_PA_DM9000      (0x08000000)
#define  S3C24XX_SZ_DM9000      SZ_1M

static struct resource dm9000_resources[] = {
	[0] = {
		.start  = S3C24XX_PA_DM9000,
		.end    = S3C24XX_PA_DM9000+0x3,
		.flags  = IORESOURCE_MEM,
	},
	[1] = {
		.start  = S3C24XX_PA_DM9000+0x4,
		.end    = S3C24XX_PA_DM9000+S3C24XX_SZ_DM9000-1,
		.flags  = IORESOURCE_MEM,
	},
	[2] = {
		.start  = IRQ_EINT4,
		.end    = IRQ_EINT4,
//		.flags  = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
		.flags  = IORESOURCE_IRQ | IRQF_TRIGGER_HIGH,
    },
};

static struct dm9000_plat_data dm9000_setup = {
    .flags          = DM9000_PLATF_16BITONLY
};

struct platform_device s3c_device_dm9000 = {
    .name           = "dm9000",
    .id             = 0,
    .num_resources  = ARRAY_SIZE(dm9000_resources),
    .resource       = dm9000_resources,
    .dev            = 
	{
		.platform_data = &dm9000_setup,
	}
};
EXPORT_SYMBOL(s3c_device_dm9000);


        2、在\kernel2416\arch\arm\mach-s3c2416\mach-smdk2416.c修改成:               

static struct platform_device *smdk2416_devices[] __initdata = {
	
	//&s3c_device_wdt,
	&s3c_device_i2c,
	&s3c_device_lcd,
	&s3c_device_rtc,
	&s3c_device_adc,
	&s3c_device_iis,
	&s3c_device_usbgadget,
	&s3c_device_usb,
	&s3c_device_hsmmc0,
	&s3c_device_hsmmc1,
	//&s3c_device_smc911x
	&s3c_device_dm9000,
};


   3、修改\include\asm-arm\plat-s3c24xx\devs.h ,添加:     

#if defined(CONFIG_CPU_S3C6410) || defined(CONFIG_CPU_S3C2450)|| defined(CONFIG_CPU_S3C2416)
	extern struct platform_device s3c_device_smc911x;
	extern struct platform_device s3c_device_dm9000;
#endif

   4、修改\include\linux\dm9000.h  ,添加:         

#define  S3C24XX_VA_DM9000      (0xe0000000)
#define  S3C24XX_PA_DM9000      (0x08000000)
#define  S3C24XX_SZ_DM9000      SZ_1M


//如有错误,请留言指正;同时希望有更好的方法与大家交流和分享,让我们大家一起学习,共同进步!


 

S3C2440+DM9000+FC1680C解决方案 ARM架构+网卡标准电路图。分别注意。6.8K电阻必须是1%精度,PIN 1 ,2 ,9为输出脚。 立即下载

相关推荐

s3c2416usb device驱动

完整的USB device驱动,裸机和程序,对驱动分析很有帮助

S3C2416 +linux驱动移植之DM9000A

首先来看一下DM9000A的框图: 这里重要的是物理层PHY receiver,MAC(media access control)层,这里与软件中的协议栈不同,在硬件上MAC是PHY的下一层。DM9000A将MAC和PHY做到一起,也可以像IIS设备那样,SOC内有IIS的控制器,而声卡UDA1341放在片外。网卡当然也有这种设计,它是把PHY的下层MAC放入SOC内,片外的是PHY,当然我

Hens007的专栏 4210

基于STM32和K210的自动驾驶小车设计

自动驾驶技术正在迅速发展,成为了汽车行业和智能交通领域的热点之一。随着科技的发展,STM32和K210这两款芯片为自动驾驶小车提供了优秀的硬件支持。本文我们将学习如何使用STM32和K210打造一个简单的自动驾驶小车。提示:以下是本篇文章正文内容,下面案例可供参考通过这篇文章,掌握了如何使用STM32和K210构建一个简单的自动驾驶小车。通过了解基本的电路设计,并编写了STM32和K210的代码。通过这个例子,可以更好地理解如何在嵌入式系统中使用STM32和K210,以及如何实现自动驾驶小车的简单功能。

Kyle_Chan_zMH的博客 2216

Fedora12 编译s3c2416 U-Boot1.3.4的Makefile和头文件

复制Makefile到./ 和smdk2416.h到include/configs 执行: $ make distclean $ make smdk2416_config $make /* * (C) Copyright 2007-2008 * Jong - pill, Lee <boyko.lee@samsung.com> * * Config...

weixin_30622181的博客 1712

干货——Joplin私人笔记安装部署

安全、隐私、免费、不限制的私人笔记的选择和搭建

vincentho1024的专栏 7876

AXI backpressure反压机制代码

本文将xilinx的axi读写代码进行修改,实现吞吐量达到50%

m0_64636251的博客 1764

s3c2416开发板 linux,S3C2416移植内核Linux3.1的wm9713声卡过程

移植内核的声卡驱动。原因没有声卡驱动,WM9713声卡驱动移植(原来的内核有UDA1341声卡驱动,我们再次基础上直接修改)1、直接复制内核得到三个文件:s3c2416_wm9713.c , wm9713.c , s3c2416_ac97.c.linux-3.1\sound\soc\codecs\Wm9713.c---->wm9713.c;linux-3.1\sound\soc\samsun...

weixin_28864249的博客 276

开源大模型“去审查化”技术解析:从LLaMA架构到本地部署与伦理边界

大型语言模型(LLM)基于Transformer架构,通过海量数据训练获得理解和生成自然语言的能力。其核心原理在于自注意力机制对上下文关系的建模。为了确保输出内容的安全与合规,主流模型普遍采用基于人类反馈的强化学习(RLHF)等技术进行安全对齐。这一过程旨在使模型行为符合人类价值观,是AI伦理工程实践的关键环节。然而,在特定研究场景下,如对抗性测试或内容安全算法研究,技术人员需要模拟极端对话以评估系统鲁棒性,这催生了针对“去对齐”或“移除护栏”的技术探索。此类技术通常通过对预训练模型进行反向微调或继续训练来

weixin_33743880的博客 588

puppy linux中文设置,Puppy Linux 中文支持包制作方法

chali20122012-02-02 15:23博主您好!我有个问题,u-boot-1.3.4移植到S3C2416开发板上,使用TFTP下载时得到这样的提示:SAM2416EDK # tftp 0x30000000 u-boot.bindm9000 i/o: 0x20000300, id: 0x90000a46MAC: 1f:2e:3d:4c:5b:6aTFTP from server 192....

weixin_28738165的博客 1179

告别卡顿!用LVGL+DMA刷新STM32F407的SPI屏幕,性能提升实战

本文详细介绍了如何通过LVGL+DMA技术优化STM32F407驱动SPI屏幕的性能,实现接近60FPS的流畅刷新。从硬件瓶颈分析到SPI与DMA的精细化配置,再到LVGL的双缓冲机制与局部刷新优化,提供了一套完整的性能提升方案。特别适合嵌入式GUI开发中面临卡顿问题的工程师参考。

weixin_42531588的博客 378

【深度学习新浪潮】气候预测模型的研发进展一览(2025年版)

模型类型核心优势适用场景不足ARIMA(统计模型)简单高效、可解释性强短期单变量预测非线性、长时依赖建模差随机森林(机器学习)多特征融合、抗噪声中短期多因素预测空间相关性、时序趋势捕捉弱LSTM(深度学习)长时依赖建模、端到端中长期时序预测物理一致性差、数据需求量大物理知情AI物理规律约束、高可靠性极端天气、长期气候变化模型复杂、计算成本高。

专注:太空算力、AI infra、异构调度、大模型成本工程 528

linux 网卡驱动开发,Linux开发十八_网卡驱动

Linux开发十八网卡驱动象棋小子 1048272975Internet作为全球最大的互联网络,几乎总汇了全球的信息资源,越来越多的设备需要连接Internet,共享信息资源。Linux内核已经支持dm9000网卡驱动。1. dm9000设备dm9000设备包含了名字、独有的资源等等一些驱动程序的硬件或自定义信息。通过platform_add_devices(platform_device_...

weixin_29227585的博客 569

2026 蓝牙技术趋势展望:信道探测、Auracast、高吞吐 HID 与 AI 融合引领行业变革

蓝牙技术2026年展望:信道探测、Auracast广播音频和AI融合将引领创新。蓝牙信道探测技术将实现亚米级精确定位,在工业资产追踪和汽车数字钥匙领域大显身手。Auracast广播音频将持续拓展公共场所应用,提升音频包容性体验。高数据吞吐量和超低延迟功能将支持AR/VR等新兴场景。AI与蓝牙的深度融合将推动可穿戴设备智能化发展,实现实时健康监测和个性化音频服务。蓝牙技术凭借其多功能性和创新力,正成为连接万物的关键技术,持续推动行业变革和生活品质提升。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 113

Linux开发十八_网卡驱动

Internet作为全球最大的互联网络,几乎总汇了全球的信息资源,越来越多的设备需要连接Internet,共享信息资源。Linux内核已经支持dm9000网卡驱动。

huang20083200056的专栏 1855

代码复现1——Matterport3d数据集下载

进入“Dataset Download”部分,下载申请书,填写之后发送到指定邮箱(matterport3d@googlegroups.com),之后会收到回信,回信中附有一个download_mp.py的脚本文件。,大小约15G,并不是所有的Mp3d datasets,所有大小约1.3T。下载完成后如下图所示:我这边显示大小为16.1G。

qq_44100524的博客 8052

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

在linux4.15 移植设备树到JZ2440

一、

Louis@L.M.的博客 2196

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

NVMe-oF远程存储协议深度解析:从NVMe/TCP到NVMe/RDMA,计算存储分离架构全景

NVMe-oF将NVMe命令集从PCIe扩展到网络,实现计算存储分离。本文深度剖析协议架构(Capsule封装、SGL机制),对比NVMe/TCP(60-150μs)、NVMe/RDMA(8-30μs)、NVMe/FC三种传输层性能,解析Linux内核驱动源码、SPDK用户态Target(P99仅12μs)、ANA多路径、TLS加密与DH-HMAC-CHAP认证,结合DPU Target Offload零CPU架构与AI训练JBOF方案。

专注分享DPU、RDMA智能网卡/SSD(固态硬盘)产品测试与优化 727

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

S3C2416 Linux2.6.21 驱动移植--添加UART3 及波特率设置bug消除

一,移植环境 (红色粗字体字为修改后内容,蓝色粗体字为特别注意内容) 1.主机环境:Virtualbox 下ubuntu-10.10 2.编译编译环境:arm-linux-gcc v4.4.3 3.uboot : U-Boot 1.3.4(友坚提供) 4.linux内核版本:2.6.21.5 5.硬件平台:采用友坚UT2416CV02核心板开发的平台 6.参考:         l

yuyangwbc的专栏 2819

DM9000C在linux3.1,S3C2416移植过程分析

上图为板子上连线图,从图可以确定一下几点: 1. 片选为CSn4,2416访问DM9000的基地址为0x20000000(BANK4的基值) 2. INT管脚上的标号EINT4,用到中断EINT4 3. 用到SD0到SD15总线位宽为16 4. 用到一根地址线:LADDR2,这芯片只有用到数据线,这是由于DM9000芯片地址线与数据线是复用的,通过ADDR2来控制区分,当ADDR2为1则,C

ucas_123的博客 905

Linux开发十三_hsmmc驱动

存储卡具有体积小巧、携带方便、使用简单等优点,在嵌入式系统当中,一般作为独立的存储介质。Linux内核已经支持s3c2416的hsmmc控制器,可以支持mmc卡、sd卡等的读写。

huang20083200056的专栏 1822

s3c2416 U-Boot移植笔记

首先说,今天是一个值得高兴的日子,因为经过四天的努力,终于把U-Boot1.3.4成功移植到了s3c2416上.板子要求是SD卡启动,以下具体的移植步聚: 一、SD起动首先要修改/include/configs/smdk2416.h头文件:     在365行左右,按如下修改:     //#define CONFIG_BOOT_NAND     #define CONFIG_BOOT_M

Hens007的专栏 4307

理解 Linux 动态库加载:LD_LIBRARY_PATH

flyfish

二分掌柜的 333

Linux 磁盘满了怎么排查?df / du / find 三步定位大文件

Linux 磁盘满排查三步法:df -h 定位分区、du 逐层下钻、find 按大小和时间抓大文件,附 inode 耗尽、文件已删未释放、du 与 df 不一致等经典坑的解决方案。

weixin_38291577的博客 218
上一篇: S5PV210支持DM9000驱动(Android2.2)
下一篇: XFD6410 uboot支持DM9000驱动
海阔任龟游
博客等级 码龄19年 12粉丝 15原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值