笔记整理—uboot番外(6)针对x210的网卡说明

2024-09-06 14:44

本文主要是介绍笔记整理—uboot番外(6)针对x210的网卡说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        对于x210而言,在三星中与九鼎官方的uboot都默认使用了二号串口。详见CONFIG_SERIALn(n=1~4)。

        更改串口后,应先插回原串口,进行iROM打印,内部iNnad校验核失败的信息,之后再插入其串口进行启动。

        修改CCONFIG_NETMASK等多个宏可以修改默认的网络环境。在进行完成修改后,如果依旧没进行改变,则应对iNand ENV分区进行擦除,因为当iNand在校验环境变量是依旧可用的所以未对环境变量进行更新,有优先级关系。

        

        mmc write 0 0x30000000 11# 32的意思就是将iNnad的第17扇区向后的32扇区个扇区内写入内容为0x30000000中的值。1个扇区是512字节,32个扇区就是16kb。

        修改CFG_PROMPT宏可修改提示符,CONFIG_IDENT_STRING可修改开发板名。

        开发板上网的方式有两种:①SOC自带网卡。②外接网卡。x210使用的是DM9000网卡芯片,有48个引脚。

        

        总线式扩展:通过地址进行直接寻址。非总线式拓展(Nandflash/SD卡)通过时序进行操作。 网卡是总线式扩展,通过SROM接入,通过8/16bit总线链接NOR Flash/PROM/SROM。

        SROM是:

        网卡将自己伪装为SRAM/ROM接在SROM中,优点是网卡就是以存储器方式进行拓展在SOC上,可以直接通过地址进行访问(接在某个BANK上) 。S5PV210一共可接(0~5)共6个BANK,也就是6个SRAM/ROM。起始地址为BANKn的基地址(SROM_BANKn)。

        x210使用16bit SROM接口接入DM9000。网线中有8根线,但有效数据线只有4根,另外4根为GND抗干扰线,四根线为(TX+/TX-)(RX+RX-)为差分信号。

        网卡芯片上的CS引脚(chip selet)片选信号,主机向CS发送有效信息,则从机进行工作,否则从机不工作。CS高电平有效,低电平无效。   

        CS接在SOC片选信号引脚,在SROM BANK中有多个片选引脚CSn。x210将DM9000接在CS1上对应SROM_BANK1基地址为0x88000000。            

        CMD引脚接在SOC的ADDR2上。DM9000只有数据线没有地址线,是地址线与数据线进行复用(DATA0~15)。CMD高电平时为DATA,CMD为低电平时为index索引(地址+偏移量)。电平的高低由控制器进行改变,只需对寄存器进行正确的配置就能控制。

        在linux驱动中,数据和代码是分开的,在DM9000中,驱动主要是代码,数据由开发板的接线方式决定。

        DM9000依赖于init_sequences进行初始化。

start_armbootinit_sequenceboard_initdm9000_pre_init

        SROM_BW_REG寄存器,用4个bit位去描述一个BANK,三星接在bit20~23就是BANK5,在X210接在BANK1,描述位为bit4~7。(注意半字对齐)

        DM9000_DATA宏是发送数据的,DM9000_IO宏是发索引的,CONFIG_DM9000_BASE是网卡通过SROMBANK映射到SOC空间地址,不同BANK地址不同。

        X210中ADDR2接在CMD上,因为ADD2是ADDRn的第三根线,所以CONFIG_DM9000(BASE)+4=DM9000_DATA。

        X210接在BANK1,所以BASE为0x88000000,但DM9000因为型号问题,存在0x300的偏移量所以BASE为0x88000300。

        在linux中有线网卡叫eth n。无线网卡叫wlan n。

        linux系统下,网卡使用socket接口(API)进行上网,linux系统下的应用就通过这个socket实现上网,socket内部调用网卡驱动达到上网的目的。(linux->socket->驱动)。对于系统来说,驱动是隐形的。应用层的编写针对驱动是隐形的,驱动编写针对的是Linux框架(分离思想)。

        uboot本身是裸机程序,不进行分层,没有驱动和应用的概念。在uboot中ping命令调用了驱动,ping的原理:向目标发包,cheak是否有反应。

do_pingNet Loopping startping sendARPRequest    ARP协议(一种地址解析方式)发送 eth_send()接受 eth_rx()

        #define CONFIG_SETUP_MEMORY_TAGS保证uboot给内核传参可以传递内存信息。

        #define CONFIG_CMDLINE_TAG传递uboot bootargs给内核做启动信息。

这篇关于笔记整理—uboot番外(6)针对x210的网卡说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1142296

相关文章

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

java中新生代和老生代的关系说明

《java中新生代和老生代的关系说明》:本文主要介绍java中新生代和老生代的关系说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、内存区域划分新生代老年代二、对象生命周期与晋升流程三、新生代与老年代的协作机制1. 跨代引用处理2. 动态年龄判定3. 空间分

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二