- 博客(2)
- 资源 (3)
- 收藏
- 关注
原创 mac与phy如何实现网络自适应
对于100M phy,外部网络10/100M切换,仅需要改变mac提供的数据时钟即可,mac接口模式不变,因为MII兼容10/100M。 对于1000M phy,外部网络10/100/1000M切换,首先需要改变mac的接口模式(使用的数据线个数不同了),因为10/100M下phy会切换为MII模式,根据接口模式在改变其数据时钟。 当然phy在自动协商完成后是其硬件逻辑会完成模式GMII/MII的转换,而对于mac,则要由驱动根据phy的工作状态来确定mac的接口模式以及需要提供的clk。 这也是我们软件开
2015-07-29 18:46:28 15522 4
原创 熟悉又陌生的udelay
内核开发中经常用到延时函数,最熟悉的是mdelay msleep。虽然经常会使用,但是具体实现却不了解,今天来研究下。 这2个函数在实现上有着天壤之别。 msleep实现是基于调度,延时期间调用schedule_timeout产生调度,待时间到期后继续运行,该函数实现在kernel/timer.c中。 由于linux内核不是实时系统,因此涉及调度的msleep肯定不会精确。 今天不细说msleep,有时间再来分析它,今天重点来学习mdelay。 mdelay是使用最多的延时函数。它的实现是忙循环,利用了内核
2015-07-05 16:25:21 7781 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人