自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 Linux内存管理(一)

Linux内存管理

2019-07-13 21:53:16 566 1

原创 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

步进电机驱动

采用TB6560AHQ实现步进电机步进角度细分,采用12c5a60s2实现控制

2015-11-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除