驱动相关
设备操作异常,出错崩溃该如何解决?
Q:装载应用程序执行, 为什么在程序退出时, 系统崩溃或者不稳定? 创建的一个设备例如: 创建 /dev/abc 当应用程序打开设备文件正在操作时, 我调用 iosDevDelete 卸载设备, 此时应用程序如果再操作这个已经打开的设备文件可能会出错或者崩溃. 设备删除一般有两个方法: 1. 单独的设备删除函数, 例如: pipe, can... 他们都会有一个独立的设备删除函数. 调用此函数将会删除设备文件 2. 将设备删除函数装入驱动程序表的 remove 函数指针, 当调用 ...
字符设备网卡移植
目 录 1. 适用范围 2. 移植概述 3. 准备工作 3.1 环境准备 3.2 资源准备 4. 技术实现 4.1 了解网络协议栈网卡驱动框架 4.2 修改为字符设备网卡驱动代码 5. 编写测试程序 6. 调试代码 7. 总结 8. 参考资料 9. 免责声明 1. 适用范围 适用于客户要求SylixOS不使用网络协议栈的情形下,网卡驱动通过字符设备驱动实现。 2. 移植概述 本次移植是以普通版本的SylixOS CPSW网卡,移植步骤如下: ...
全志T3最小系统搭建
目 录 1. SylixOS最小系统组成 1.1 内核启动流程 2. TICK 3. 串口 3.1 UART 通信格式 3.2 UART寄存器 3.3 驱动实现 3.4 UART驱动框架理解 3.5 最小系统调用接口 4. 最小系统搭建完成 5. 参考资料 1. SylixOS最小系统组成 SylixOS 最小系统包含中断、Tick、串口三部分。其中中断为最小系统的任务处理提供基础,允许系统进行任务调度;Tick ...
SylixOS x86 HPET 定时器驱动
HPET(High Precision Event Timer) 俗称高精度定时器,最低时钟频率为10MHZ,而且定义了比较严格的精确度(间隔 >= 1 毫秒的允许 +-0.05% 的误差,间隔 <=100 微妙的允许 +-0.2% 的误差)。x86 架构中一般支持 HPET 定时器。在 HPET 体系结构中规定 32 个定时器组成一个定时器块,最多可支持 8 个块,也就是 256 个定时器。实际设备中可使用的定时器数量可以从相关寄存器中查询。每个定时器均可以单独配置成一个中断。 在 x86 ...
can bit time 计算
问:CAN 控制器驱动开发时,位时间应该如何配置? 答:根据 CAN 协议,有Tq = BRP / Fsys。(BRP = Baud Rate Prescaler,Fsys = MCU system Clock)。下面将这个公式展开,引入一个实际的问题来进行一个简单的计算。 Q:设现有一控制器,其输入时钟频率为 40MHz,需 500kbps 波特率,4分频,80%采样点,求位时间各段具体配置情况。 A:根据上面我们拿到的信息逐条分析,与上述的计算方式对照,我们可以得到以下结论: ...
接收器 FIFO 触发电平
Q:中断控制,接收器 FIFO 触发中断级别是什么? 以目前为例:触发级别是3,FIFO长度是16 ,14个字节触发一次中断 如果只收到一个字节,有个超时周期后也会触发中断 虽然没有FIFO满 ,这个超时时间是硬件给的并不是软件配置的 ;可以问一下龙芯 一般都是按波特率的几个时间周期 ,手册上应该是4个周期 。 参考文章:SylixOS 中断,若只收到一个字节,是什么行为? 参考文章:SylixOS 系统的中断优先级与线程优先级是相互独立的吗?
GMAC做3路网卡设备转FPGA--网卡基础知识
GMAC基础知识 1.MAC与PHY PHY: 用于真正的收发数据。属于物理层。 MAC: 作用是数据控制。EMAC即百兆网卡,GMAC即千兆网卡,属于数据链路层。 MAC和PHY之间直接通过MII接口进行通信。 一个MAC可以同时管理多个PHY的行为(1个GMAC可以创建多个网卡设备)。 CPU与MAC与PHY的结构如下: 2.GMAC组成 GMAC可以分为四个部分: 帧发送(Frame Transmission) ...