E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Arm-Linux驱动开发
Linux
驱动开发
-第一章-硬件基础
硬件基础处理器1、通用处理器(GPP)目前主流的通用处理器(GPP)多采用SoC(片上系统)的芯片设计方法,集成了各种功能模块,每一种功能都是由硬件描述语言设计程序,然后在SoC内由电路实现的。中央处理器的体系架构:冯·诺依曼结构,也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同。
北城梦南
·
2023-10-22 11:13
Linux驱动开发
Linux设备
驱动开发
详解【二】_设备驱动相关硬件基础知识
本文简介本文讲解底层驱动工程师必备的硬件基础,给出了嵌入式系统硬件原理及分析方法的全景视图。2.1节讲解微控制器、微处理器、数字信号处理器以及应用于特定领域的处理器各自的特点。2.2节对嵌入式系统中所使用的各类存储器与CPU的接口、应用领域及特点进行了详细讲解。2.3节讲解常见的外设接口与总线的工作方式,包括串口、I2C、USB、以太网接口、ISA、PCI和cPCI等。2.4节讲解了CPLD和FP
santirenpc
·
2023-10-22 11:13
嵌入式Linux
驱动理论
2019-11-29(openwrt系统
驱动开发
B)
在/package/kernel目录下新建一个目录mydrv,下面有一个Makefile和一个src目录在src目下下有三个文件,Kconfig,Makefile,mydrv.c下面分别介绍每一个文件1.第一个Makefileinclude$(TOPDIR)/rules.mkinclude$(INCLUDE_DIR)/kernel.mkPKG_NAME:=mydrvPKG_RELEASE:=1in
root132
·
2023-10-22 07:30
Linux内核源码阅读入门(全网最详细教程)
在
驱动开发
/应用开发/后台开发等方向,你都需要了解操作系统内核的运行机制,这样你才能写出更好的代码。
猪猪的超超
·
2023-10-22 03:50
Linux
linux
c++
系统架构
运维
后端
自动化测试框架有哪几种?搭建的思路是什么?一篇文章让你彻底了解自动化
目录前言:1、定义测试自动化2、不同类型的框架3、以工具为中心的框架4、面向项目的框架5、关键字驱动的框架6、自动化框架的主要组件7、测试库8、集成和端到端测试9、行为
驱动开发
10、测试数据管理11、虚拟化
软件测试老莫
·
2023-10-22 00:21
自动化测试
自动化
运维
python
压力测试
学习
64位和32位
驱动开发
的差异
64位系统新增机制1.WOW64子系统WOW64子系统是64位系统为了兼容32位应用程序而新增的子系统。相当于一个轻量级的兼容层,主要在应用层工作,由三个DLL实现,Wow64.dll、Wow64Win.dll、Wow64Cpu.dll。当一个32位应用程序发起系统调用时,WOW64子系统会拦截到这个系统调用,如果其中包含指针,它会先把这些指针的长度转换成合适的长度,然后再把系统调用提交给内核。通
哎呀呀呀浅汐
·
2023-10-21 17:32
Windows开发
驱动开发
c语言的自动测试工具,C语言单元测试框架--check工具
恰好最近有新的开发任务,就学习了一些关于测试
驱动开发
的知识,准备改进自己的单元测试。
rhapsody blove
·
2023-10-21 11:49
c语言的自动测试工具
Windows
驱动开发
之获取系统时间
转载请注明来源:enjoy5512的博客:http://blog.csdn.net/enjoy5512GitHub:https://github.com/whu-enjoy1.获取系统开机时间获得当前“滴答数”:获得系统日前和时间往往是为了写日志,获得启动毫秒数则很适合用来做一个随机数的种子。有时也使用时间相关的函数来寻找程序的性能瓶颈。在Win32开发中,我们使用GetTickCount()函数
enjoy5512
·
2023-10-21 01:41
Windows驱动开发
驱动开发
获取系统时间
基于Linux的
驱动开发
:内核模块传参、内核到处符号表、字符设备驱动
内核模块传参内核模块:inta,b;安装内核模块时:insmoddemo.koa=100b=10;1.内核模块传参的意义在安装内核模块时给内核模块中的变量进行数值传递,这样可以让我们的内核模块向上兼容更为复杂的应用程序,向下适配多种硬件2.内核模块传参相关API1.函数原型:module_param(name,type,perm)功能:声明可以进行内核模块传参的变量参数:name:变量名type:
土豆学习ing
·
2023-10-21 01:35
Linux驱动
学习
正点原子嵌入式linux
驱动开发
——Linux内核定时器
定时器是最常用到的功能,一般用来完成定时功能,本章就来学习一下Linux内核提供的定时器API函数,通过这些定时器API函数可以完成很多要求定时的应用。Linux内核也提供了短延时函数,比如微秒、纳秒、毫秒延时函数,本章就来学习一下这些和时间有关的功能。Linux时间管理和内核定时器简介内核时间管理简介FreeRTOS是需要一个硬件定时器提供系统时钟,一般使用Systick作为系统时钟源。同理,L
努力自学的小夏
·
2023-10-21 00:45
linux学习
linux
驱动开发
stm32
学习
笔记
STM32MP157
驱动开发
——Linux RTC驱动
STM32MP157
驱动开发
——LinuxRTC驱动一、简介二、驱动分析三、RTC时间查看与设置参考文章:【正点原子】STM32MP1嵌入式Linux
驱动开发
——RTC驱动一、简介 RTC设备驱动是一个标准的字符设备驱动
Amonter
·
2023-10-21 00:14
STM32MP157
驱动开发
stm32
linux
STM32MP157
驱动开发
——外置RTC芯片RCF8563驱动
STM32MP157
驱动开发
——外置RTC芯片RCF8563驱动一、简介二、
驱动开发
1.修改设备树2.驱动使能三、运行测试四、驱动分析参考文章:【正点原子】STM32MP1嵌入式Linux
驱动开发
——外置
Amonter
·
2023-10-21 00:14
STM32MP157
驱动开发
stm32
实时音视频
嵌入式Linux_Petalinux二——FPGA学习笔记<?>
前置学习:嵌入式Linux_Petalinux一参考资料:正点原子《DFZU2EG_4EVMPSoC之Linux
驱动开发
指南》关于SecureCRT中如何配置颜色一.Linux基础外设的使用之前使用Petalinux
switch_swq
·
2023-10-21 00:42
FPGA
学习笔记
fpga开发
学习
笔记
正点原子嵌入式linux
驱动开发
——Linux中断
不管是单片机裸机实验还是Linux下的驱动实验,中断都是频繁使用的功能,在裸机中使用中断需要做一大堆的工作,比如配置寄存器,使能IRQ等等。但是Linux内核提供了完善的中断框架,只需要申请中断,然后注册中断处理函数即可,使用非常方便,不需要一系列复杂的寄存器配置。Linux中断简介Linux中断API函数可以先来回顾一下裸机开发里中断的处理方法:使能中断,初始化相应的寄存器。注册中断服务函数,也
努力自学的小夏
·
2023-10-21 00:09
linux学习
linux
驱动开发
stm32
学习
笔记
GPIO子系统驱动点灯
-------------------------------------------------------------------------------------驱动层:调用核心层提供的接口,
驱动开发
内核层
%所见所闻
·
2023-10-20 23:42
Linux驱动
单片机
嵌入式硬件
2022/10/10——基于stm32mp157a的驱动点灯
驱动属于设备管理的一部分,它是在内核层,设备驱动属于内核开发的一部分,但是内核开发不止只有
驱动开发
内核模块的三要素1、入口:申请资源工作,在驱动安装的时候执行2、出口:回收资源时工作,在卸载驱动的时候执行
命如星火
·
2023-10-20 23:11
驱动学习
驱动开发
驱动高级Day02_平台总线式
驱动开发
_基础框架
平台总线式
驱动开发
_基础框架一、总线、设备、驱动1.1初期解决思路:设备和驱动分离1.2升级思路:根据设备树,在系统启动时自动产生每个节点对应的设备二、基本数据类型三、platform总线驱动3.1核心数据类型之
自然醒欧
·
2023-10-20 23:31
Liunx
驱动开发
基于linux内核的
驱动开发
学习
1驱动定义:驱使硬件动起来的程序种类:裸机驱动:需求分析--》查原理图--》查芯片手册--》code系统驱动:需求分析--》查原理图--》查芯片手册--》设备树--》code--》安装到内核中裸机开发&系统开发的优缺点?裸机开发:成本低运行效率高安全性低单任务系统开发:成本高运行效率低安全性低多任务应用程序和驱动程序的区别?应用程序驱动程序1加载方式主动加载被动加载2运行空间用户空间kernel空
谷谷呀~
·
2023-10-20 22:58
驱动开发
RTC模块
驱动开发
总结
一、RTC模块
驱动开发
1、RTC模块的设备驱动模型2、I2C模块的驱动模型3、RTC模块涉及的文件和数据结构(1)、相关的文件:934x.c:该文件为系统的硬件平台文件,定义了RTC模块用到的硬件资源,
梦断星魂
·
2023-10-20 22:26
驱动开发
框架和结构分析
驱动开发
day1
头文件#ifndef__HEAD_H__#define__HEAD_H__#definePHY_LED1_MODER0X50006000#definePHY_LED1_ODR0X50006014#definePHY_LED2_MODER0x50007000#definePHY_LED2_ODR0x50007014#definePHY_LED3_MODER0x50006000#definePHY_L
凌归
·
2023-10-20 22:25
驱动开发
驱动开发
第二天
头文件#ifndef__HEAD_H__#define__HEAD_H__#definePHY_LED1_MODER0x50006000#definePHY_LED2_MODER0x50007000#definePHY_LED3_MODER0x50006000#definePHY_LED1_ODR0x50006014#definePHY_LED2_ODR0x50007014#definePHY_L
。。。
·
2023-10-20 22:20
驱动开发
驱动开发
——点灯实验
头文件#ifndef__HEAD_H__#define__HEAD_H__#definePHY_LED_RCC0x50000a28#definePHY_LED1_MODER0x50006000#definePHY_LED1_ODR0x50006014#definePHY_LED2_MODER0x50007000#definePHY_LED2_ODR0x50007014#definePHY_LED3
独钟752
·
2023-10-20 21:48
驱动开发
day3
驱动开发
点灯实验
head.h#ifndef__HEAD_H__#define__HEAD_H__typedefstruct{unsignedintMODER;unsignedintOTYPER;unsignedintOSPEEDR;unsignedintPUPDR;unsignedintIDR;unsignedintODR;}gpio_t;#definePHY_LED1_ADDR0X50006000#define
saveotaku
·
2023-10-20 21:18
驱动开发
驱动开发
驱动开发
(LED点灯实验)
终端输入1亮LED12-》LED23->LED30->关灯demo.c#include#include#include#include#include#include"myled.h"#defineCNAME"mycdev"intmajor;charkbuf[128]={};unsignedint*vir_moder;unsignedint*vir_odr;unsignedint*vir_rcc;
crispy715
·
2023-10-20 21:41
驱动开发
单片机
stm32
Linux内核
驱动开发
:技能、应用和挑战
Linux内核
驱动开发
:技能、应用和挑战 Linux内核
驱动开发
所需技能包括C语言和汇编语言编程、Linux系统编程接口、内核原理和机制、设备
驱动开发
和调试技术等。
枪哥玩转嵌入式
·
2023-10-20 21:38
单片机
编程
嵌入式
linux
[Linux
驱动开发
三]实现自动生成设备节点
目录一、前言二、实现设备节点的自动生成2.1创建设备节点的方法2.2基本函数2.2.1class_create()2.2.2class_destroy()2.2.3device_create()2.2.4device_destroy()2.3自动创建节点的步骤step1:使用class_create函数创建一个class的类。step2:使用device_create函数在我们创建的类下面创建一个
TD祥
·
2023-10-20 21:07
Linux驱动编程
驱动开发
linux
运维
linux
驱动开发
--字符设备:自动创建设备节点
自动创建设备文件定义在中class结构:该结构体类型变量对应一个设备类,被创建的类存放在/sys目录下面device结构:该结构体类型变量对应设备,被创建的设备存放于/sys目录下面在加载驱动模块时,用户空间中的udev会自动响应device_create()函数,在/sys下寻找对应的类,从而为这个设备在/dev目录下创建设备文件内核版本问题:在内核2.4版本中使用devfs_register在
吴英强
·
2023-10-20 21:36
嵌入式方向
linux驱动开发
Linux设备
驱动开发
之设备树(Device Tree)
转发于个人公众号内容:Linux设备
驱动开发
之设备树(DeviceTree)一、什么是设备树设备树(DeviceTree),将这个词分开就是“设备”和“树”,描述设备树的文件叫做DTS(DeviceTreeSource
Yimning
·
2023-10-20 21:35
Linux
设备驱动开发
驱动开发
linux
运维
linux
驱动开发
(二):Linux字符设备驱动程序(设备号、cdev、设备节点、file_operations)
Linux系统将设备分成字符设备、块设备、网络设备三类。用户程序调用硬件的过程如下。一、用户级、内核级和系统调用Linux/Unix系统下的进程运行分为用户态和进程态两种状态。我们的应用程序通常仅在用户态下运行,出于保护内核资源的需要,用户态下运行的程序在只能访问有限的资源,例如不能访问内核的数据结构和程序。内核的一个重要功能就是协调和管理硬件资源,包括CPU、内存、I/O设备等,从而为上层运行的
精致的螺旋线
·
2023-10-20 21:35
Linux系统
驱动开发
linux
7、Linux
驱动开发
:设备-自动创建设备节点
目录点击这里查看所有博文 随着自己工作的进行,接触到的技术栈也越来越多。给我一个很直观的感受就是,某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了,只有经常会用到的东西才有可能真正记下来。存在很多在特殊情况下有一点用处的技巧,用的不多的技巧可能一个星期就忘了。 想了很久想通过一些手段把这些事情记录下来。也尝试过在书上记笔记,这也只是一时的,书不在手边的时候那些笔
遇雪长安
·
2023-10-20 21:05
Linux驱动开发
linux
驱动开发
数据库
6、Linux
驱动开发
:设备-更简单的设备注册
目录点击这里查看所有博文 随着自己工作的进行,接触到的技术栈也越来越多。给我一个很直观的感受就是,某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了,只有经常会用到的东西才有可能真正记下来。存在很多在特殊情况下有一点用处的技巧,用的不多的技巧可能一个星期就忘了。 想了很久想通过一些手段把这些事情记录下来。也尝试过在书上记笔记,这也只是一时的,书不在手边的时候那些笔
遇雪长安
·
2023-10-20 21:34
Linux驱动开发
linux
驱动开发
运维
深入理解TDD(测试
驱动开发
):提升代码质量的利器!
对此,有一种有效的开发方式能帮助我们解决这些问题,那就是测试
驱动开发
(Test-DrivenDevelopment,TDD)。
自动化测试老司机
·
2023-10-20 21:28
安全测试
自动化测试
软件测试
tdd
驱动开发
压力测试
测试工具
功能测试
集成测试
自动化测试
荔枝派Zero(全志V3S)
驱动开发
之RGB LED灯
文章目录前言一、硬件连接二、文件IO方式操作GPIO三、编写驱动四、编写应用程序1、V1版本,实现蓝灯亮灭2、V2版本,实现蓝灯闪烁五、编译六、运行测试七、资源自取方式1:github链接方式2:百度网盘前言一、硬件连接查看V3S原理图,查看RGBLED对应的引脚PG0->greenLEDPG1->blueLEDPG2->redLED二、文件IO方式操作GPIO具体参考此链接:https://wi
须尽欢~~
·
2023-10-20 21:41
荔枝派
荔枝派
驱动开发
arm开发
Linux
驱动开发
(最简单的驱动模块,内核printk函数)
1.最简单的驱动模块源码:#include//module_initmodule_exit#include//__init__exit//模块安装函数staticint__initchrdev_init(void){printk(KERN_INFO"chrdev_inithelloworldinit\n");return0;}//模块卸载函数staticvoid__exitchrdev_exit(
学习&笔记
·
2023-10-20 02:20
Linux驱动
linux驱动采用内核模块开发的优点,Linux
驱动开发
之内核模块开发 (一)—— 内核模块机制基础...
一、内核模块的概念1、什么是模块?内核模块是一些可以让操作系统内核在需要时载入和执行的代码,同时在不需要的时候可以卸载。这是一个好的功能,扩展了操作系统的内核功能,却不需要重新启动系统,是一种动态加载的技术。特点:动态加载,随时载入,随时卸载,扩展功能2、内核模块的加载作用内核模块只是向linux内核预先注册自己,以便于将来的请求使用;由目标代码组成,没有形成完整的可执行程序。只是告诉内核,它有了
weixin_39588679
·
2023-10-20 02:48
《嵌入式Linux
驱动开发
教程》--内核模块
内核模块绝大多数的驱动都是以内核模块的形式实现。宏内核和微内核宏内核(Linux):所有的内核功能都被整体编译在一起,形成单独的内核镜像文件,内核中各功能模块的交互通过直接的函数调用进行。微内核(Windows):功能模块的交互需要微内核提供的通信机制。宏内核添加改变内核的某个功能,需要重新编译整个内核,然后重启整个系统,引入内核模块:内核模块:被单独编译的一段内核代码,根据需求动态的加载、卸载到
一如既往_
·
2023-10-20 02:46
笔记
Linux驱动开发
驱动开发
linux
运维
Linux
驱动开发
:内核模块和字符设备驱动
目录内核模块内核模块的概念内核模块程序的一般形式内核模块的相关工具内核模块参数内核模块和普通应用程序区别字符设备驱动字符设备驱动基础字符设备驱动框架内核模块linux是宏内核(单内核)的操作系统的典型代表,它和微内核(典型代表window操作系统)的最大区别在于所有的内核功能都能被整体编译在一起,形成一个单独的内核镜像文件,显著的优点就是效率非常高,内核中各功能模块的交互通过直接的函数调用来进行,
迷途君
·
2023-10-20 02:45
linux驱动开发
驱动开发
linux
运维
正点原子嵌入式linux
驱动开发
——pinctrl和gpio子系统
在上一篇笔记中,学习编写了基于设备树的LED驱动,但是驱动的本质还是没变,都是配置LED灯所使用的GPIO寄存器,
驱动开发
方式和裸机基本没区别。
努力自学的小夏
·
2023-10-19 23:04
linux学习
linux
驱动开发
stm32
学习
笔记
正点原子嵌入式linux
驱动开发
——Linux并发与竞争
在
驱动开发
中要注意对共享资源的保护,也就是要处理对共享资源的并发访问。在Linux驱动编写过程中对于并发控制的管理非常重要,本章就来学习一下如何在Linux驱动中处理并发。
努力自学的小夏
·
2023-10-19 23:04
linux学习
linux
驱动开发
学习
笔记
stm32
正点原子嵌入式linux
驱动开发
——Linux按键输入
在前几篇笔记之中都是使用的GPIO输出功能,还没有用过GPIO输入功能,本章就来学习一下如果在Linux下编写GPIO输入驱动程序。正点原子STM32MP1开发板上有三个按键,就使用这些按键来完成GPIO输入驱动程序,同时利用原子操作来对按键值进行保护。Linux下按键驱动原理按键驱动和LED驱动原理上来讲基本都是一样的,都是操作GPIO,只不过一个是读取GPIO的高低电平,一个是从GPIO输出高
努力自学的小夏
·
2023-10-19 23:04
linux学习
linux
驱动开发
学习
笔记
stm32
【正点原子Linux连载】第十七章GPIO中断试验-摘自【正点原子】I.MX6U嵌入式Linux
驱动开发
指南V1.0
1)实验平台:正点原子阿尔法Linux开发板2)平台购买地址:https://item.taobao.com/item.htm?id=6036727444342)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-300792-1-1.html3)对正点原子Linux感兴趣的同学可以加群讨论:9354467414)关注正点原子公众号,获取最新资料更新第十七
正点原子
·
2023-10-19 23:02
LINUX
linux
arm
嵌入式
跟我一起学RT-Thread之硬件资源简介
Linux
驱动开发
最终也是操作的寄存器,但是在操作寄存器之前要先编写一个符
非常规自我实现
·
2023-10-19 23:30
物联网
RTT
IMX6ULL
正点原子嵌入式linux
驱动开发
——Linux蜂鸣器
蜂鸣器驱动原理有源蜂鸣器只要通电就会叫,所以可以做一个供电电路,这个供电电路通过一个IO来控制其通断,一般使用三极管来搭建这个电路。在Linux下编写蜂鸣器驱动就需要以下工作:设备树中创建蜂鸣器节点,加入GPIO信息。编写驱动程序和测试APP。硬件原理图分析上图中通过一个PNP型的三极管8550来驱动蜂鸣器,通过PC7这个IO来控制三极管Q1的导通,当BEEP输出低电平的时候Q1导通,相当于蜂鸣器
努力自学的小夏
·
2023-10-19 23:57
linux学习
linux
驱动开发
stm32
笔记
学习
ARM-linux
与Ubuntu开发工具NFS及流程
Linux虚拟机的型号是:Ubuntu12.04VMware:workstation14proauthor:XianghaiDingDate:2019.01.04板端:Hi3536海思编解码芯片IP/TCP环境的配置:1.首先要虚拟机linux,Windows,ARM三个系统的网络要相互可以ping通2.ARM的eth0192.168.1.22netmask255.255.255.0,Window
嵌入彭于晏
·
2023-10-19 13:05
linux开发工具使用
linux
更新 | 持续开源 迅为RK3568驱动指南第十一篇-pinctrl子系统
《iTOP-RK3568开发板
驱动开发
指南》更新,本次更新内容对应的是驱动(第十一期_pinctrl子系统-全新升级)视频,后续资料会不断更新,不断完善,帮助用户快速入门,大大提升研发速度。
mucheni
·
2023-10-19 12:13
3568开发板
【正点原子MP157连载】第四十四章Linux SPI总线框架-摘自【正点原子】STM32MP1嵌入式Linux
驱动开发
指南V1.7
1)实验平台:正点原子STM32MP157开发板2)购买链接:https://item.taobao.com/item.htm?&id=6292707218013)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-318813-1-1.html4)正点原子官方B站:https://space.bilibili.com/3946208905)正点原子STM
正点原子
·
2023-10-19 11:50
LINUX
stm32
linux
驱动开发
快速的利用 Express 框架实现一个 Rustfull 接口的后端 Server
基于测试用例(TDD)
驱动开发
的测试
驱动开发
阶段,
smilejiasmile
·
2023-10-19 06:36
Nodejs
及
Web
前端
nodejs
restfull
IMX6ULL开发板,系统移植——第一步Uboot移植
此篇为笔者在学习Linux开发时所遇到的一些操作凝练,旨在想学习Linux开发的小伙伴能不被Uboot移植难住,从而快速进入学习Linux
驱动开发
。
艾斯'ICE
·
2023-10-19 06:57
驱动开发
厌倦了Ruby,动态型,副作用以及基本面向对象的编程技术
我曾打算在新年前后写这篇博客,赶在“Ruby终结”的波澜之前,赶在DHH的“测试
驱动开发
(TDD)已死”的骚动之前:我正式地表示彻底厌倦了Ruby,超过了其它—对副作用、不稳定性的厌倦,它们迫使我不
postD_cn
·
2023-10-19 04:52
编程类
ruby
面向对象
单元测试
测试驱动开发
haskell
自动化测试框架指南
目录定义测试自动化不同类型的框架以工具为中心的框架面向项目的框架关键字驱动的框架完美测试自动化框架的主要组件测试库单元测试集成和端到端测试行为
驱动开发
测试数据管理mock,Stubs和虚拟化实施模式的通用机制测试结果报告
软件测试凡哥
·
2023-10-18 22:33
软件测试
自动化测试
软件测试
软件测试工程师
程序人生
自动化测试
经验分享
测试开发
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他