您的位置 首页 IOT

Keystone I以太网子系统调试手册

Keystone I系列芯片(C6670,C6671,C6672,C6674,C6678, TCI6614)的以太网子系统可以划分为三个功能实体:内部Switch(SGMII Serdes/SGM

摘要

Keystone I系列芯片(C6670,C6671,C6672,C6674,C6678, TCI6614)的以太网子体系能够划分为三个功用实体:内部Switch(SGMII Serdes/SGMII/EMAC/CPSW),PA(包加速器),SA(安全加速器)。该子体系因为包含的子模块多,相对较为杂乱,相关的四本用户手册内容安排并不是很简略了解,不少用户在开发进程中都遇到了一些技能难题。本手册总结实践运用中遇到的部分典型的技能问题和各种问题的调试方法,一起也供应以太网子体系的各种有用装备和主张。关于具有根本Keystone I以太网常识的用户,本手册能够作为用户手册的有力弥补。希望读者在开端阅览user guide和具有根本的PA LLD/SA LLD开发经历今后再查阅本文。

1.以太网子体系阐明

图1 以太网子体系框图

在用户手册中,以太网子体系能够称为网络协处理器子体系(NETCP),其首要构成模块有:

1.以太网交流部分

首要模块有Serdes,SGMII, EMAC,三端口交流机等

2.包加速器

首要模块有6个PDSP,3个一级的查找表,1个二级的查找表,对应的Packet DMA等

3.安全加速器

首要模块有2个PDSP,加解密和鉴权引擎等

留意:

以太网子体系的整个初始化进程,一般引荐选用从内到外的次第:

PA PAKET DMA->PA PDSP->3 port switch/CPSW->EMAC->SGMII->SGMII Serdes

2.SGMII

2.1 SGMII SerDes装备

Serdes的装备首要与供应的Serdes时钟相关,下面给出一个对应不一起钟频率的装备示例:

312.5MHz->SGMII PLL Configuration Register 0x41,

250MHz-> SGMII PLL Configuration Register 0x51,

156.25MHz-> SGMII PLL Configuration Register 0x81

装备结束今后,请留意查看SGMII SerDes Status Register(SGMII_SERDES_STS)的最低Lock 位是否为1。

2.2 SGMII与PHY的衔接

当SGMII与PHY衔接的时分,SGMII必定是Slave形式,一般状况下一起使能自洽谈。

2.3 SGMII与Switch的衔接

关于支撑SGMII规范的外部switch与Keystone I芯片衔接的时分,能够一端装备为master,另一端装备为slave,一起使能自洽谈形式。可是关于只支撑1000BASE-X的switch与Keystone I芯片衔接的时分,应该将两头都设置为master形式,并制止自洽谈,强制为1000M全双工。

2.4 MDIO接口与PHY的操控

通过MDIO操控寄存器MDIO_CONTROL能够对外接的PHY进行操控,依照用户手册的主张装备到2.5MHz。需求留意的是:

1.MDIO模块初始化后,应该先通过MDIO读取PHY的ID寄存器,承认该衔接是否正常。

2.读取MDIO模块的PHY Alive Status Register(ALIVE)获取PHY ID(留意PHY ID是0~31)

3.将第二步读到的PHY ID作为PHY address写到MDIO User Access Register 0 (USERACCESS0)或许MDIO User Access Register 1(USERACCESS1)中拜访对应的PHY寄存器

2.5 1000M半双工的问题阐明

Keystone I不支撑1000M半双工的运用,当外接的PHY或许是switch支撑1000M半双工时,或许会对keystone I的网络功用形成影响。特别是当某些PHY在复位进程中,或许会主张1000M半双工的恳求,这种状况下,请在体系上电初始化时先通过MDIO接口封闭PHY的1000M半双工洽谈才干。

3.EMAC

3.1 VLAN aware形式和VLAN unaware形式

1.VLAN unaware形式下一切的包不会被改动

2.VLAN aware形式的装备进程:

A.装备GbE switch Control寄存器(CPSW_CONTROL)的VLAN_AWARE比特

B.装备ALE Control寄存器(ALE_CONTROL)的ALE_VLAN_AWARE比特

C.装备P0_PORT_VLAN,P1_PORT_VLAN和P2_PORT_VLAN寄存器

3.VLAN aware形式对不同包的不同战略:

A.关于untagged包,刺进端口所装备的VLAN头

B.关于priority tagged包,依据CPSW_CONTROL中的 P0_PASS_PRI_TAGGED/P1_PASS_PRI_TAGGED/P2_PASS_PRI_TAGGED装备,假如该位为 0(default),则该端口上收到的priority tagged包中的VLAN ID会被替换为该端口装备的VLAN ID。

C.关于VLAN tagged包,包中的VLAN优先级会被替换为该端口装备的VLAN优先级,VLAN ID 不变。

3.2 EMAC的复位

EMAC模块供应了一个软复位的寄存器,一般状况下在芯片上电复位发动后,不主张运用该寄存器对EMAC模块做独自的复位操作,该复位操作后或许会引起以太网包收发反常,请慎重运用。

3.3 MAC地址的阐明

关于Keystone I的芯片来说,一般能够装备3个MAC地址。以C6678为例,

MACID1(0x02620110)和MACID2(0x02600114)

该MAC地址是出厂时,TI写到芯片的Efuse里的,类似于一个芯片ID,只读不行修正。假如芯片挑选以太网boot方法,芯片会以该地址宣布bootp的报文(Ethernet ready announcement)

MAC1_SA_LO(0x2090870)和MAC1_SA_HI(0x2090874)

MAC2_SA_LO(0x20908A0)和MAC2_SA_HI(0x20908A4)

以上两个MAC地址是别离装备给两个EMAC端口的,但该地址的效果仅限于使能以太网Rx流控今后,封装发到网络上的流控帧,并不按MAC地址过滤以太网包。

因为Keystone芯片有包加速器(PA),MAC地址的过滤应该由装备PA来完结,所以能够以为Keystone I的EMAC模块作业在稠浊形式(Promiscuous mode)。换句话讲,一切的报文都会接纳并到PA进行过滤,从事务层面,关于一颗Keystone I的芯片理论上最大能够装备64个MAC地址(LUT1-0有64个表项)。

4.CPSW

4.1 ALE模块的留意事项

4.1.1 MAC地址的老化问题

因为ALE只要1K个表项,且硬件没有供应内部的timer来主动保护一个老化周期,所以运用程序需求自己保护一个timer。Time第一次超时,运用程序对ALE_CONTROL寄存器的AGE_OUT_NOW比特置位,会导致一切ageable的ALE Entry被设置为untouched;第2次timer超时,再次设置ALE_CONTROL寄存器的AGE_OUT_NOW比特,在两次超时之间仍坚持为 untouched的表项将会被铲除。假如在两次超时之间,有包交流并从头touched的表项将会被保存。

4.1.2 ALE Bypass

设置ALE bypass仅仅标明从网络外发到芯片的包,将不会通过查找ALE再交流,而是无条件发送到HOST port。而从HOST port发送到外部的网络的包依然要通过ALE交流。

4.1.3 不知道的单播,多播,播送包

1.在某一个端口收到的,ALE中无法匹配的多播和播送包会被播送到另两个端口。

2.在HOST端口收到的,ALE中无法匹配的单播包,会被发送到两个SGMII端口。

3.在某SGMII端口收到的,ALE中无法匹配的单播包,只会被发送另一个SGMII端口。

4.2以太网子体系环回装备及其运用

图2 以太网子体系环回

以太网子体系供应如图的SGMII Serdes环回,SGMII digital环回,CPSW FIFO环回。

留意环回的方向,SerDes环回,SGMII digital环回和CPSW FIFO环回都有内环的功用,也便是芯片内的CPU(包含DSP core,ARM core)向外发的包会被环回到芯片。因为产生环回的节点不一样,所以能够运用这几种环回来定位以太网装备问题。示例:

1.CPSWFIFO环回成功,而Serdes环回和digital环回失利,根本能够断定EMAC/SGMII装备有问题

2.CPSWFIFO环回和digital环回成功,而Serdes环回失利,根本能够断定SGMII Serdes装备有问题

3.CPSWFIFO环回,digital环回和CPSW FIFO环回都成功,阐明CPSW以基层的装备在根本是正确的

CPSW FIFO环回还包含了外环的功用,也便是从外部网络(PHY/Switch)进入芯片的包会被环回到外部网络,芯片内的CPU core将无法收到这些包。这个功用能够用以断定 PHY/switch与keystone I的衔接装备是否正确。留意CPSW FIFO环回只能用于debug,使能今后不能动态的去使能,也便是说使能今后若想康复正常状况,有必要对整个SoC下电,从头上电复位。

4.3 以太网流控

Rx流控的意义是CPSW检测到FIFO超越必定的门限今后,该端口主意向网络外宣布以太网流控帧。该流控帧的发送量是30pps。

Tx流控的意义是CPSW检测到网络对端宣布的流控帧,报告给HOST(DSP/ARM),由HOST软件来判决削减发送的网络流量。

需求留意的是,假如Rx FIFO的占用状况一向满意Rx 流控的检测条件,Rx flow control 帧会不断的发送到网络上,这种状况多呈现在上层软件或许PA/SA呈现某种反常的场景下。

4.4 CPSW的计算寄存器

1.寄存器实践都是R/W特点,比方当你读到一个寄存器的值为0x80,回写大于0x80的数字,会导致该寄存器的值清0。实践对该组寄存器的写操作是减法联系,假如该寄存器正在动态改变中,对它进行写操作并不会导致计算值的丢掉。比方当你读到一个寄存器的值为0x80,回写0x80的时刻该寄存器实践的值现已变为0x90(因为该时刻有包的收发),则此刻写0x80的成果是该寄存器的值变为0x90-0x80=0x10。

2.CPSW的计算寄存器有两组,其间STATA是对应于HOST port,STATB是两个SGMII port的和

3.关于计算寄存器中的Rx,Tx别离都是站在CPSW模块的视点计算的成果,换句话说,计算STATA中的Rx表明的是HOST port从DSP/ARM cores收进CPSW的包,Tx表明的是从HOST port 宣布CPSW到DSP/ARM core的包;而计算STATB中的Rx表明的是两个SGMII端口从网络收进来的包,Tx表明的是从两个SGMII端口发送到外部网络的包。

简略的示例:

1)假如一个包从网络外发送到Keystone I芯片,DSP/ARM core没有收到

A.查看STATB的Rx寄存器

B.查看STATA的TX寄存器

2)假如一个包从DSP/ARM core发送到网络外,网络上没有收到

A.查看STATA的Rx寄存器

B.查看STATB的TX寄存器

4.一般状况下RXSOFOVERRUNS/RXMOFOVERRUNS/ XDMAOVERRUNS寄存器都为0,在某些特定条件下,如以太网子体系reset进程中收到包,这些寄存器呈现较小的值且不增加是正常的。但假如这些寄存器呈现不断增加且收包流量并不大,这种状况一般阐明以太网收包反常,一般反常是因为收包的软件模块反常或许PA子体系反常形成的。

4.5 802.1P VLAN QoS的装备

图3 CPSW FIFO示意图

每个CPSW EMAC端口都有收发的FIFO,收发的总memory数为20个4K block。Rx/Tx的收发block数能够通过P1_MAX_BLKS和P2_MAX_BLKS寄存器装备。其间Tx FIFO分为四个优先级行列(priority queue),优先级0到3,其间3的优先级最高。装备进程为:

1.装备packet priority to header packet priority mapping register(P0_RX_PRI_MAP 和两个EMAC的MAC_RX_PRI_MAP),将实践的VLAN包的8个优先级映射到芯片内部包头的优先级

2.装备header priority to switch priority mapping register(P1_TX_PRI_MAP和P2_TX_PRI_MAP),将内部包头的优先级映射到4个优先级行列

留意:

a.关于untagged VLAN包,映射所要用的VLAN优先级将运用端口的VLAN优先级。在P0_PORT_VLAN,P1_PORT_VLAN和P2_PORT_VLAN寄存器中装备

b.当只运用0~3四个优先级行列中的部分时,有必要从优先级最高的行列3开端分配。比方只运用两个行列,则应该用3和2。

c. 端口0代表HOST port,端口0收到的包都会通过ALE交流后从两个EMAC端口发送出去,所以端口0只需求装备packet priority to header packet priority mapping register,而没有header priority to switch priority mapping register。

下面是三个VLAN映射的示例:

5.PA

5.1 PA PLL装备

依据data sheet(参阅SPRS671D TMS320TCI6614 Data Manual Figure 8-25 PASS PLL Block Diagram),PA子体系的时钟能够挑选两个来历,一个是PASS PLLOUT,另一个是从SYSCLK1固定的三分频。当芯片的主频装备为1GHz时,假如挑选SYSCLK1,则PA子体系作业频率是333MHz,能够挑选PASS PLLOUT方法,通过PA PLL装备子体系作业于350MHz。可是关于主频为1.2GHz的芯片,只能挑选PASS PLLOUT方法,通过PA PLL装备子体系作业于350MHz,不能支撑SYSCLK1三分频到400MHz。

5.2 PA的Packet DMA模块

1.PA的packet DMA模块有9个Tx通道和24个Rx channel,留意这些通道在硬件上都有固定的映射联系,请在使能PA子体系的时分,使能一切的通道。

2.PA的packet DMA模块有32个Rx flow。实践运用中经常见到做法是一切用到Rx Flow/FDQ 的当地都装备同一个Rx Flow/FDQ,这样的做法尽管最简略,可是一旦呈现问题则很简略导致该FDQ的描述符敏捷耗尽,并且很难定位导致问题的点。

3.一般来说在PA与其他的硬件模块(特别是SA)数据交互进程都十分的快,而PA将分类好的数据交给HOST queue,因为有软件的处理所以较慢。故而引荐分隔灵敏装备不同的Rx Flow(FDQ): 硬件模块交互间的FDQ一般包含16个描述符/buffer就足够了,而最后到HOST queue的Rx Flow/FDQ能够依据实践软件的处理速度来装备更多的个描述符/buffer。

4.分隔装备不同的Rx Flow/FDQ带来的另一个优点是,装备到HOST queue的RX flow/FDQ 里的描述符耗尽,也不会影响到硬件的处理。并且因为FDQ依据不同的功用和包处理流程做了不同的装备,在定位某些网络处理问题的时分愈加简略。比方在某一个FDQ里的描述符竭尽时,根本能够确定是该级的相关模块处理的问题,更简略缩小问题定位的规模。

下面是两个的装备实例:

IPSec ESP地道形式

1.当PDSP1依据IPSec ESP的SPI将包分类并路由到SA的时分,将需求一个Rx Flow的装备(在LUT1-1的装备),假定装备为Rx Flow No.1(FDQ No.1000,包含闲暇描述符/buffer 16 个)。

2.当SA对IPSec ESP报文解密结束,并送到PDSP2做内层IP分类的时分,装备Rx Flow No.2 (FDQ No.1001,包含闲暇描述符/buffer 16个) 。

3.当PDSP3做完L4/L5分类今后,将包送到HOST queue时装备Rx Flow No.3(FDQ No.1002,包含闲暇描述符/buffer 8K个)。

IPSec AH+ESP地道形式

1.当PDSP1依据IPSec AH的SPI将包分类并路由到SA的时分,将需求一个Rx Flow的装备(在LUT1-1的装备),假定装备为Rx Flow No.1(FDQ No.1000,包含闲暇描述符/buffer 16个) 。

2.当SA对IPSec AH报文鉴权校验结束,并送回PDSP1做IPSec ESP SPI分类的时分,装备Rx Flow No.4(FDQ No.1003,包含闲暇描述符/buffer 16个)。

3.当PDSP1依据IPSec ESP的SPI将包分类并路由到SA的时分,装备Rx Flow No.1(FDQ No.1000,包含闲暇描述符/buffer 16个)。

4.当SA对IPSec ESP报文解密结束,并送到PDSP2做内层IP分类的时分,装备Rx Flow No.2 (FDQ No.1001,包含闲暇描述符/buffer 16个)。

5.当PDSP3做完L4/L5分类今后,将包送到HOST queue时装备Rx Flow No.3 (FDQ No.1002,包含闲暇描述符/buffer 8K个)。

为了更好的定位在开发进程中遇到的网络问题,比方丢包,packet DMA行列卡死,描述符丢掉等等,引荐在运用软件侧做一些描述符的辅佐定位手法:

1.当描述符初始化今后,记载下一切的描述符首指针。

2.查询/扫描PA Packet DMA Tx行列No. 640~648中描述符个数

3.当发现行列No. 640~648行列中有包拥塞时(正常状况下该行列中的描述符个数不会超越64个),中止包的收发

4.将在进程1记载的描述符地址与FDQ残留的和行列No. 640~648行列中拥塞的做比较

5.发现丢掉的描述符,并查看其内容,特别是查看是否有描述符的packet length超越其链接的一切分片的buffer length总和的状况

5.3 PA Bypass

芯片能够装备为bypass整个PA子体系。PA bypass的本质是疏忽一切的PA模块(PDSP/LUT)的处理,从SGMII端口收到的包通过内部的packet stream switch直接通过PA PKTDMA模块传输到HOST queue。其装备进程为:

1.装备CPSW Configuration Register(CPSW_CFG_REG)为0x606(参阅sprugz6 Network Coprocessor(NETCP)User Guide)

2.初始化并装备PA Packet DMA模块

3.装备PA Packet DMA的Rx flow No.22和Rx flow No.23,其间Rx flow No.22中的destination queue代表了从SGMII0收到的包所要放到的意图行列,Rx flow No.23中的destination queue代表了从SGMII1收到的包所要放到的意图行列。

留意:PA bypass今后,因为一切的包未通过PA子体系的过滤直接进入到HOST行列中,流量较大的状况下,很简略形成FDQ的描述符耗尽。并且简略形成软件协议栈loading过高,简略遭受网络进犯。另因为在芯片规划中,PA能够直接与SA进行数据传输,特别是在from network方向上对加密的包进行解密今后在送到HOST queue,而PA bypass今后,关于加密包的解密处理将增加HOST侧的CPU负荷。

5.4 PA的固件和Low level driver

PA的固件有三个文件,坐落PDK装置目录\pdk_C6678_x_x_x_xx\packages\ti\drv\pa\fw (x_x_x_xx 为版别号) ,PDSP0~PDSP2共用一个文件(classify1_bin.c),PDSP3用一个文件(classify2_bin.c),PDSP4和PDSP5共用一个文件(pam_bin.c)。PA子体系运转于大端序,所以固件都是大端序。留意固件版别和LLD版别必定要共同。固件的版别号能够从上述C文件的数组中读到,第三个32bit WORD便是版别号。

如上例固件版别号为1.3.0.7

PA LLD的版别号能够从PA LLD装置目录的paver.h中得到(PA_LLD_VERSION_ID和PA_LLD_VERSION_STR)。

PA LLD中的函数Pa_downloadImage是下载PDSP固件的,留意其间每个PDSP的常量表界说pap_pdsp_const_reg_map,不同的版别这些值或许不同。关于某些有ARM core的Keystone I芯片,该常量表不是通过PA LLD函数来赋值而是Linux kernel代码直接赋值的,所以有必要跟各个版别的固件对应。假如常量表和固件,LLD的版别不匹配,或许会有某些功用反常。

5.5 PA LUT1表项增加的战略

LUT1是线性查找表,也就说,装备的表项从下标No. 0一向找到No.63。因为不同的表项内容间或许有包含联系,比方某一项A只要求匹配意图IP地址,另一项B装备了相同的意图IP 地址,一起也装备了源IP地址。这样其实是B的条件比A愈加严厉,那么严厉的表项B应该比宽松的A下标小。比方装备A在No.1,B在No.0,只要这样B才干有被匹配的或许性。

留意:PA LLD供应的函数如Pa_addIp,Pa_addMac等,都供应了不指定下标的方法增加表项,函数的参数为不指定下标的时分,PA LLD的处理为从下标较大的开端增加。例如当某个64表项的表为空,而两次调用Pa_addIp增加表项并不指定表项方位的时分,第一次增加的表项在No.63的方位,第2次增加的表项在No.62方位。

5.6 PA相关的调式

5.6.1 Device simulator辅佐调试

因为PA子体系首要由硬件模块组成,供应的寄存器有限,关于杂乱的功用来说,调试相对比较困难。可是TI的芯片simulator上对该子体系进行了充沛的支撑,在初期开发阶段,simulator上调试PA愈加便利。

下面是一个在TCI6608的simulator上使能PA调试和Log输出的比方:

1.CCS装置途径\simulation_csp_ny\bin\configurations\tisim_tci6608_pv.cfg假如该行被注释,请解注释INPUT5 log_file,pass.log;

2.在软件初始化中参加下面的代码

3.上两步的初始化进程将在simulator的装置途径(如CCS装置途径

\simulation_csp_ny\env\ccs\drivers\pass.log)下产生名为Pass.log的详细log文件

该文件包含LUT表项的增加进程,LUT表项每一级的匹配进程等等详细的内容。

留意这个方法十分合适确诊某些包未依照料想的规矩匹配/路由的状况,软件只需求将测验包发到640行列(疏忽以太网子体系其他的模块的初始化进程)就能够开端测验。可是关于发包量比较大的测验,产生的Log文件或许过于巨大。

5.6.2 PA子体系供应的体系计算

用PA LLD供应的Pa_requestStats和Pa_formatStatsReply函数能够提取PA子体系给出的计算计数器,这些计算计数器在体系运转进程中能够确诊部分的包匹配,包过错等问题。下面是对这些计数器的详细阐明。

5.6.3 辅佐调试的寄存器

运用PDSP所供应的一些辅佐计数器/寄存器能够更简略的在运转时定位问题。比方下面的计数器

0x2000000+0x10*n PDSPn收到的包数(包含装备指令和数据包)

0x2000008+0x10*n PDSPn收到的装备指令数

举例阐明其用法:

1.假如读到0x2000000为0xa,0x2000008为0x1,代表PDSP0收到了9个数据包和1个装备指令

2. 在第一步的基础上持续读到0x2000010为0x3,0x2000018为0x1,代表PDSP1收到了2个数据包和1个装备指令

3.依据前两步的成果,咱们能够知道,有2个数据包在PDSP0收到后持续传给了PDSP1

表1 PDSP辅佐寄存器列表

PDSP control register:PDSP寄存器,操控PDSP的运转状况。

PDSP status register:PDSP状况寄存器,其实是PDSP固件的PC值,该值不稳定,假如该值一向不改变,能够确定是PDSP固件crash。

PDSP instruction RAM:PDSP指令空间,设置PDSP control register为1,能够将PDSP halt,一起查看PDSP的指令空间。在某些功用反常的时分,能够回读PDSP指令空间,特别是固件的版别号,看看是否与希望的共同。

PDSP debug register:PDSP的调试寄存器。

LUT table bit map:查找表的占用状况。每个查找表的表项在占用后,PDSP都会对该表项对应的位域置位。这个位表中保存的是PDSP/硬件所保护的查找表状况,运用软件能够将其回读来与自己所保存的比较,看看是否有不共同的状况产生。理论上软硬件应该是同步的。

LUT table route info:依据LUT table bit map所查找到的对应表项下标,乘以64字节的偏移量,能够找到该表项匹配后对应的路由信息,该信息是由软件装备的。相同能够回读,看看是否与希望的共同。

5.6.4 PDSP的单步盯梢

在某些PDSP相关的问题定位进程中,或许需求对PDSP做单步盯梢。该方法首要适用于在simulator的方法下无法重现的功用问题,比方表项匹配失利失利,路由过错等等。取得的信息能够交由TI进行剖析。

调用示例:单步盯梢PDSP1,600步

6.SA

SA调试的进程中,请充沛运用SA供应的相关计算信息:

6.1 体系计算

留意:

描述符中供应了PS_flag字段,能够指定该描述符所发向的意图SGMII端口(direct packet mode),可是当该描述符要先通过SA的时分,请清空该字段,不然SA对该包的处理导致安全上下文的过错(errCtx)。在通过SA处理后的包仍需求指定对应的SGMII端口的状况,装备该包从SA输出今后的路由到645行列/PDSP5,并用PA的Next route指令指定到以太网以及对应的SGMII端口号。

6.2 通道计算

6.2.1 SRTP

6.2.2 IPSec

6.2.3 Air Cipher

留意:

取通道计算应该在调用完SA API Sa_chanReceiveData或Sa_chanSendData今后,而这两个API本身有部分加解密的开端查看效果,运用程序有必要要对回来值进行判别。假如它们回来过错,则应该停止向SA发包的进程,并依据回来值来查看本身运用软件的过错。何时调用这两个API是需求留意的另一个问题,在IPsec/SRTP的场景下,TX侧代表to network方向,即加密方向,需求调用调用Sa_chanSendData;Rx侧代表from network方向,即解密方向,需求调用Sa_chanReceiveData。关于air cipher的场景, TX侧关于空中接口来说实践为from air方向, 即解密方向,需求调用调用Sa_chanReceiveData;Rx侧代表to air方向,即加密方向,需求调用Sa_chanSendData。

6.3 辅佐寄存器

SA的辅佐寄存器首要用来定位SA相关的硬件过错,当然该硬件过错或许是由软件的非法操作导致的。下面是常用的辅佐寄存器列表,表中标示了正常状况下所希望的值。特别请留意CMD_STATUS寄存器,在运转时刻的SA反常状况,常能够反映到该寄存器中。其详细的意义请参阅SA用户手册。

 SA调试寄存器列表

表2 SA调试寄存器列表

7.总结

本文首要总结了目前为止我国区用户在开发Keystone I系列芯片的时分,所遇到的以太网子体系相关的典型技能问题,以及阅览user guide时一些较为会集的疑问。许多用户在开发进程中简略疏忽的问题本文都做了着重。PA子体系部分的调试方法根本能够掩盖开发进程中所遇到的一切问题。文档中给出的各种寄存器装备以及示例程序,都在实践开发中有运用。

参阅文献

1.KeyStone Architecture Network Coprocessor (NETCP) User Guide (SPRUGZ6)

2.KeyStone Architecture Gigabit Ethernet (GbE) Switch Subsystem User Guide (SPRUGV9A)

3.KeyStone Architecture Packet Accelerator (PA) User Guide (SPRUGS4)

4.KeyStone Architecture Security Accelerator (SA) User Guide (SPRUGY6)

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/iot/296475.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部