SylixOS 实时性能 修订历史版本 日期 原因 V /12/03 创建文档 V /11/29 修改文档模板 i

Similar documents
SylixOS nbench 性能对比 修订历史版本 日期 原因 V /07/24 创建文档 V /11/29 修改文档模板 i

SylixOS GUI(Qt) 性能 修订历史版本 日期 原因 V /09/17 创建文档 V /07/24 使用 OK335xS 重新测试 V /11/29 修改文档模板 i

MSO/DS1000Z系列 数字示波器 模拟通道带宽 100MHz,70MHz,50MHz 4个模拟通道 16个数字通道 仅MSO1000Z DS1000Z Plus可升级为MSO 实时采样率达1GSa/s 标配存储深度达12Mpts,选配达24Mpts 波形捕获率达30,000个波形每秒 多达6万

CHCN_8-14_K.indd

第三期 MSO/DS1000Z 系列 数字示波器 模拟通道带宽 :100MHz,70MHz,50MHz 4 个模拟通道,16 个数字通道 (MSO) 实时采样率达 1G Sa/s 标配存储深度达 12Mpts, 选配达 24Mpts 波形捕获率达 30,000 个波

MSO/DS2000A 系列数字示波器 独立示波器采集运行控制区域 内置信号源专用按键 (MSO/DS2000A-S) 专用波形录制回放搜索按键与旋钮 16 个数字测量通道 (MSO) 每通道独立控制 专用解码控制按键 设备尺寸 : 宽 高 深 = mm mm m

DS1000Z 系列 数字示波器 模拟通道带宽 100 MHz 70 MHz 50 MHz 4个模拟通道 16个数字通道 仅DS1000Z Plus通过MSO升级选件升级后可支持 实时采样率达1 GSa/s 标配存储深度达24 Mpts 波形捕获率达30,000个波形每秒 多达6万帧的硬件实时波形不

MSO/DS4000 系列数字示波器 直观的测量项目选择 9 英寸 WVGA,256 级波形灰度显示 数字通道控制 (MSO) 波形录制及回放控制 常用控制按键 默认设置按键 打印 / 截图按键 16 个数字测量通道 (MSO) 每通道独立控制 设备尺寸 : 宽 高 深 =440.0 mm 218.

系列 MSO/DS2000A 数字示波器 带宽达 300 MHz, 标配 50 Ω 输入阻抗 2 个模拟通道,16 个数字通道 (MSO) 宽范围, 低底噪, 垂直灵敏度范围 :500 uv/div~10 V/div 实时采样率模拟通道达 2 GSa/s; 数字通道达 1 GSa/s(MSO) 模拟

DS4000E 系列数字示波器 直观的测量项目选择 9 英寸 WVGA,256 级波形灰度显示 波形录制及回放控制 常用控制按键 默认设置按键 打印 / 截图按键 每通道独立控制 设备尺寸 : 宽 高 深 =440.0 mm mm mm 重量 :4.8 kg±0.2 kg(

DS2000E 系列数字示波器 独立示波器采集运行控制区域 专用波形录制回放搜索按键与旋钮 每通道独立控制 专用解码控制按键 设备尺寸 : 宽 高 深 = mm mm mm 重量 :3.9 kg±0.2 kg( 不含包装 ) 独创的 UltraVision 技术

目 录

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

D/A DAC ( 1us) (10~20 ) DAC0832 1

Ps22Pdf

上 午 11 时 开 会 通 过 议 程 议 程 通 过 安 全 理 事 会 第 和 号 决 议 主 席 以 英 语 发 言 我 将 像 我 们 4 月 6 日 在 关 于 东 帝 汶 的 会 议 上

PowerPoint Template

关于印发《2015年大学生志愿服务西部计划

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

一 课 程 基 本 情 况 课 程 名 称 工 程 应 用 数 学 ( 计 算 机 类 ) 编 码 所 属 部 门 工 业 中 心 课 程 所 属 专 业 课 程 所 属 模 块 数 学 计 算 机 类 任 课 教 师 情 况 ( 人 数 ) 教 授 副 教 授 讲 师 助 教 3

P1500

Autodesk Product Design Suite Standard 系统统需求 典型用户户和工作流 Autodesk Product Design Suite Standard 版本为为负责创建非凡凡产品的设计师师和工程师提供供基本方案设计和和制图工具, 以获得令人惊叹叹的产品

uc/os 1

378高雄市都市計畫說明書

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD

目录

超级好的移值过程介绍: μC/GUI在MSGl9264液晶上的移植

MCU Keysight CX GSa/s pa 10 A 200 MHz CX3300 FFT

第 十 一 期 2015 年 2 月 关 于 车 辆 购 置 税 征 收 管 理 有 关 问 题 的 公 告 ( 点 击 跳 转 至 全 文 ) 国 家 税 务 总 局 公 告 2015 年 第 4 号 关 于 电 池 涂 料 消 费 税 征 收 管 理 有 关 问 题 的 公 告 ( 点 击 跳

CX3300 Series Device Current Waveform Analyzer - Data Sheet

XX部文件

华恒家庭网关方案

Microsoft Word - 1-3陳詠琳-近代..

DVK530/531扩展板

Preface

,,,,,,,,,,,,, :,, ;,,,,, ( ),,,, : ( ) ; ( ) ; ( ) ( ) ; ( ) ( A ) ; ( ) ( ),,,,,,, 80

语 考 试 考 务 工 作 的 汉 考 国 际 教 育 科 技 ( 北 京 ) 有 限 公 司 ( 以 下 简 称 汉 考 国 际 ) 组 织 的 培 训 和 网 络 考 试 系 统 安 装 指 导, 并 签 署 汉 语 网 络 考 试 补 充 服 务 协 议 第 六 条 拟 新 申 请 成 立 汉

自动测量 22 种波形参数 DS1000E, DS1000D 系列数字示波提供 20 种自动测量的波形参数, 包括 10 种电压参数和 12 种时间参数 光标测量 自动测量参数 丰富的触发功能 DS1000E, DS1000D 系列数字示波器拥有丰富的触发功能, 包括 : 边沿 脉宽 视频 斜率 交

河 南 蓝 皮 书 文 化 (2008) 网 络 文 学 主 要 是 指 在 网 上 原 创 的 文 学 作 品 作 为 网 络 文 化 的 主 力 部 分, 网 络 文 学 的 发 展 在 近 年 来 势 不 可 挡 作 为 凭 借 新 兴 媒 介 兴 起 的 文 学, 网 络 文 学 与 传 统

21 flash

《將進酒》

PowerPoint Presentation

例 如, 一 个 含 有 2000 个 记 录 的 文 件, 每 个 磁 盘 块 可 容 纳 250 个 记 录, 则 该 文 件 包 含 8 个 磁 盘 块 然 后 对 该 文 件 作 二 路 归 并 的 外 排 序, 每 次 往 内 存 读 入 两 个 磁 盘 块, 排 序 后 再 写 回 磁

地 理 志 鏡 止 煞, 來 達 到 安 宅 的 效 果 4. 門 神 符 紙 : 於 門 板 繪 製 門 神, 作 為 宅 第 的 守 護, 民 宅 所 使 用 的 門 神 題 材, 多 為 天 官 賜 福 或 文 武 官 員 符 紙 是 以 畫 了 符 咒 的 紙 懸 掛 室 內, 或 加 框

SA054 Chinese user manual

98年度即測即評學科測試與即測即評即發證技術士技能檢定簡章

Microsoft Word 箕æ−¥ï¼‹å®ı稿;

Keysight B2900A / Keysight B2961A 6 Keysight B2962A 6 Keysight B2961A B2962A nano-voltmeter / nv/10 fa 10 µvrms 210 V/ 3 A 10.5 A GUI nv 2

xueshu004.doc

TDS5000B MyScope MyScope MyScope MyScope TDS5000B TDS5000B (DPO 1 GHz 5 GS/s 16M DPO MyScope TDS5000B TDS5000B DPO DPX 100,000 DPX DPO 2

Microsoft Word - MAN2023A_CH_APPONE.doc

untitled

秘密

E11701


TD

Electrical and Optical Clock Data Recovery Solutions - Data Sheet

目 录 第 一 部 分 档 案 局 概 况 一 主 要 职 责 二 部 门 决 算 单 位 构 成 第 二 部 分 档 案 局 2016 年 度 部 门 预 算 表 一 2016 年 度 市 级 部 门 收 支 预 算 总 表 二 2016 年 度 市 级 部 门 支 出 预 算 表 三 2016

2015 年 度 收 入 支 出 决 算 总 表 单 位 名 称 : 北 京 市 朝 阳 区 卫 生 局 单 位 : 万 元 收 入 支 出 项 目 决 算 数 项 目 ( 按 功 能 分 类 ) 决 算 数 一 财 政 拨 款 一 一 般 公 共 服 务 支 出 二

TDS5000B MyScope MyScope MyScope MyScope TDS5000B TDS5000B (DPO 1 GHz 5 GS/s 16M DPO MyScope TDS5000B TDS5000B DPO DPX 100,000 DPX DPO 2

学习MSP430单片机推荐参考书

深圳市国际招标有限公司

RIGOL 数据手册 DS1000B 系列数字示波器 DS1074B, DS1104B, DS1204B 产品综述 DS1000B 系列为四通道加一个外部触发输入通道的数字示波器, 可同时捕获多路信号, 满足工业的应用需求 DS1000B 系列强大的触发和分析能力使其易于捕获和分析波形 清晰的液晶显

DPJJX1.DOC

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

<4D F736F F D203034CAB5D1E9CBC D20B5C4494F20BDD3BFDACAB5D1E92E646F63>

P4i45GL_GV-R50-CN.p65

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

Microsoft Word - MAN2011A_CH_RTT.doc

DG1000Z 系列函数 / 任意波形发生器 设备尺寸 : 宽 高 深 =261.5mm 112mm 318.4mm 重量 :3.2kg( 不含包装 ) 1 RIGOL

自动测量 20 种波形参数 DS1000E, DS1000D 系列数字示波提供 20 种自动测量的波形参数, 包括 10 种电压参数和 10 种时间参数 光标测量 自动测量参数 丰富的触发功能 DS1000E, DS1000D 系列数字示波器拥有丰富的触发功能, 包括 : 边沿 脉宽 视频 斜率 交

NFFG NF FGNFFG 20Vp-p/ 110MHz20Vp-p 0.1mVp-p0Vp-p Range Hold / DC 25 1Mi Mi2 20 = (IEC / IEEE P.7 DC / FMFSKPMPSKAMDCPWM DC 2 2

untitled

,,, PCB, AR M VxWorks DSP,,,,,,,,,,, (CIP) /,,.:,2005 ISBN TP36 CIP (2005) : ( 10 ) : : (010 ) : (010)

DD1 簡體中文說明書 _6-5-03_.doc

(按 Ctrl + F2 可編輯頁首資料)

《计算机应用基础》学习材料(讲义)

Microsoft Word - 征求意见书.doc

岳西职教中心

行動電話面板產業

chap07.key

附件四:

双通道输出 内置任意波 可编辑任意波 双通道输出 : 可分别设置两个通道的波形和参数及输出开关 操作菜单 同相位 可使能双通道输出时相位同步 任意波形输出 : 仪器内置 48 种任意波形 ( 含直流 ), 包括常用 数学 工程 窗函数及其他常见波形 可编辑任意波 : 可编辑输出 14bits,4kp

F515_CS_Book.book

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

2 目 录 GUITAR LINK UCG102 使 用 说 明 书 重 要 的 安 全 须 知... 3 法 律 声 明... 4 保 修 条 款 简 介 控 制 元 件 和 接 插 口 使 用 举 例 音 频 连 接

Boot Camp 安装与设置指南

104 年 度 第 一 次 會 議 ( )

1 TPIS TPIS 2 2

CPU CPU Intel CPU AMD CPU CPU Socket A/Socket 370 CPU Socket 478 CPU CPU CPU CPU CPU

DVK530/531扩展板

( RMB100,000)

展 望 与 述 评 2 广 电 设 备 与 技 术

Microsoft Word - UND_GEN_N _DOCU_N

双通道输出 内置任意波 可编辑任意波 双通道输出 : 可分别设置两个通道的波形和参数及输出开关 操作菜单 同相位 可使能双通道输出时相位同步 任意波形输出 : 仪器内置 48 种任意波形 ( 含直流 ), 包括常用 数学 工程 窗函数及其他常见波形 可编辑任意波 : 可编辑输出 14bits,4kp

2005.book

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

1

电子技术基础 ( 第 版 ) 3. 图解单相桥式整流电路 ( 图 4-1-3) 电路名称电路原理图波形图 整流电路的工作原理 1. 单相半波整流电路 u 1 u u sin t a t 1 u 0 A B VD I A VD R B

XX部文件

Transcription:

Test Report SylixOS 实时性 TR0010010001 V1.00 Date: 2015/12/03 类别关键词摘要 内容 SylixOS 示波器 Matlab 中断响应能力任务切换时间使用示波器和 Matlab 测试反映 SylixOS 实时性能的两个关键参数 : 中断响应能力和任务切换时间

SylixOS 实时性能 修订历史版本 日期 原因 V1.00 2015/12/03 创建文档 V1.01 2016/11/29 修改文档模板 i

SylixOS 实时性能 目录 1. 测试目的... 1 2. 测试工具... 1 3. 测试硬件平台... 2 4. 操作系统... 2 5. 软件编译参数... 2 6. 中断响应能力测试方法... 3 6.1 测试方案设计... 3 6.2 代码设计... 4 6.3 示波器设置... 5 7. 中断响应能力测试结果... 6 8. 任务切换时间测试方法... 8 8.1 测试方案设计... 8 8.2 代码设计... 9 8.3 示波器设置... 11 9. 任务切换时间测试结果... 12 i

SylixOS 实时性能 1. 测试目的 测试反映 SylixOS 实时性能的两个关键参数 : 中断响应能力和任务切换时间 2. 测试工具 测试工具使用北京普源精电科技有限公司设计 生产和发行销售的 DS1104Z 型数字示 波器, 如图 2.1 图 2.1 DS1104Z 型数字示波器产品特性如下 : 1. 模拟通道带宽 :100MHz/70MHz 2. 4 个模拟通道,16 个数字通道 (MSO) 3. 实时采样率达 1GSa/s 4. 标配存储深度达 12Mpts, 选配达 24Mpts 5. 波形捕获率达 30,000 个波形每秒 6. 多达 6 万帧的硬件实时波形不间断录制和回放功能 ( 选配 ) 7. 独创的 UltraVision 技术 8. 丰富的触发和总线的解码功能 9. 低底噪声, 垂直档位 1mV/div~10V/div 10. 内置 25MHz 双通道函数 / 任意波发生器 (MSO/DS1000Z-S) 11. 丰富的接口 :USB Host&Device LAN(LXI Core Device 2011) AUX USB-GPIB( 可选 ) 12. 新颖精巧的工业设计, 便捷的操作 13. 7 英寸 WVGA(800X480)TFT 宽屏, 多级波形灰度显示 1

SylixOS 实时性能 3. 测试硬件平台 测试硬件平台使用广州友善之臂电子有限公司设计 生产和发行销售的 mini210s 型开 发板, 如图 3.1 图 3.1 mini210 开发板 关键硬件参数如下 : CPU:Samsung 公司的 S5PV210 芯片 ( 基于 ARM Cortex-A8, 运行主频为 1GHz, 带有 32KB 的 D-Cache 和 32KB 的 I-Cache 及 512KB 的 L2-Cache) 内存 :512MB DDR2(32bit 数据总线, 单通道,@200MHz) FLASH 存储 :512M SLC NAND Flash 4. 操作系统 测试硬件平台运行的操作系统为 SylixOS,libsylixos 的版本为 1.0.0-rc43,bspsmart210 的版本为 1.00rc libsylixos 关闭了对 MONITOR 和 SMP 支持 5. 软件编译参数 编译 libsylixos 和 bspsmart210 使用的工具链为 arm-sylixos-toolchain, 其中 c 编译器 arm-sylixos-eabi-gcc 的版本为 4.8.4 2

SylixOS 实时性能 编译 libsylixos 和 bspsmart210 时, 编译参数中的 cpu 参数为 -mcpu=cortex-a8, 优化 参数为 -O2 Os, 即使用 O2 等级优化并且优化代码体积 6. 中断响应能力测试方法 6.1 测试方案设计由于 DS1104Z 型数字示波器带有 1KHz 方波输出, 将 S5PV210 的 GPH0(1) GPIO 管脚配置为外部中断模式, 即成为 EINT1 管脚, 触发方式配置为上升沿触发 将 DS1104Z 型数字示波器的 1KHz 方波输出连接到 EINT1 管脚,SylixOS 将每秒响应外部中断 EINT1 1000 次 ; 同时将 1KHz 方波输出连接到 DS1104Z 型数字示波器的模拟输入通道 CH1 将 S5PV210 的 GPJ3 (7) GPIO 管脚配置为输出模式, 将 GPJ3 (7) 管脚连接到 DS1104Z 型数字示波器的模拟输入通道 CH2 将 DS1104Z 型数字示波器的方波信号地连接到 mini210s 开发板的数字地 DGND 硬件连接如图 6.1 1KHz 方波输出 CH1 CH2 方波信号地 GPJ3(7) EINT1 DGND S5PV210 图 6.1 硬件连接编写 halidlehook 函数,halIdleHook 函数的功能是将 GPJ3 (7) 管脚电平置为低电平, 将 halidlehook 函数添加为空闲线程 t_idle 的勾子函数 而在 EINT1 的中断服务函数里将 GPJ3 (7) 管脚电平置为高电平 由于 cmos 电路, 电压高于 0.7*Vcc 即被识别为高电平, 根据 S5PV210 芯片数据手册得知,Vcc=3.3V, 从 EINT1 接收到上升沿信号 ( 电平高于 0.7*Vcc=0.7*3.3=2.31V 时 ) 到 GPJ3 (7) 管脚变为高电平的时间即为中断响应时间 3

SylixOS 实时性能 6.2 代码设计 bspinit.c 增加的代码如程序清单 6.1 所示 程序清单 6.1 bspinit.c 增加代码 #define SMART210_GPJ37_GPIO #define SMART210_EINT1_GPIO S5PV210_GPJ3(7) S5PV210_GPH0(1) /* * 空闲线程 t_idle 的勾子函数 static VOID halidlehook (VOID) { *(volatile UINT32 *)S5PV210_GPJ3DAT = 0x00; /* * 初始化空闲线程 t_idle 的勾子函数 static VOID halidleinit (VOID) { API_SystemHookAdd(halIdleHook, LW_OPTION_THREAD_IDLE_HOOK); /* * EINT1 中断服务函数 static irqreturn_t SylixOSRealTimeTestEint1Isr (VOID) { irqreturn_t iret; *(volatile UINT32 *)S5PV210_GPJ3DAT = 0xff; iret = API_GpioSvrIrq(SMART210_EINT1_GPIO); if (iret == LW_IRQ_HANDLED) { API_GpioClearIrq(SMART210_EINT1_GPIO); return (iret); /* * SylixOS 实时测试初始化 4

SylixOS 实时性能 static INT SylixOSRealTimeTestInit (VOID) { INT iret; INT iirq; API_GpioRequestOne(SMART210_GPJ37_GPIO, LW_GPIOF_OUT_INIT_LOW, "gpj37"); iret = API_GpioRequestOne(SMART210_EINT1_GPIO, LW_GPIOF_OUT_INIT_LOW, "eint1"); if (iret!= ERROR_NONE) { return (PX_ERROR); iirq = API_GpioSetupIrq(SMART210_EINT1_GPIO, LW_FALSE, 1); if (iirq < 0) { return (PX_ERROR); API_InterVectorConnect((ULONG)iIrq, (PINT_SVR_ROUTINE)SylixOSRealTimeTestEint1Isr, LW_NULL, "eint1_isr"); API_InterVectorEnable((ULONG)iIrq); return (ERROR_NONE); 6.3 示波器设置 将示波器的 CH1 与 CH2 通道设置如下 : 1. 耦合 : 直流 2. 带宽限制 : 关闭 3. 探头 :10X 4. 反相 : 关闭 5. 幅度档位 : 粗调 6. 单位 : V 将示波器的触发设置如下 : 1. 触发类型 : 边沿触发 2. 信源 :CH1 3. 边沿类型 : 上升沿 4. 触发方式 : 自动 5. 触发电压 :2.2V( 略低于 2.31V) 5

SylixOS 实时性能 将示波器的光标设置如下 : 1. 模式 : 自动 2. 自动项目 : 项目 1( 即延迟 1 2 ) 将示波器的测量设置如下 : 1. 信源 :CH1 2. 频率计 : 关闭 3. 清除测量 : 只保留测试项 1 4. 全部测量 : 关闭 5. 全部测量信源 :CH1 与 CH2 6. 统计 : 打开 7. 统计选择 : 极值 8. 设置 : 类型为门限 上限为 95% 中限为 94% 下限为 10% 9. 测量范围 : 屏幕区域 10. 测量历史 : 关闭, 显示方式为图形 注 : 探头补偿正确后, 示波器的 1KHz 方波输出连接到开发板的 EINT1 管脚后, 电压最大值的平均值 为 2.4V, 中限为 2.31V/2.4V=0.9625=96%, 但由于上限最高能设置为 95%, 中限最高能设置为 94%, 故中 限设置为 94%, 由于不是目标的 96%, 所以测量的延迟 1 2 时间将比实际的稍长 7. 中断响应能力测试结果 由于 SylixOS 将每秒响应外部中断 EINT1 1000 次,20 分钟将响应 120 万次, 使用示波 器测量这 120 万次中断的最小响应时间 平均响应时间 最大响应时间, 结果如图 7.1 所示 图 7.1 中断响应时间测量结果 6

SylixOS 实时性能 总结如表 7.1 表 7.1 中断响应时间 120 万次中断 时间 最小响应时间 2.900us 平均响应时间 3.612us 最大响应时间 4.100us 同时使用如程序清单 7.1 的 matlab 程序从中抓取 1 万个数值 程序清单 7.1 matlab 程序 MSO1000Z = visa('ni','usb0::0x1ab1::0x04ce::ds1za154902817::instr'); MSO1000Z.InputBufferSize = 2048; fopen(mso1000z); N = 10000; delay{1 = 1; delay{n = 6; for i=2:n-1 fprintf(mso1000z, ':MEASure:STATistic:ITEM? CURRent,RDELay,CHANnel1,CHANnel2' ); value = fgets(mso1000z); delay{i = str2double(value) * 1000000; end fclose(mso1000z); delete(mso1000z); clear MSO1000Z; new_delay = cell2mat(delay); x = sort(new_delay); y = normpdf(x, mean(x), 0.1); subplot(211); plot(x, y); xlabel('sylixos 响应时间 (us)'); 7

SylixOS 实时性能 生成的正态分布图如图 7.2 图 7.2 中断响应时间正态分布图 8. 任务切换时间测试方法 8.1 测试方案设计将 S5PV210 的 GPJ3 (7) GPIO 管脚配置为输出模式, 将 GPJ3 (7) 管脚连接到 DS1104Z 型数字示波器的模拟输入通道 CH1 硬件连接如图 8.1 CH1 CH2 GPJ3(7) S5PV210 图 8.1 硬件连接 SylixOS 线程上下文切换的函数是 archtaskctxswitch 函数, 在 archtaskctxswitch 进入时, 将 GPJ3 (7) 管脚置为高电平 ; 在 archtaskctxswitch 退出时, 将 GPJ3 (7) 管脚置为低电平 ;GPJ3 (7) 管脚为高电平的时间将是 archtaskctxswitch 函数的执行消耗时间, 即示波器的 CH1 通道的正脉宽 8

SylixOS 实时性能 修改 t_led 的线程函数 smart210ledthread,smart210ledthread 函数的功能是不断休眠 1 个 tick, 由于 SylixOS 的时钟频率是 100Hz, 所以 SylixOS 将每秒进行任务切换至少 100 次 8.2 代码设计 bspinit.c 增加的代码如程序清单 8.1 所示 程序清单 8.1 bspinit.c 增加代码 #define SMART210_GPJ37_GPIO S5PV210_GPJ3(7) /* * SylixOS 实时测试初始化 static INT SylixOSRealTimeTestInit (VOID) { INT iret; iret = API_GpioRequestOne(SMART210_GPJ37_GPIO, LW_GPIOF_OUT_INIT_LOW, "gpj37"); if (iret!= ERROR_NONE) { return (PX_ERROR); return (ERROR_NONE); static VOID smart210ledthread (VOID) { while (1) { API_TimeSleep(1); 修改后的 archtaskctxswitch 函数如程序清单 8.2 所示 程序清单 8.2 archtaskctxswitch 函数 FUNC_DEF(archTaskCtxSwitch) ;/* 将 GPJ3 (7) 管脚置为高电平 ldr r1, =0xE02002A4 mov r2, #0xFF str r2, [r1] STMFD SP!, {LR ;/* 任务返回 PC 值 入栈 9

SylixOS 实时性能 STMFD SP!, {LR STMFD SP!, {R0-R12 ;/* Push registers MRS R4, CPSR ;/* CPSR 入栈 STMFD SP!, {R4 MOV R4, R0 ;/* stack current = SP LDR R5, [R4] STR SP, [R5] STMFD SP!, {R0 ;/* 当前 CPU 信息 入栈 LDR R1, =_SchedSwp ;/* _SchedSwp(); MOV LR, PC BX R1 LDMFD SP!, {R0 ;/* 当前 CPU 信息 出栈 MOV R4, R0 ;/* SP = stack current LDR R5, [R4] LDR SP, [R5] LDMFD SP!, {R4 ;/* CPSR 出栈 MSR SPSR_cxsf, R4 ;/* 将 GPJ3 (7) 管脚置为低电平 ldr r1, =0xE02002A4 mov r2, #0x00 str r2, [r1] LDMFD SP!, {R0-R12, LR, PC^ ;/* 包括 PC 的所有 寄存器出栈, ;/* 同时更新 CPSR FUNC_END() 10

SylixOS 实时性能 8.3 示波器设置 将示波器的 CH1 通道设置如下 : 1. 耦合 : 直流 2. 带宽限制 : 关闭 3. 探头 :10X 4. 反相 : 关闭 5. 幅度档位 : 粗调 6. 单位 : V 将示波器的触发设置如下 : 1. 触发类型 : 边沿触发 2. 信源 :CH1 3. 边沿类型 : 上升沿 4. 触发方式 : 自动 5. 触发电压 :2.2V( 略低于 2.31V) 将示波器的光标设置如下 : 1. 模式 : 自动 2. 自动项目 : 项目 1( 即正脉宽 ) 将示波器的测量设置如下 : 1. 信源 :CH1 2. 频率计 : 关闭 3. 清除测量 : 只保留测试项 1 4. 全部测量 : 关闭 5. 全部测量信源 :CH1 6. 统计 : 打开 7. 统计选择 : 极值 8. 设置 : 类型为门限 上限为 90% 中限为 50% 下限为 10% 9. 测量范围 : 屏幕区域 10. 测量历史 : 关闭, 显示方式为图形 11

SylixOS 实时性能 9. 任务切换时间测试结果 SylixOS 将每秒进行任务切换至少 100 次,20 分钟将响应 12 万次, 使用示波器测量这 12 万次任务切换的最小时间 平均时间 最大时间, 结果如图 9.1 所示 图 9.1 任务切换时间测量结果总结如表 9.1 表 9.1 任务切换时间 12 万次任务切换时间最小任务切换时间 470ns 平均任务切换时间 577.1ns 最大任务切换时间 890ns 同时使用如程序清单 9.1 所示的 matlab 程序从中抓取 1 万个数值 : 程序清单 9.1 matlab 程序 MSO1000Z = visa('ni','usb0::0x1ab1::0x04ce::ds1za154902817::instr'); MSO1000Z.InputBufferSize = 2048; fopen(mso1000z); N = 10000; delay{1 = 200; 12

SylixOS 实时性能 delay{n = 1000; for i=2:n-1 fprintf(mso1000z, ':MEASure:STATistic:ITEM? CURRent,PWIDth,CHANnel1'); value = fgets(mso1000z); delay{i = str2double(value) * 1000000000; end fclose(mso1000z); delete(mso1000z); clear MSO1000Z; new_delay = cell2mat(delay); x = sort(new_delay); y = normpdf(x, mean(x), 0.1); subplot(211); plot(x, y); xlabel('sylixos 任务切换时间 (ns)'); 生成的正态分布图如图 9.2 所示 图 9.2 任务切换时间正态分布图 13