Marvell交换芯片88E6321/88E6320驱动总结-寄存器篇

Marvell交换芯片88E6321/88E6320驱动总结-寄存器篇

由于我在项目中将该芯片作为PHY和SERDES使用,因此本文内容主要还是围绕PHY和SERDES的相关功能,至于其他功能则没有进行深入研究。工作模式在之前的硬件篇中有提到,该芯片有两种寻址模式:单芯片寻址和多芯片寻址。多芯片寻址 对于多芯片寻址,需要给芯片设置一个非零的SMI地址(ADDR[4:0]的反码)。在多芯片寻址模式下,仅有两个寄存器(0x00:SMI Command Registe...

单片机,C语言 2019-03-17 PM 4115次 3条
构建自己的编码风格 linux C语言

构建自己的编码风格 linux C语言

0.前言“程序必须为阅读它的人而编写,只是顺便用于机器执行。” ——Harold Abelson 和 Gerald Jay Sussman良好的编程风格使得代码具有更强的可读性,可维护性,以及可移植性。为了使自己在编码过程中能够保持良好的编程规范,形成自己的风格,我结合多篇著名编程规范文章以及自己工作中的经验,总结提炼,形成以下内容,以备自用与遵循。

嵌入式Linux,C语言 2018-11-15 PM 1676次 0条
数组地址与数组首字节地址之间的关系

数组地址与数组首字节地址之间的关系

定义一个数组int a[5] = {0};此处a的类型看似为整个数组,实际上该数组名a为一个常量指针,也就是数组第一个元素a[0]的地址,同理a+1为第二个元素a[1]的地址。在上例中,数组名的类型就是指向int类型的常量指针,该值不可修改。

C语言 2018-10-23 PM 1375次 0条