Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco

Similar documents
IP505SM_manual_cn.doc

Guide to Install SATA Hard Disks

Simulator By SunLingxi 2003

ebook140-9

K7VT2_QIG_v3

untitled

Serial ATA ( Silicon Image SiI3114)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 5 (4) S A T A... 8 (5) S A T A... 10

ch08.PDF

软件测试(TA07)第一学期考试

TCP/IP TCP/IP OSI IP TCP IP IP TCP/IP TCP/IP

Windows 2000 Server for T100

ebook140-8

一个开放源码的嵌入式仿真环境 ― SkyEye

AL-MX200 Series

PIC_SERVER (11) SMTP ( ) ( ) PIC_SERVER (10) SMTP PIC_SERVER (event driven) PIC_SERVER SMTP 1. E-

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

AL-M200 Series

IC-900W Wireless Pan & Tilt Wireless Pan & Tilt Remote Control / Night Vision FCC ID:RUJ-LR802UWG

自由軟體教學平台

自由軟體教學平台

R3105+ ADSL


自由軟體教學平台

CC213

ebook71-13

FY.DOC

IP Access Lists IP Access Lists IP Access Lists

概述

Data Server_new_.doc

《计算机网络》实验指导书

ARP ICMP

Windows 2000 Server for T100

1.ai

Serial ATA ( Nvidia nforce430)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A (6) Microsoft Win

BYOD Http Redirect convergence Client (1) 2008R2 NLB( ) (2) NLB Unicast mode switch flooding (arp ) NLB DNS Redirect 1. Round-Robin DNS DNS IP/DNS Cli

目 彔 1. 准 备 工 作 登 彔 设 置 功 能 说 明 实 时 监 控 基 本 控 制 功 能 设 置 画 质 调 节 彔 像 与 抓 拍

Chapter 2

9 Internet 10 Internet

untitled

ebook50-15

ARM JTAG实时仿真器安装使用指南

BYOD IP+Optical (IP NGN) API 4. End-to-End (Service Aware) 5. IP NGN (IP Next Generation Network) ( ) Prime Carrier Management Access Edge Co

UDP 8.2 TCP/IP OSI OSI 3 OSI TCP/IP IP TCP/IP TCP/IP Transport Control Protocol TCP User Datagram Protocol UDP TCP TCP/IP IP TCP TCP/IP TC

一、选择题

EK-STM32F

4. I/O I/O Copyright 2001, Intellution, Inc. 4-1

epub 61-2

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

bingdian001.com

Serial ATA ( nvidia nforce4 Ultra/SLI)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A (6) Micro

华恒家庭网关方案

工程师培训

Ác Åé å Serial ATA ( Sil3132) S A T A (1) SATA (2) BIOS SATA (3)* RAID BIOS RAID (4) SATA (5) SATA (a) S A T A ( S A T A R A I D ) (b) (c) Windows XP

DOS下常用的网络命令.PDF

LSI U320 SCSI卡用户手册.doc

SP_ SP_03 JAVA...6 SP_10 SQL...8 SP_ SP_ SP_ SP_ SP_ SP_ SP_ SP_04.NET...33 SP_02 C...37 SP_05

84

專業式報告

穨IC-1000


Microsoft Word - 正文.doc

C3_ppt.PDF

untitled

PTS7_Manual.PDF

穨CAS1042快速安速說明.doc

untitled

ansoft_setup21.doc

51 C 51 isp 10 C PCB C C C C KEIL

目录

專業式報告

audiogram3 Owners Manual

SL2511 SR Plus 操作手冊_單面.doc

QL1880new2.PDF

bingdian001.com

经华名家讲堂

專業式報告

Abstract arm linux tool-chain root NET-Start! 2

<4D F736F F D20D6D02D30312D CFC2C8EDBCFEC9E8BCC6CAA6C9CFCEE7CCE2>

计算机网络概论

RunPC2_.doc

¶C¶L§§¬_™¨ A.PDF

BlackBerry Classic Smartphone-用户指南

Microsoft PowerPoint - ch6 [相容模式]

untitled

Ch03_嵌入式作業系統建置_01

新版 明解C言語入門編

宏电文档

新版 明解C++入門編

KL DSC DEMO 使用说明

P4i45GL_GV-R50-CN.p65

Measurement Studio Expands Your Test and Measurement Programming Power

Sun StorEdge 3000 系列安装、操作和维护手册 (3310)

ebook12-1

PROFIBUS3.doc

Microsoft Word - 11.doc

QVM330 多阜寬頻路由器

f2.eps

ebook8-30

1 产 品 简 介 特 性 包 装 产 品 外 观 电 脑 系 统 要 求 硬 件 安 装 软 件 安 装 软 件 操 作 IP

Transcription:

Windows RTEMS 1 Danilliu MMI TCP/IP 80486 QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos ecos Email www.rtems.com RTEMS ecos RTEMS RTEMS Windows

2 QEMU Windows RTEMS Cygwin Cygwin All install All default, RTEMS Cygwin Neilwang RTEMS RTEMS i386 RTEMS QEMU QEMU QEMU GUI Qemu Manager GUI Qemu Manager For Windows V2.1 With QEMU 0.8.0 and KQEMU support QEMU QEMU RTEMS 2.1 1 TAP TAP Linux Linux Windows

openvpn http://openvpn.sourceforge.net TAP Windows openvpn-2.0.7-install.exe TAP-Win32 Virtual Ethernet Adapter 1 Windows TAP-Win32 Windows x my-tap my-tap 2 IP 2 2.2 QEMU TAP QEMU QEMU QEMU RTEMS QEMU Manager RTEMS

ISA 3 3 QEMU NE2000 PCI NE2000 RTEMS QEMU PCI QEMU ISA NE2000 QEMU ISA RTEMS i386 BSP PCI bus: could not initialize PCI BIOS interface PCI BIOS QEMU 4

4 VLAN TAP Networking Windows TAP User Networking QEMU QEMU QEMU QEMU QEMU Linux Windows TAP Networking TAP ID Windows my-tap my-tap MAC Auto QEMU RTEMS QEMU RTEMS PC QEMU grub.exe QEMU grub.exe RTEMS RTEMS Windows RTEMS QEMU RTEMS

3 RTEMS Neilwang RTEMS MicroWindows RTEMS \RTEMS_ROOT 3.1 RTEMS ATA QEMU RTEMS RTEMS ATA ATA RTEMS CVS 4.6.99.3 ATA RTEMS QEMU RTEMS ATA \RTEMS_ROOT\c\src\libchip\ide ata.c ata_process_request_on_init_phase ata do { ide_controller_read_register(ctrl_minor, IDE_REGISTER_STATUS, &byte); } while ((byte & IDE_REGISTER_STATUS_BSY) (!(byte & IDE_REGISTER_STATUS_DRDY))); ide_ctrl_io.h : #define IDE_REGISTER_STATUS_DRDY 0x40 Device ready RTEMS QEMU ATA byte 0x50 byte 0x00 RTEMS RTEMS bug ATA ATA ATA RTEMS QEMU RTEMS ata.c IDE_REGISTER_STATUS_DRDY do { ide_controller_read_register(ctrl_minor, IDE_REGISTER_STATUS, &byte); } while ((byte & IDE_REGISTER_STATUS_BSY) ); ata_process_request_on_init_phase 1416

ata_process_request 449 3.2 RTEMS IP Header CheckSum IP \RTEMS_ROOT \cpukit\libnetworking\machine in_cksum.h in_cksum_hdr(const struct ip *ip) static inline u_int in_cksum_hdr(const struct ip *ip) { register u_int sum = 0; #define ADD(n) \ asm volatile ("addl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (ip)) #define ADDC(n) \ asm volatile ("adcl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (ip)) #define MOP \ asm volatile ("adcl $0, %0" : "=r" (sum) : "0" (sum)) } ADD(0); ADDC(4); ADDC(8); ADDC(12); ADDC(16); MOP; sum = (sum & 0xffff) + (sum >> 16); if (sum > 0xffff) sum -= 0xffff; return ~sum & 0xffff; RTEMS bug RTEMS IP GCC ray GCC RTEMS RTEMS MAKE IP C static inline u_int in_cksum_hdr(const struct ip *ip) { register u_int sum = 0; register u_int16_t *ipdat;

ipdat=(u_int16_t *)ip; sum=ipdat[0]+ipdat[1]+ipdat[2]+ipdat[3]+ipdat[4]+ipdat[5]+ipdat[6]+ipdat[7]+ipdat[8]+ipdat[9]; sum = (sum & 0xffff) + (sum >> 16); } return ~((sum>0xffff)? (sum-0xffff) : sum) & 0xffff; RTEMS RTEMS RTEMS QEMU 4 Windows RTEMS QEMU RTEMS network-demos-4.6.99.2.tar.bz2 networkconfig.h 4.1 RTEMS i386 BSP DEC21140 QEMU NE2000 #define RTEMS_BSP_NETWORK_DRIVER_NAME BSP_NE2000_NETWORK_DRIVER_NAME #define RTEMS_BSP_NETWORK_DRIVER_ATTACH BSP_NE2000_NETWORK_DRIVER_ATTACH 4.2 QEMU #define RTEMS_USE_BOOTP 4.3 #define RTEMS_SET_ETHERNET_ADDRESS #if (defined (RTEMS_SET_ETHERNET_ADDRESS)) static char ethernet_address[6] = { 0x00, 0x80, 0x7F, 0x22, 0x61, 0x77 }; QEMU Auto RTEMS_SET_ETHERNET_ADDRESS 4.4

static struct rtems_bsdnet_ifconfig netdriver_config = { RTEMS_BSP_NETWORK_DRIVER_NAME, name RTEMS_BSP_NETWORK_DRIVER_ATTACH, attach function NULL, No more interfaces "192.168.10.2", IP address "255.255.255.0", IP net mask ethernet_address, Ethernet hardware address 0, Use default driver parameters 0, 0, 0, 0x300, 9, 0 }; IP IP IP TAP IP RTEMS IO RTEMS NE2000 IO ox240 5 QEMU RTEMS Netdemo Telnet echo server telnet 24742 a aa RTEMS t RTEMS TCP u UDP s networkconfig.h

* Network configuration * ************************************************************ * EDIT THIS FILE TO REFLECT YOUR NETWORK CONFIGURATION * * BEFORE RUNNING ANY RTEMS PROGRAMS WHICH USE THE NETWORK! * ************************************************************ * * networkconfig.h,v 1.8 2001/08/31 18:11:43 joel Exp #ifndef _RTEMS_NETWORKCONFIG_H_ #define _RTEMS_NETWORKCONFIG_H_ * The following will normally be set by the BSP if it supports * a single network device driver. In the event, it supports * multiple network device drivers, then the user's default * network device driver will have to be selected by a BSP * specific mechanism. #define BSP_NE2000_NETWORK_DRIVER_NAME #define BSP_NE2000_NETWORK_DRIVER_ATTACH RTEMS_BSP_NETWORK_DRIVER_NAME RTEMS_BSP_NETWORK_DRIVER_ATTACH #ifndef RTEMS_BSP_NETWORK_DRIVER_NAME #warning "RTEMS_BSP_NETWORK_DRIVER_NAME is not defined" #define RTEMS_BSP_NETWORK_DRIVER_NAME "no_network1" #ifndef RTEMS_BSP_NETWORK_DRIVER_ATTACH #warning "RTEMS_BSP_NETWORK_DRIVER_ATTACH is not defined" #define RTEMS_BSP_NETWORK_DRIVER_ATTACH 0 #define RTEMS_USE_BOOTP #include <bsp.h> * Define RTEMS_SET_ETHERNET_ADDRESS if you want to specify the

* Ethernet address here. If RTEMS_SET_ETHERNET_ADDRESS is not * defined the driver will choose an address. #define RTEMS_SET_ETHERNET_ADDRESS #if (defined (RTEMS_SET_ETHERNET_ADDRESS)) //static char ethernet_address[6] = { 0x08, 0x00, 0x3e, 0x12, 0x28, 0xb1 }; static char ethernet_address[6] = { 0x00, 0x80, 0x7F, 0x22, 0x61, 0x77 }; #ifdef RTEMS_USE_LOOPBACK * Loopback interface extern void rtems_bsdnet_loopattach(); static struct rtems_bsdnet_ifconfig loopback_config = { "lo0", name rtems_bsdnet_loopattach, attach function NULL, link to next interface "127.0.0.1", IP address "255.0.0.0", IP net mask }; * Default network interface static struct rtems_bsdnet_ifconfig netdriver_config = { RTEMS_BSP_NETWORK_DRIVER_NAME, name RTEMS_BSP_NETWORK_DRIVER_ATTACH, attach function #ifdef RTEMS_USE_LOOPBACK &loopback_config, link to next interface #else NULL, No more interfaces #if (defined (RTEMS_USE_BOOTP)) NULL, BOOTP supplies IP address NULL, BOOTP supplies IP net mask #else "192.168.10.2", IP address

"255.255.255.0", IP net mask!rtems_use_bootp #if (defined (RTEMS_SET_ETHERNET_ADDRESS)) ethernet_address, Ethernet hardware address #else NULL, Driver supplies hardware address 0, Use default driver parameters 0, 0, 0, }; 0x300, 9, 0 * Network configuration struct rtems_bsdnet_config rtems_bsdnet_config = { &netdriver_config, #if (defined (RTEMS_USE_BOOTP)) rtems_bsdnet_do_bootp, #else NULL, 0, Default network task priority 0, Default mbuf capacity 0, Default mbuf cluster capacity #if (!defined (RTEMS_USE_BOOTP)) "liushiming", Host name "nodomain.com", Domain name "192.168.10.1", Gateway "192.168.10.1", Log host {"192.168.10.1" }, Name server(s) {"192.168.10.1" }, NTP server(s) * A real example -- DO NOT USE THIS YOURSELF!!!

#if 0 "dy4", Host name "NOT_oarcorp.com", Domain name "192.168.1.2", Gateway "192.168.1.2", Log host {"192.168.1.2" }, Name server(s) {"192.168.1.2" }, NTP server(s)!rtems_use_bootp }; * For TFTP test application #if (defined (RTEMS_USE_BOOTP)) #define RTEMS_TFTP_TEST_HOST_NAME "BOOTP_HOST" #define RTEMS_TFTP_TEST_FILE_NAME "BOOTP_FILE" #else #define RTEMS_TFTP_TEST_HOST_NAME "192.168.10.1" #define RTEMS_TFTP_TEST_FILE_NAME "tftptest" _RTEMS_NETWORKCONFIG_H_