- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 Linux内存管理(二)
ARM结构物理内存和内核空间关系: 在前文中讲述过X86的内存存储空间,其实32位ARM处理器与X86是存在区别的,对于ARM来说,没有IO空间,采用的是哈佛结构,指令和数据是分开的,其物理地址和内核地址空间的映射关系如下图所示,假设内核编译时指定的VMSPLIT_3G(3G/1G usr/kernel split) DMA,常规,高端内存均采用伙伴算法,把空闲页面以2的n次方为单位进行管理,buddy算法的优点就是避免了外部碎片,任何时候都是以2的n次方进行拆分合并。 内核空间内存的动态申请: 1.k
2020-06-13 15:24:02
267
原创 C++学习之This
C++在何时使用this指针? 概念 在创建一个对象的时候,类对象会指向自己所在内存的地址空间,而这种方式就是通过this指针来实现的,this指针通过编译器隐式传递给类中的成员函数和成员变量(非静态)。 应用 普通的成员中自动加入,可以防重复 变量和形参名字一样时可以避免报错 返回*this(目的:可以继续使用此对象) class A { public: A& set_va...
2019-07-13 21:55:00
107
原创 AM335X+AR8031网卡驱动(三)
AM335X+AR8031网卡驱动(三) AM335X自带了MAC层,MAC层和AR8031之间通过MDIO总线进行管理配置,AM335X的PHY采用CPSW方式,接下来是对其驱动的分析: 首先是网卡驱动probe函数static int __devinit cpsw_probe(struct platform_device *pdev),此函数可以对接入的网络设备进行及时响应,进行CPSW平台数...
2019-07-13 21:54:13
736
原创 AM335X+AR8031网卡驱动(二)
AM335X+AR8031网卡驱动(二) mdiobus_scan()函数中调用的两个关键函数,完成设备驱动的注册 /** get_phy_device - reads the specified PHY device and returns its @phy_device struct @bus: the target MII bus @addr: PHY address on the MII...
2019-07-13 21:54:06
1054
原创 AM335X+AR8031网卡驱动(一)
AM335X+AR8031网卡驱动 最近项目中所使用的AR8031网卡总是会间断性的时区连接,为此,对AR8031的网卡驱动做了一些总结和分析,希望以此抛砖引玉,有更好的想法可以与大家一起在此分享交流。 AR8031介绍: AR8031支持10/100/1000Mbps的传输速度,支持RGMII和SGNII,通过MDIO总线进行管理,定义了三类寄存器,分别是MII寄存器,debug寄存器,MDIO...
2019-07-13 21:53:56
1199
原创 Linux中内核操作链表的函数大全
Linux中内核操作链表的函数大全 struct list_head : 链表结构体的指针的数据结构 LIST_HEAD_INIT: 用于初始化这个头部编成独立结点 INIT_LIST_HEAD(ptr) : 将这个指针初始化为孤立的结点 LIST_HEAD(name) : 初始化一个变量为name, 并且初始化 list_add(struct list_head *new, struct lis...
2019-07-13 21:53:41
271
原创 NandFlash控制器
NandFlash控制器 本文以MT29F4G08ABADA 型号为例,介绍Uboot启动过程中,如何初始化和运行该flash。 MT29F4G08ABADA容量为4Gbit 1page=(2K+64)byte 1block=(2K+64)*64page=(128K+4K)byte 1plane=(128K+4K)2048block=2112Mbit 1device=2112Mbit2 地址序列如...
2019-07-13 21:53:01
541
1
转载 设备树机制
内核3.x版本之后设备树机制 Based on linux 3.10.24 source code 参考/documentation/devicetree/Booting-without-of.txt文档 目录 内核3....
2019-07-13 21:52:37
128
原创 ZYNQ QSPI控制器
ZYNQ QSPI控制器 线性地址模式只可从Qspi Flash中读数。在配置QSPI BOOT时,BOOT ROM工作在线性地址模式,且访问时钟为ARM接入的晶振时钟,因此在选用晶振时频率不能大于Flash的最高访问时钟频率。 线性地址模式下IO可以配置为单片选4bit接口、双片选8bit并行接口和双片选stacked 接口,单片器件时必须接到QSPI0上。单片QSPI Flash线性地址映射空...
2019-07-13 21:51:48
710
原创 Linux服务器
Linux服务器编程 OSI七层模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 TCP/IP模型 应用层 传输层 网络层 网络接口层 方法 多进程并发服务器 多线程并发服务器 Select+多线程 epoll方式 ...
2019-07-13 21:51:01
190
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人