笔记整理—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给内核做启动信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/417492.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10添加右键菜单打开VSCode

当进入一个文件夹后,想右键直接打开我的工程,用发现没有vscode项。本文就来介绍如何右键通过vsCode打开项目。步骤1:在桌面新建一个txt文档,用文本编辑器打开 步骤2: 查看vscode所在位置 在桌面找到vscode快捷键图标&…

EasyExcel 文件导出 - 合并某些列值相同的行

文章目录 EasyExcel 文件导出 - 合并某些列值相同的行最终效果实现思路创建单元格合并的策略类使用 EasyExcel 文件导出 - 合并某些列值相同的行 在数据处理与文件导出的过程中,我们常常会遇到各种特定的需求。今天,我们就来探讨一下使用 EasyExcel 进行…

【STM32+HAL库】---- 硬件IIC驱动0.96OLED

硬件开发板:STM32G0B1RET6 软件平台:cubemaxkeilVScode内容原著声明 代码借鉴学习于以下文章: STM32 使用硬件IIC驱动0.96寸4针IOLED显示器(HAL库) 1 新建cubemax工程 1.1 配置系统时钟RCC 1.2 配置引脚 1.3 导出工…

【盖世汽车-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

SQLite3 数据库

一、SQLite3 命令 1. 基本命令 .tables:用于查看数据库中的表。.headers on/off:开启或者关闭表头,方便查看表结构。.mode column:使列对齐,增强数据的可读性。.width 列宽1 列宽2:设置每一列的列宽&…

抖音无水印视频下载

抖音想必大家都不陌生,大家经常会在抖音上刷到各种有意思的视频,但是我们想保存就会发现会有水印信息,那么我们要如何下载无水印的图片呢? 使用说明 我们可以先点击抖音的分享按钮,复制一下视频的链接 然后打开智游剪…

Spring6梳理5——基于XML管理Bean环境搭建

以上笔记来源: 尚硅谷Spring零基础入门到进阶,一套搞定spring6全套视频教程(源码级讲解)https://www.bilibili.com/video/BV1kR4y1b7Qc 目录 ①搭建模块 ②引入配置文件 ③创建BeanXML文件 ④创建Java类文件(User…

pycharm项目里有中文右下角修改无效怎么办 包括注释里有中文

在我们编写pycharm项目时,可能会遇到项目里面有中文运行导致报错,即使我们在右下角修改编码格式,还是无效的 解决办法:点击左上角File,Settings,找到Editor里面的File Encodings ,圈住的位置都要改为UTF-8点击Apply就可以了

NAT技术-将多个内部网络设备映射到一个公共IP地址

问题: 今天上课的时候老师让我们在VMware填同一个子网ip 192.168.196.0,然后给我们的linux镜像都是同一个压缩包,结果我们的静态ip地址都是同一个。 192.168.196.0下面有256个ip地址,范围是192.168.196.0到192.168.196.255。我们…

浏览器百科:网页存储篇-Session storage应用实例(九)

1.引言 在前面的文章中,我们详细介绍了如何在 Chrome 浏览器中打开并使用 Session storage 窗格,进行数据的查看、编辑和管理。作为网页存储技术的重要组成部分,sessionStorage在提升用户体验和数据管理能力方面发挥了重要作用。在本篇《浏览…

谷歌seo网址如何快速被收录?

想让你的网站快速被搜索引擎收录,可以采取几种不同的策略。首先,确保你的网站内容丰富、有价值,搜索引擎更喜欢收录内容质量高的网站。同时,增强网站的外链建设,做好这些站内优化,接下来就是通过谷歌搜索控…

一款云笔记支持在线协同文档,脑图,白板演示的工具,多个设备同步,让灵感与你同行(附源码)

前言 在快节奏的工作环境中,如何高-效地记录、整理并分享工作笔记已经成为了一项重要的技能。传统的笔记方式往往难以满足跨设备、即时同步以及团队协作的需求,导致信息孤岛和工作效率低下。面对这样的挑战,我们迫切需要一种全新的工具来改变…

Type-C接口上的DisplayPort

随着高清视频和多媒体内容的快速发展,数字接口技术也在不断演进。在众多接口技术中,DisplayPort(简称DP)凭借其高带宽、高分辨率支持和多功能性,逐渐成为显示技术的领跑者。本文将深入探讨DisplayPort的技术特点、应用…

NineData云原生智能数据管理平台新功能发布|2024年8月版​​

本月发布 10 项更新,其中重点发布 5 项、其他发布 5 项。 重点发布​ 数据库 DevOps - 敏感数据保护功能大幅升级​ 敏感数据保护全新升级,新增支持敏感数据等级,方便进行分类分级管控,加入数据类型概念,用于智能识…

VMWARE VCENTER6.7 VCSA通过Web5480进行版本升级

VCENTER当前版本如下图 操作前先给VCENTER打一个快照,出问题可以立即回退 1、先下载VCSA镜像,并将VCSA镜像上传至DataStore中; 2、选中VCSA虚拟机,编辑配置 3、挂载新上传的VCSA镜像,一定要勾选“已连接”和“打开电源…

利用大模型实时提取和检索多模态数据探索-利用 Indexify 进行文档分析

概览 传统的文本提取方法常常无法理解非结构化内容,因此提取数据的数据往往是错误的。本文将探讨使用 Indexify,一个用于实时多模态数据提取的开源框架,来更好地分析pdf等非结构化文件。我将介绍如何设置 Indexify,包括服务器设置…

ssm微信小程序的英语学习激励系统论文源码调试讲解

2 关键技术介绍 2.1 SSM框架 开发信息管理系统的主流框架是SSM(Spring Spring MVC MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框…

【Python 千题 —— 算法篇】字符串替换

Python 千题持续更新中 …… 脑图地址 👉:⭐https://twilight-fanyi.gitee.io/mind-map/Python千题.html⭐ 题目背景 在日常编程中,我们经常会遇到需要对字符串中的特定字符或子串进行替换的需求。比如,替换文本中的敏感词汇、…

【Bug】Ubuntu22.04英伟达驱动安装失败,重启后服务器卡在进入系统/grub的页面

目录 报错内容1、安装英伟达驱动:Failed to initialize NVML: Driver/library version mismatch2、重启后卡在系统页面3、在解决完问题2后,尝试继续解决问题1,还是失败4、能ping通服务器但是无法ssh连接 解决方案1、重启后卡在系统页面&#…

kafka的安装和启动

一、kafka介绍 1,kafka简单介绍 kafka是一款分布式、支持分区的、多副本,基于zookeeper协调的分布式消息系统。最大的特性就是可以实时处理大量数据来满足需求。 2,kafka使用场景 1,日志收集:可以用kafka收集各种服务…