CN109597651A - 一种基于mpc7410处理器的串口和网口模块开发方法 - Google Patents
一种基于mpc7410处理器的串口和网口模块开发方法 Download PDFInfo
- Publication number
- CN109597651A CN109597651A CN201811187939.8A CN201811187939A CN109597651A CN 109597651 A CN109597651 A CN 109597651A CN 201811187939 A CN201811187939 A CN 201811187939A CN 109597651 A CN109597651 A CN 109597651A
- Authority
- CN
- China
- Prior art keywords
- network
- network interface
- driving
- serial
- serial ports
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明涉及一种基于MPC7410处理器的串口和网口模块开发方法,串口模块的开发方法包括:采用NSC16C552芯片,挂接在Tsi107内存控制器的低8位;设计串口接口电路;开发串口驱动程序结构,VxWorks中串行设备支持I/O系统和目标机代理接口,工作在中断方式或轮询模式;创建串口tty驱动;ttyDevCreate()分配并初始化设备描述结构,初始化tyLib;开发串口底层驱动。网口模块的开发方法包括:设计网口接口电路;开发网口驱动程序结构;创建网络MUX,网络协议层和网络驱动接口根据需要使用MUX接口函数,使用时填入正确的参数;开发网口底层驱动;设计网口驱动全过程。本发明给出了基于MPC7410处理器的串口和网口模块开发方法,对于后续新机带VxWorks系统的PowerPC处理器板的测试与修理提供技术支撑。
Description
技术领域
本发明涉及串口网口开发技术领域,具体的说是一种基于MPC7410处理器的串口和网口模块开发方法。
背景技术
目前,有关基于MPC7410处理器的串口和网口模块开发方法较少。经国内外现有文献资料检索,尚属空白。
长期以来,工厂承修的各类机型飞机的含处理器电路板处理器主要集中在 DSP(包括TMS320F2407、TMS320VC5416以及TMS320VC6713系列TI公司DSP)、80CX86(包括80C186、80486处理器)、FPGA(包括EPM7128等)以及CPLD(包括 XC95144等)等,基于PowerPC处理器的系统板是目前新机机载计算机的典型系统。随着后续新机型飞机陆续进厂,其中含PowerPC处理器的航电产品修理数量将逐年呈上升趋势。为了系统掌握这类产品的检测与深度修理能力,迫切需要加强这方面的技术储备。
发明内容
为了避免和解决上述技术问题,本发明提出了一种基于MPC7410处理器的串口和网口模块开发方法。
本发明所要解决的技术问题采用以下技术方案来实现:
一种基于MPC7410处理器的串口和网口模块开发方法,包括串口模块的开发方法、网口模块的开发方法;
所述串口模块的开发方法包括以下步骤:
步骤S101:采用NSC16C552芯片,挂接在Tsi107内存控制器的低8位;
步骤S102:设计串口接口电路;
步骤S103:开发串口驱动程序结构,VxWorks中串行设备支持I/O系统和目标机代理接口,工作在中断方式或轮询模式;
步骤S104:创建串口tty驱动,在usrRoot()完成创建tty驱动,调用ttyDrv() 向I/O子系统注册串行驱动,初始化tty驱动;ttyDevCreate()分配并初始化设备描述结构,初始化tyLib;
步骤S105:开发串口底层驱动,以针对具体目标系统和串行设备的真实驱动程序,完成实际硬件设备的初始化和读写操作;
所述网口模块的开发方法包括以下步骤:
步骤S201:设计网口接口电路,所述网口接口电路包括GD82559ER芯片、网络隔离变压器和RJ45;
步骤S202:开发网口驱动程序结构,VxWorks支持网络驱动包括BSD型驱动和END驱动;
步骤S203:创建网络MUX,MUX层类似串口的tty中间层作用,网络协议层和网络驱动接口根据需要使用MUX接口函数,使用时填入正确的参数;
步骤S204:开发网口底层驱动,所述网口底层驱动是目标系统与网络设备的真实驱动程序,完成设备的初始化和读写操作;
步骤S205:设计网口驱动全过程,以获得网口以及其它外设驱动正常使用所需的内存空间。
进一步的,所述步骤S102中设计串口接口电路包括:
串口地址数据线挂接在107桥控制器Memory接口;
片选由107的RCS1提供,内存空间0xFF00_0000–FF7F_FFFF范围内;
串口线由RXA、TXA和GND组成连接上位机等其他外部通讯设备。
进一步的,所述步骤S104中tty层函数调用关系包括:
write()函数调用过程:write()—tyWrite()—底层驱动,tyWrite()将用户缓冲读数据写到输出环形缓冲,调用ns16552TxStartup()启动发送,底层驱动从输出缓冲读数据,再完成发送;
read()函数调用过程:read()—tyRead()—底层驱动,底层驱动将设备读到的字符写入输入环形缓冲,从环形缓冲读数据到用户缓冲中。
进一步的,所述步骤S104中底层驱动文件包括:
sysSerial.c:系统初始化串口时调用的内核接口文件;
ns16552Sio.h:串口驱动头文件,用于完成串口芯片寄存器声明、定义寄存器联合体和NS16552_CHAN数据结构;
ns16552Sio.c:串口驱动文件,实现串口芯片的初始化和数据处理功能。
进一步的,所述步骤S201中GD82559ER芯片包括:串行子系统、FIFO子系统、10/100Mbps串行CSMA/CD单元、10/100Mbps物理层。
进一步的,所述步骤S204中网口底层驱动的驱动文件包括:
configNet.h:为声明网络设备和定义END_OBJ类型FEI_LOAD_FUNC结构;
sysFei82559End.c:完成网络驱动加载和工作模式相关配置工作;
fei82559End.h:定义网口芯片寄存器、命令设置和接收发送对应的帧描述符。
进一步的,所述步骤S205中网口驱动全过程包括四个环节:系统自动探测并配置、网口硬件探测、驱动程序加载、设备启动。
本发明的有益效果是:
本发明给出了基于MPC7410处理器的串口和网口模块开发方法,对于后续新机带VxWorks系统的PowerPC处理器板的测试与修理提供技术支撑,可满足后续新机含VxWorks系统的PowerPC处理器板深修的需要,为整板功能调试奠定基础,也为后续类似板件维修提供技术支撑。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1为本发明中串口模块的开发方法流程图;
图2为本发明中网口模块的开发方法流程图;
图3为本发明中VxWorks串行设备驱动结构层次;
图4为本发明中tty层函数调用关系图;
图5为本发明中sysSerial.c的串口初始化流程图;
图6为本发明中串口读写处理函数流程图一;
图7为本发明中串口读写处理函数流程图二;
图8为本发明中VxWorks网络设备驱动结构层次图;
图9为本发明中网口初始化流程图;
图10为本发明中网口数据接收流程图;
图11为本发明中网口数据发送流程图;
图12为本发明中fei82559EndLoad总流程图;
图13为环节一流程示意图;
图14为环节三流程示意图;
图15为环节四流程示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面对本发明进一步阐述。
如图1至图15所示,一种基于MPC7410处理器的串口和网口模块开发方法,包括串口模块的开发方法、网口模块的开发方法;
所述串口模块的开发方法包括以下步骤:
步骤S101:串口模块采用NSC16C552芯片,挂接在Tsi107内存控制器的低 8位;串口主要用作系统引导、启动和运行过程中输出打印信息和输入指令交互的控制台。
步骤S102:设计串口接口电路;
所述步骤S102中设计串口接口电路包括:
1、串口地址数据线挂接在107桥控制器Memory接口,地址接法参照107 用户手册6.4,特别注意数据线接法顺序是反接的;
2、片选由107的RCS1提供,内存空间0xFF00_0000–FF7F_FFFF范围内;
3、串口线由RXA、TXA和GND组成连接上位机等其他外部通讯设备。
步骤S103:开发串口驱动程序结构;
VxWorks中串行设备支持I/O系统和目标机代理接口,工作在中断方式或轮询模式。
串行设备驱动包括:系统I/O库(ioLib)、tty驱动(ttyDrv/tyLib),其中 ttyDrv是I/O系统与真实驱动程序之间的通用接口。串口tty驱动使I/O系统独立于具体的串行驱动,保证了代码的可复用和统一界面。
如图3为VxWorks串行设备驱动结构层次,I/O系统与tty驱动和tyLib相连,且tty驱动和tyLib进行数据交互,tty驱动和tyLib连接串口驱动程序,串口驱动程序连接串口硬件。
步骤S104:创建串口tty驱动;
在usrRoot()完成创建tty驱动,调用ttyDrv()向I/O子系统注册串行驱动,初始化tty驱动;ttyDevCreate()分配并初始化设备描述结构,初始化tyLib;
其中,如图4,tty层函数调用关系包括:
write()函数调用过程:write()—tyWrite()—底层驱动,tyWrite()将用户缓冲读数据写到输出环形缓冲,调用ns16552TxStartup()启动发送,底层驱动从输出缓冲读数据,再完成发送;
read()函数调用过程:read()—tyRead()—底层驱动,底层驱动将设备读到的字符写入输入环形缓冲,从环形缓冲读数据到用户缓冲中。
步骤S105:开发串口底层驱动;
底层驱动是针对具体目标系统和串行设备的真实驱动程序,完成实际硬件设备的初始化和读写操作;底层驱动文件包括:
sysSerial.c:系统初始化串口时调用的内核接口文件,可参见表1;
表1 sysSerial.c内部构成
函数名 | 说明 |
NS16552_CHAN_PARAS | 定义串口设备参数结构 |
sysSerialHwInit() | 初始化串口各参数 |
sysSerialHwInit2() | 连接串行设备中断 |
sysSerialHwReset() | 复位串行设备 |
sysSerialChanGet() | 获取一个串行设备 |
其中,sysSerial.c的串口初始化流程如图5,具体过程为:
开始;将串口各相关参数在配置文件中设定完成,系统上电usrInit(),调用sysHwInit();sysHwInit()调用和sysSerialHwInit(),ns16550DevInit() 初始化;usrRoot()调用和sysClkConnect();sysHwInit2()系统中断; sysSerialHwInit2()串行中断;usrRoot()调用和ttyDrv()初始化驱动; ttyDevCreate()创建串口;ns16550Sio.c串口处理函数;结束。
ns16552Sio.h:串口驱动头文件,用于完成串口芯片寄存器声明、定义寄存器联合体和NS16552_CHAN数据结构;
ns16552Sio.c:串口驱动文件,实现串口芯片的初始化和数据处理功能,可参见表2、表3;
表2串口设备宏定义
函数名 | 说明 |
N_SIO_CHANNELS | 定义串行I/O设备通道数目为1 |
COM1_BASE_ADR | 定义COM1端口基地址 |
COM1_INT_LVL | 设置串行中断级为4 |
DEFAULT_BAUD_RATE | 串口默认波特率为9600 |
CONSOLE_TTY | 定义本端口为控制台通道 |
表3 ns16552Sio.c内部构成
函数名 | 说明 |
ns16552SioDrvFuncs | 定义串口驱动功能数据结构 |
ns16552Ioctl() | 设置串口各配置控制参数 |
ns16552IntWr() | 中断方式发送 |
ns16552IntRd() | 中断方式接收 |
ns16552Int() | 中断处理 |
ns16552TxStartup() | 启动发送 |
ns16552PollOutput() | 轮询方式发送 |
ns16552PollInput() | 轮询方式接收 |
ns16552CallbackInstall() | 被tty层调用,提供接口函数 |
串口处理函数包括启动发送函数ns16552TxStartup()、串口中断读写函数ns16552IntRd()和ns16552IntWr()以及ns16552PollOutput()和 ns16552PollInput()。串口读写处理函数流程图具体见图6、7,其中;
图6的过程为:开始;查询线路状态地址寄存器LSR;发送保持寄存器为空;否,则返回开始步骤;是,则数据写入发送保持寄存器THR;过程结束。
图7的过程为:开始;查询线路状态地址寄存器LSR;数据是否准备好;否,则返回开始步骤;是,则读取接收缓冲寄存器RBR,过程结束。
所述网口模块的开发方法包括以下步骤:
网口部分的设计基于Tsi107控制的本地PCI总线,网口主要用于下载 VxWorks系统镜像以及数据通信。
步骤S201:设计网口接口电路,所述网口接口电路包括GD82559ER芯片、网络隔离变压器和RJ45;
其中GD82559ER是一个高集成度、高性能、低功耗10/100Mbps快速以太网控制器;GD82559ER由四个主要子系统构成:串行子系统、FIFO子系统、 10/100Mbps串行CSMA/CD(带冲突检测的载波监听多路访问)单元、10/100Mbps 物理层。
网口AD[0:31]地址数据复用连接107PCI接口信号,CLK是PCI接口时钟,由107的PCI_CLK0提供33MHz。
步骤S202:开发网口驱动程序结构,VxWorks支持网络驱动包括BSD型驱动和END驱动;
END主要特点是增加了管理END设备的MUX中间层模块。MUX层管理着I/O 系统与真实驱动程序之间的通信,内核启动时MUX提供接口函数;本设计使用 END驱动。
参见图8为VxWorks网络设备驱动结构层次图,具体包括:应用层、Socket、协议层、协议驱动程序、MUX接口、END网口驱动程序、网口硬件。
步骤S203:创建网络MUX,MUX层类似串口的tty中间层作用,网络协议层和网络驱动接口根据需要使用MUX接口函数,使用时填入正确的参数;
步骤S204:开发网口底层驱动,所述网口底层驱动是目标系统与网络设备的真实驱动程序,完成设备的初始化和读写操作;
其中网口底层驱动的驱动文件包括:
configNet.h:为声明网络设备和定义END_OBJ类型FEI_LOAD_FUNC结构;首先需要定义FEI82559_LOAD_FUNC为外部接口函数sysFei82559EndLoad。 sysNet.c定义sysNetHwInit()以及连接网络设备中断等。
sysFei82559End.c:完成网络驱动加载和工作模式相关配置工作;查找文件中定义的Intel系列的网卡的厂商号和设备号代码段,实现对Inte182559ER 网卡的支持。
fei82559End.h:定义网口芯片寄存器、命令设置和接收发送对应的帧描述符;fei82559End.c包括初始化函数、网口启动函数和数据处理函数。
其中,fei82559Endload()是对82559芯片完成初始化工作:(1)自定义结构分配;(2)END_OBJ初始化;(3)网口驱动资源分配;(4)设备硬件初始化,fei82557Start()启动网口进入工作状态。
初始化流程参见图9,具体为:开始;网口各相应参数在配置文件中设定完成;系统上电usrRoot(),调用sysClkConnect();sysHwInit2()调用 sysNetHwInit2()网络初始化;sys559PciInit()函数调用,设备查找函数 pciFindDevice();根据总线号、设备号和功能号遍历查找网卡 pciConfigInLong()读取识别号;将busNo,deviceNo和funcNo写入107Config_ADD寄存器;读取107Config_DATA寄存器,sysMPC107PciInLong();用读取的数据和网卡识别号,对比确认找到设备;网卡PCI配置空间初始化;过程结束。
107作为系统的主桥,其PCI接口作为整个系统的本地总线接口,可以挂接 PCI设备,包括网络设备和PCI桥设备,所有设备都连在107的PCI接口,各设备通过IDSEL连接AD[31:11]信号其中一个作为片选信号。
网口寄存器的访问方式与本地内存接口的SDRAM、FLASH等设备区别在于:
处理器访问PCI空间是通过107的两个端口寄存器间接实现的,当CPU访问MPC107的配置地址寄存器和配置数据寄存器(内存地址分别为0xFEC00000和 0xFEE00000)时,MPC107会识别出这是对PCI配置空间的访问,将代CPU执行对 PCI总线地址空间的操作,表4汇总了网口PCI配置相关寄存器。
表4网口PCI配置寄存器
PCI总线上每一个设备都有自身的/REQ和/GNT。请求允许之间的握手获得总线的访问权。/C_BE[3:0]信号定义PCI总线指令,决定PCI总线处理的类型(具体指令列表见107用户手册7.3.2)。
PCI数据传输控制信号:
/FRAME:有效表明PCI总线执行开始,否则处理结束;
/IRDY:有效表明PCI主设备准备好执行,否则等待;
/TRDY:有效表明PCI从设备准备好执行,否则等待。
PCI定义三种物理地址空间,PCI内存空间、PCII/O空间和PCI配置空间。对于内存空间寻址,107在主模式下AD[1:0]=00,每个数据周期结束后地址增加4bytes直到处理完成。
对于PCII/O空间访问,AD[31:0]提供1byte地址。对于PCI配置空间寻址有两种type0和type1类型。type0用于选择本地总线上的某一个设备,type1 用于向PCI-to-PCI桥(下一级PCI总线)传递配置请求。
系统中PCI接口访问网口配置空间用type0型,访问9054配置空间用type1 型。
网口处理函数包括发送函数fei82559Send()、接收函数 fei82559Receive()、中断处理函数fei82557Int()以及fei82557PollSend() 和fei82559Receive(),附图10、11为网口数据接收、发送流程图,其中;
图10具体过程为:设备;缓冲区;网络驱动ISR;经netJobAdd()到数据接收程序;经END_OBJ到receiveRtn()和muxReceive();经NET_PROTOCOL到网络协议;缓冲区;Read()。
图11具体过程为:设备;缓冲区;网络驱动ISR;数据发送程序和send();经NET_FUNCS到muxSend();网络协议;缓冲区;Write()。
步骤S205:设计网口驱动全过程,以获得网口以及其它外设驱动正常使用所需的内存空间。
系统运行需要内存空间,网口以及其它外设驱动正常使用需要内存空间作为物理基础,因此系统运行前必须完成内存分布。
sysLib.c中sysPhyMemDesc[]定义RAM空间的各项属性。BSP头文件中,RAM 内存空间的相关定义。
#defineLOCAL_MEM_SIZE 0x08000000/*128Megabyte*/
#defineRAM_LOW_ADRS 0x00100000/*RAMtest/dataaddress*/
#defineRAM_HIGH_ADRS 0x01E00000/*RAM address forROMboot*/
#defineUSER_RESERVED_MEM 0x00800000/*userreservedmemory size*/
PCI空间属性:PCI non-prefetchable memory没有分界,由PCI设备自身决定所需是否为可预取空间属性。
注:网口启动后进行数据的接收发送任务。
上面列出了网口驱动全过程,包含四个主要环节。具体如下:
环节一:sysPciAutoConfig.c
1、107关于PCI的设置
sysMPC107PciInit
(1)PCICLK
(2)PCI信号驱动能力
(3)PICR1寄存器
(4)PCI仲裁控制
2、自动分配空间(pciAutoRegConfig)
pciConfigLibInit(PCI_MECHANISM_0,(ULONG)sysPciConfigRea,
(ULONG)sysPciConfigWrite,0);
sysPciAutoConfig():填写PCI_SYSTEM数据结构;
sysParams.pciMemIo32=PCI_PP_MEM_START
sysParams.pciMemIo32Size=PCI_PP_MEM_SIZE
pciConfigInLong(0,13,0,0x00,&ultmp)/*read dev 13*/
pciAutoCfgFunc
表5参数说明
环节二:
usrRoot→sysClkConnect→sysHwInit2→sysNetHwInit2→sys557PciInit:
(1)pciFindDevice:遍历查找读取设备,pciConfiglong(0,12,0,0x00, &vendor)
(2)将读取设备的参数写入pReso结构体,包括设备总线号、设备号、功能号,三个基址和中断号
(3)使能Mem、IO地址空间.PCI_CFG_COMMAND
(4)连接系统中断
sys557PciInit pReso的赋值
membaseCsr=0x8000_1000
iobaseCsr=0x0080_0000
membaseFlash=0x8010_0000
注:modify函数可以修改网口寄存器中BAR的基址内容。
Irq 13置1 12置0
其中读取网口寄存器的基址pciConfigInLong。
环节三:fei82559Endload(1-16子程序)
图12为fei82559EndLoad总流程图,具体过程为;
开始;
1、给设备结构分配空间,calloc(sizeof(DRV_CTRL),1);
2、解析字符串,fei82557InitParse(pDrvCtrl,initString);
3、pDrvCtrl->board信息结构体;
sys557Init(pDrvCtrl->unit,&pDrvCtrl->board);
4、定义网口寄存器基址,pCSR=(CSR_ID)pDrvCtrl-board.baseAddr;
5、检测网口寄存器内存空间是否分配完成vxMemProbe();
6、网口DMA初始化,fei82557InitMem(pDrvCtrl);
7、关中断,I82557_INT_DISABLE(SCB_C_M);
8、物理层初始化,fei82557PhyInit(pDrvCtrl);
9、网口时钟连接,fei82557ClkRate=sysClkRateGet();
10、wdCreate()创建一个系统看门狗;
pDrvCtrl->txRetryWDld=wdCreate();
11、复位芯片fei82557Reset(pDrvCtrl),
写入复位命令FEI_PORT_SELRESET;
12、执行CU、RU加载命令fei82557SCBCommand();
13、添加网口硬件地址bcopy(pDrvCtrl->board.enetAddr,enetAddr[0]);
14、endObj初始化,END_OBJ_INIT;
15、管理信息库MBI接口初始化,END_MIB_INIT;
16、设备使能准备,END_OBJ_READY;结束。
环节四:fei82559Start
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (7)
1.一种基于MPC7410处理器的串口和网口模块开发方法,其特征在于:包括串口模块的开发方法、网口模块的开发方法;
所述串口模块的开发方法包括以下步骤:
步骤S101:采用NSC16C552芯片,挂接在Tsi107内存控制器的低8位;
步骤S102:设计串口接口电路;
步骤S103:开发串口驱动程序结构,VxWorks中串行设备支持I/O系统和目标机代理接口,工作在中断方式或轮询模式;
步骤S104:创建串口tty驱动,在usrRoot()完成创建tty驱动,调用ttyDrv()向I/O子系统注册串行驱动,初始化tty驱动;ttyDevCreate()分配并初始化设备描述结构,初始化tyLib;
步骤S105:开发串口底层驱动,以针对具体目标系统和串行设备的真实驱动程序,完成实际硬件设备的初始化和读写操作;
所述网口模块的开发方法包括以下步骤:
步骤S201:设计网口接口电路,所述网口接口电路包括GD82559ER芯片、网络隔离变压器和RJ45;
步骤S202:开发网口驱动程序结构,VxWorks支持网络驱动包括BSD型驱动和END驱动;
步骤S203:创建网络MUX,MUX层类似串口的tty中间层作用,网络协议层和网络驱动接口根据需要使用MUX接口函数,使用时填入正确的参数;
步骤S204:开发网口底层驱动,所述网口底层驱动是目标系统与网络设备的真实驱动程序,完成设备的初始化和读写操作;
步骤S205:设计网口驱动全过程,以获得网口以及其它外设驱动正常使用所需的内存空间。
2.根据权利要求1所述的一种基于MPC7410处理器的串口和网口模块开发方法,其特征在于:所述步骤S102中设计串口接口电路包括:
串口地址数据线挂接在107桥控制器Memory接口;
片选由107的RCS1提供,内存空间0xFF00_0000–FF7F_FFFF范围内;
串口线由RXA、TXA和GND组成连接上位机等其他外部通讯设备。
3.根据权利要求1所述的一种基于MPC7410处理器的串口和网口模块开发方法,其特征在于:所述步骤S104中tty层函数调用关系包括:
write()函数调用过程:write()—tyWrite()—底层驱动,tyWrite()将用户缓冲读数据写到输出环形缓冲,调用ns16552TxStartup()启动发送,底层驱动从输出缓冲读数据,再完成发送;
read()函数调用过程:read()—tyRead()—底层驱动,底层驱动将设备读到的字符写入输入环形缓冲,从环形缓冲读数据到用户缓冲中。
4.根据权利要求1所述的一种基于MPC7410处理器的串口和网口模块开发方法,其特征在于:所述步骤S104中底层驱动文件包括:
sysSerial.c:系统初始化串口时调用的内核接口文件;
ns16552Sio.h:串口驱动头文件,用于完成串口芯片寄存器声明、定义寄存器联合体和NS16552_CHAN数据结构;
ns16552Sio.c:串口驱动文件,实现串口芯片的初始化和数据处理功能。
5.根据权利要求1所述的一种基于MPC7410处理器的串口和网口模块开发方法,其特征在于:所述步骤S201中GD82559ER芯片包括:串行子系统、FIFO子系统、10/100Mbps串行CSMA/CD单元、10/100Mbps物理层。
6.根据权利要求1所述的一种基于MPC7410处理器的串口和网口模块开发方法,其特征在于:所述步骤S204中网口底层驱动的驱动文件包括:
configNet.h:为声明网络设备和定义END_OBJ类型FEI_LOAD_FUNC结构;
sysFei82559End.c:完成网络驱动加载和工作模式相关配置工作;
fei82559End.h:定义网口芯片寄存器、命令设置和接收发送对应的帧描述符。
7.根据权利要求1所述的一种基于MPC7410处理器的串口和网口模块开发方法,其特征在于:所述步骤S205中网口驱动全过程包括四个环节:系统自动探测并配置、网口硬件探测、驱动程序加载、设备启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811187939.8A CN109597651B (zh) | 2018-10-12 | 2018-10-12 | 一种基于mpc7410处理器的串口和网口模块开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811187939.8A CN109597651B (zh) | 2018-10-12 | 2018-10-12 | 一种基于mpc7410处理器的串口和网口模块开发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109597651A true CN109597651A (zh) | 2019-04-09 |
CN109597651B CN109597651B (zh) | 2022-04-12 |
Family
ID=65957279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811187939.8A Active CN109597651B (zh) | 2018-10-12 | 2018-10-12 | 一种基于mpc7410处理器的串口和网口模块开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109597651B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175139A (zh) * | 2019-05-08 | 2019-08-27 | 厦门亿联网络技术股份有限公司 | 一种usb设备的通用调试方法及usb设备 |
CN110737480A (zh) * | 2019-09-18 | 2020-01-31 | 福州瑞芯微电子股份有限公司 | 一种串口驱动程序复用方法和装置 |
CN111870939A (zh) * | 2020-07-09 | 2020-11-03 | 天津津航计算技术研究所 | vxworks系统下基于信号量事件的操纵杆串口驱动设计方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030097428A1 (en) * | 2001-10-26 | 2003-05-22 | Kambiz Afkhami | Internet server appliance platform with flexible integrated suite of server resources and content delivery capabilities supporting continuous data flow demands and bursty demands |
US20060002315A1 (en) * | 2004-04-15 | 2006-01-05 | Citrix Systems, Inc. | Selectively sharing screen data |
CN104679513A (zh) * | 2015-02-12 | 2015-06-03 | 无锡识凌科技有限公司 | 一种智能终端中的设备驱动架构开发方法 |
CN107967236A (zh) * | 2017-11-27 | 2018-04-27 | 国营芜湖机械厂 | 一种基于MPC7410处理器的VxWorks系统板及其软件设计方法 |
-
2018
- 2018-10-12 CN CN201811187939.8A patent/CN109597651B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030097428A1 (en) * | 2001-10-26 | 2003-05-22 | Kambiz Afkhami | Internet server appliance platform with flexible integrated suite of server resources and content delivery capabilities supporting continuous data flow demands and bursty demands |
US20060002315A1 (en) * | 2004-04-15 | 2006-01-05 | Citrix Systems, Inc. | Selectively sharing screen data |
CN104679513A (zh) * | 2015-02-12 | 2015-06-03 | 无锡识凌科技有限公司 | 一种智能终端中的设备驱动架构开发方法 |
CN107967236A (zh) * | 2017-11-27 | 2018-04-27 | 国营芜湖机械厂 | 一种基于MPC7410处理器的VxWorks系统板及其软件设计方法 |
Non-Patent Citations (4)
Title |
---|
YU YI.ETC: ""Design of the Master Control System of the Array Antenna Based on the VxWorks"", 《2011 FOURTH INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTATION TECHNOLOGY AND AUTOMATION》 * |
刘丽君等: ""基于PowerPC的嵌入式系统硬件设计"", 《现代电子技术》 * |
聂敏: ""基于PowerPC7410处理器的VxWorks系统研究"", 《中国优秀硕士学位论文全文数据库 (工程科技Ⅱ辑)》 * |
聂敏等: "《基于MPC7410处理器的VxWorks系统板的研制》", 《测控技术》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175139A (zh) * | 2019-05-08 | 2019-08-27 | 厦门亿联网络技术股份有限公司 | 一种usb设备的通用调试方法及usb设备 |
CN110175139B (zh) * | 2019-05-08 | 2021-01-05 | 厦门亿联网络技术股份有限公司 | 一种usb设备的通用调试方法及usb设备 |
CN110737480A (zh) * | 2019-09-18 | 2020-01-31 | 福州瑞芯微电子股份有限公司 | 一种串口驱动程序复用方法和装置 |
CN110737480B (zh) * | 2019-09-18 | 2022-05-13 | 瑞芯微电子股份有限公司 | 一种串口驱动程序复用方法和装置 |
CN111870939A (zh) * | 2020-07-09 | 2020-11-03 | 天津津航计算技术研究所 | vxworks系统下基于信号量事件的操纵杆串口驱动设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109597651B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100572165B1 (ko) | 유니버셜 직렬 버스 디바이스 컨트롤러 | |
CN100483373C (zh) | Pvdm(分组语音数据模块)通用总线协议 | |
US5568619A (en) | Method and apparatus for configuring a bus-to-bus bridge | |
CN101593164B (zh) | 基于嵌入式Linux的从USB HID装置及固件实现方法 | |
CA2109682C (en) | Multiple bus interface | |
CN109597651A (zh) | 一种基于mpc7410处理器的串口和网口模块开发方法 | |
EP1131732B1 (en) | A direct memory access engine for supporting multiple virtual direct memory access channels | |
KR20070003954A (ko) | 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템 | |
CN101162448A (zh) | 一种usb高速数据隧道的硬件传输方法 | |
CN110968352B (zh) | 一种pcie设备的复位系统及服务器系统 | |
CN101604301A (zh) | 使用绑定选择在pci配置空间中转换的适配器 | |
KR20030014353A (ko) | 시스템 부팅시 비시스템 메모리 저장 자원을 사용하기위한 메모리 접근 제어기를 포함하는 컴퓨터 시스템 | |
US8775712B2 (en) | Bus connecting device for connecting host with external device | |
CN111931442A (zh) | Fpga内嵌flash控制器及电子装置 | |
CN115470163A (zh) | Dma传输的控制方法、控制装置、控制设备及存储介质 | |
Slogsnat et al. | A versatile, low latency HyperTransport core | |
JPH11126182A (ja) | コンピュータバス間通信装置及びその方法 | |
US20070293984A1 (en) | Method for command transmission between systems | |
US6490638B1 (en) | General purpose bus with programmable timing | |
US20030188071A1 (en) | On-chip high speed data interface | |
US10176133B2 (en) | Smart device with no AP | |
WO2012124431A1 (ja) | 半導体装置 | |
CN101281507A (zh) | Usb接口型dsp实时仿真开发系统 | |
CN105068962A (zh) | I2c控制器访问方法及系统 | |
CN100462952C (zh) | 接口可配置的通用串行总线控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |