VxWorks

VxWorks内核分析七(转)

为了实现应用层程序的平台无关性,操作系统为应用层提供了一套标准的接口函数,这些接口函数在所有的平台上都保持一致,只是随着平台的变化,底层驱动或接近驱动部分操作系统中间层可能会随着调整。这样可以使用户程...
阅读全文
SylixOS

SylixOS高精度时钟分析

1. tick工作原理简介 其实这应该说“定时器工作原理简介”更合适些,1个系统tick就是一个定时器硬件中断,定时器的工作原理很简单,就是内部有一个递减的计数器,当减到0时产生一个中断: 假设定时器...
阅读全文
SylixOS

SylixOS驱动中锁的使用

在驱动开发中,有时候配合app测试之后,使用ts等命令发现只能打印出头部信息,主体信息无法打印,如下: 原因:驱动中锁使用不规范导致系统死锁。 驱动测试代码: #define __SYLIXOS_KE...
阅读全文
SylixOS

SylixOS网络开发(四)

1. 概述 本章节讲述网络零拷贝技术的基本原理,需要知道的一个前提条件是,零拷贝可能不会提升网络驱动收发数据的速度,对不同的平台需要具体的分析,不能一概而论。 2. 发送零拷贝 我们来看看上一章节中的...
阅读全文
SylixOS

SylixOS网络开发(五)

1. 发送零拷贝问题 某SOC是四核A9平台,网络控制器是dw,不使用发送零拷贝的tcp发送带宽是93M/s,使用发送零拷贝之后的发送带宽竟然降低到了20M/s。最后查出的原因是用发送零拷贝时需要ca...
阅读全文
SylixOS

SylixOS网络开发(二)

1.概述 最近调网卡驱动,调的身心俱疲,这里记录一下在调试过程中学习到的网卡驱动相关知识。这个系列文章只关注在SylixOS系统下要让网卡收发数据,需要做什么,会涉及到网络控制器的一些基本硬件知识、驱...
阅读全文
SylixOS

SylixOS网络开发(三)

1. 概述 本篇章节介绍SylixOS网络驱动不使用零拷贝时的数据是如何传递的。在阅读本篇文章的时候,大家脑海里一定要记住以下这张图: 这张图只是对上一章节中的网络数据流图做了一点小修改。 2. 发送...
阅读全文
SylixOS

SylixOS网络开发(一)

1. 网络硬件组成一览 1.1总体概览 网络硬件上主要有以下几部分组成: CPU:为MAC控制器提供描述符,以及负责在网络协议栈和网络驱动之间传送数据 MAC:通过描述符来控制DMA发送和接收数据 D...
阅读全文
SylixOS

SylixOS编程知识点

主要记录一些驱动开发或者应用开发中比较重要的知识点,不定期更新。 1. 串口缓冲区大小设置 在创建串口设备时,一般使用的是下面这个接口: INT API_TtyDevCreate (PCHAR pcN...
阅读全文