admin 管理员组文章数量: 887017
最近几年,几乎所有的IT企业对应届毕业生都有抱怨:动手能力太差,编程水平低下。大学期间,老师授课以理论为主,学生缺少各种实践。这造成很多学生就业难;学生找不到工作,而企业招不到合适的人!本课程不仅系统的梳理了一遍工作中常用的知识,更是通过大量编码实践,快速的提高了学生的整体编程水平,使之达到了企业的用人要求。 |
嵌入式linux长期就业班4月开班,欢迎报名 |
◆授课特点 |
本中心采用的是理论与实践交叉进行的教学方式;ÿ天的课程都是理论->实践->理论->实践......这样交叉进行。所有的课程设置,都是以实际软件开发中经常用到的,非常系统。ÿ天课后,老师都会布置练习题;ÿ门课程结束,都会有一个项目实训和考试。ÿ天晚上,都会安排老师值班,为学生解答疑难。 |
◆课程设置 |
第一阶段 嵌入式Linux开发基础基础(32课时) |
Linux安装配置;Linux常用命令、简单shell编程;常用服务器配置;GCC编译、GDB调试、MAKE编写 |
第二阶段 C语言基础编程和高级编程(160课时) |
C语言基础;强化数组、指针、函数,从内存操作的本质上讲解它们。实际工作中结构、联合、文件操作的使用方式;高级宏定义和条件编译的各种用法;λ运算。算法:多种链表、多种排序、多种二叉树、动态规划分析、散列表、基本加密算法。高质量c/c++编程,企业级编码规范介绍。 |
第三阶段 Linux系统编程 (96课时) |
Linux操作系统的各种特征、进程和线程的状态变迁、调度、并发;信号量3个代表性问题;文件IO操作;静态库和动态库的创建和使用;多进程、多线程、进程间通信IPC开发;多进程、多线程的并发管理 |
第四阶段 C++与QT编程(120课时) |
主要训练面向对象的编程思想。类、构造函数、析构函数;成员权限控制;继承和多态;静态成员、友元和运算符重载;模板和STL原理、使用。Qt项目的建立、图形界面开发、常用类使用、界面与后台关联等 |
第五阶段 Linux网络编程与3G(120课时) |
Linux网络协议模型,使用抓包工具抓取数据包分析ÿ一层的协议;常用网络编程函数send、recv、accept、select等;若干实际的网络开发案例分析,如:Tftp协议实现、Http协议实现等 |
第六阶段 ARM原理及应用(24课时) |
ARM基本概念、体系结构;ADS集成开发环境;ARM汇编指令集;ARM协处理器、MMU等 |
第七阶段 Bootloader与Linux内核开发(32课时) |
理解Bootloader的原理和功能;了解u-boot启动原理和流程,能进行不同平台的移植。学会Linux内核编译方法,学会内核裁剪。建立嵌入式开发环境,学会Tiny6410开发板的使用和开发。 |
第八阶段 Linux驱动开发(56课时) |
Linux内核模块的添加、删除等操作;编写字符驱动;内核级并发控制;IO阻塞与非阻塞;中断处理,上半部和底半部;内核内存的分配,IO端口和IO内存;块设备驱动;MTD开发等 |
第九阶段 就业指导及工作推荐(20课时) |
IT发展方向讲解;简历指导;常见面试问题指导;工作推荐,安排面试 |
嵌入式ARM linux驱动开发全程就业班
入学要求:
理工科类专科(包括专科)以上学历,有C语言基础,喜欢并有志投身于IT事业。
课程大纲:
教学大纲 | ||
第一阶段 Linux基础学习 | ||
编号 | 课程内容 | 课时安排(时) |
1 | 概述与规划 | 2 |
2 | Linux与Ubunt | 0.5 |
3 | Ubuntu安装与配置 | 1.5 |
4 | Ubuntu体验 | 2 |
5 | Linux系统补充知识 | 1 |
6 | X-Windows介绍 | 1 |
7 | Ubuntu桌面环境及设置 | 1 |
8 | Ubuntu添加删除程序及软件包管理 | 1 |
9 | Shell环境基础及设置 | 1 |
10 | Vi/Vim编辑器 | 1 |
11 | 文件与目录管理 | 2 |
12 | Ubuntu文件属性与权限 | 2 |
13 | 压缩命令和查找系统 | 2 |
14 | 硬盘管理 | 2 |
15 | 用户管理 | 2 |
16 | 进程管理及作业调度 | 2 |
17 | Shell高级应用及Shell脚本 | 2 |
18 | 综合练习 | 2 |
19 | 嵌入式Linux开发环境 | 2 |
第二阶段 ARM驱动编程 | ||
编号 | 课程安排 | 课时安排(时) |
1 | 熟悉ARM处理器 | 2 |
2 | ARM体系结构 | 4 |
3 | ARM指令系统 | 4 |
4 | ARM编程技术 | 4 |
5 | ADS1.2操作范例 | 2 |
6 | ARM映像文件及分散加载 | 2 |
7 | 初始化代码(Bootloader)分析与研究 | 2 |
8 | 嵌入式C语言复习 | 2 |
9 | GPIO接口 | 4 |
10 | 存储控制器 | 4 |
11 | 内存管理单元MMU | 2 |
12 | NAND Flash控制器 | 4 |
13 | NOR Flash的访问 | 4 |
14 | 中断体系结构 | 2 |
15 | 系统时钟和定时器 | 2 |
16 | 通用异步收发器UART | 2 |
17 | IIC接口 | 2 |
18 | LCD控制器 | 2 |
19 | ADC和触摸屏的接口 | 2 |
20 | RTC实时时钟 | 2 |
21 | DMA访问 | 4 |
22 | IIS串行音频接口 | 4 |
23 | 相机接口CAMIF | 4 |
中期实践项目 | ||
1 | S3C2440核心板设计 | |
2 | 数码相框 | |
3 | 电子复读机 | |
4 | 音乐播放器 | |
5 | 自带项目 |
第三阶段嵌入式ARM linux内核驱动开发 | ||
编号 | 课程安排 | 课时安排(时) |
1 | Linux基础复习 | 4 |
2 | 搭建嵌入式ARM Linux开发环境 | 6 |
3 | Kernel开发初步 | 2 |
4 | 模块编程 | 2 |
5 | 字符设备驱动开发初步 | 6 |
6 | 内存管理 | 4 |
7 | 嵌入式QT开发 | 2 |
8 | 中断 | 5 |
9 | 调试技术 | 2 |
10 | 时间管理 | 2 |
11 | Linux设备模型 | 4 |
12 | 平台类总线设备驱动 | 2 |
13 | udev & misc | 2 |
14 | wdt | 2 |
15 | 触摸屏驱动 | 2 |
16 | input子系统及tslib移植 | 2 |
17 | LCD驱动开发 | 6 |
18 | 移植U-Boot | 2 |
19 | 移植Linux内核 | 2 |
20 | SD卡驱动程序移植 | 2 |
21 | USB驱动程序移植 | 2 |
后期实践项目 | ||
1 | MP4 | |
2 | 网络摄像机 | |
3 | 自带项目 |
整个课程的学时数=理论169学时+实践学时=300个学时(注:总的学时数会在300上下浮动,以便于授课老师根据每个班的不同情况适当延长或缩短实践时间)。入式Linux高级编程
· Linux基础
· Linux核心命令
· Linux Shell编程
· 标准C编程
· 数据结构
· UC高级编程
· 数据库及SQL
· 标准C++编程
· UQT高级编程
· ARM处理器编程
· ARM硬件接口开发
· 嵌入式Linux内核编程
· 嵌入式Linux驱动编程
· 系统移植和部署
· 嵌入式应用开发
课程目标 | |||||||||||||||||||||||||||||||||||||||||||||
通过本课程的系统学习,可以使学员由浅入深地对嵌入式Linux系统全面学习,能够独立胜任嵌入式Linux应用开发、系统开发等多方面工作。课程目标包括: | |||||||||||||||||||||||||||||||||||||||||||||
第一阶段:嵌入式C高级编程 | |||||||||||||||||||||||||||||||||||||||||||||
本期目标:在嵌入式领域中大部分低层开发,都会用到C语言。C语言简洁、紧凑、使用方便灵活加上GNU在实际项目开发中的扩展,使得C语言在整个嵌入式开发过程中起着至关重要的作用。更重要的是在嵌入式平台下可移植性比较强。一个精通C语言程序设计的程序员,可以很容易地进入Linux、WinCE、Vxworks、uc/os等嵌入式操作系统下的软件开发工作。本阶段学习目标是掌握C语言基本知识、巩固C编程语法基础,以及深入C语言高级编程,为将来的编程工作打下坚实的基础。 | |||||||||||||||||||||||||||||||||||||||||||||
序号 | 课程名称 | 课程内容 | 掌握要求 | ||||||||||||||||||||||||||||||||||||||||||
1 | 嵌入式C语言高级编程 | C语言是嵌入式领域最重要也是最主要的编程语言,本课程将在学员C语言基础知识之上,通过大量编程实例重点讲解C语言的基础编程以及高级编程知识,包括常用函数与程序结构、字符串操作、指针、数组、结构体、宏、枚举、常用算法、库函数、文件的使用等知识。另外,本节还重点讲解数据结构的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、常用查找算法等内容的应用与C语言实现。各知识点都通过一个个实例,使理解更加深入。 | 精通 | ||||||||||||||||||||||||||||||||||||||||||
2 | 项目实战——歌词解析器 | 本项目在C语言阶段是非常具有代表性的,通过本项目对C语言的重点知识灵活运用,完成lrc格式歌词的文件读取、解析、存入链表等,并通过屏幕与歌曲同步实时显示。通过该项目能熟练掌握C语言基本数据结构,培养良好的编程规范。 | 精通 | ||||||||||||||||||||||||||||||||||||||||||
第二阶段:嵌入式Linux系统开发 | |||||||||||||||||||||||||||||||||||||||||||||
本期目标:嵌入式Linux应用开发和系统开发是嵌入式Linux中最重要的一部分,也是企业人才需求最广的一部分。本期学习的主要目标是精通嵌入式Linux下的程序设计,熟练掌握嵌入式Linux的开发环境,深刻体会整个嵌入式Linux项目开发流程,强化学员对Linux应用开发的能力,了解QT GUI开发。能够独立完成Mplayer应用开发项目。在工作中能很快适应项目中所涉及到的多任务编程,并且能快速转移到其它操作系统应用开发。 | |||||||||||||||||||||||||||||||||||||||||||||
序号 | 课程名称 | 课程内容 | 掌握要求 | ||||||||||||||||||||||||||||||||||||||||||
3 | Linux操作系统应用开发 | 本课程主要讲解Linux操作系统的概念和安装方法。详细介绍Linux下的目录结构、基本命令、管理配置和编辑器,包括VI编辑器,GCC编译器,GDB调试器和 Make 项目管理工具以及Makefile、shell脚本编写等知识。并进行嵌入式开发环境的搭建。 | 精通 | ||||||||||||||||||||||||||||||||||||||||||
4 | 嵌入式Linux高级系统编程 | 本课程从系统调用开始,重点讲解标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信、线程间通信、管道、消息队列、信号等重要知识。最后讲解基于s3c2440实验仪的GPIO,让学员与实际应用相联系。 | 精通 | ||||||||||||||||||||||||||||||||||||||||||
5 | 项目实战——Mplayer播放器 | 利用TFT图形库,在不带GUI的情况下自己实现Mplayer UI界面的设计。实现Mplayer播放、暂停、上一首、下一首、静音、播放列表等功能,该项目中涉及到多进程、多线程以及进行间通信,重定向等系统编程知识,是对前面所学知识点的强化和提升。 | 精通 | ||||||||||||||||||||||||||||||||||||||||||
6 | 基于QT的GUI开发 | QT具有跨平台、面向对象、丰富API、支持2D/3D渲染、支持XML、多国语等强大功能,在嵌入式领域的GUI开发中得到了广范的应用,在本阶段的课程中将了解到基于QT的GUI开发、并移植QT应用程序到S3c2440平台。 | 熟悉 | ||||||||||||||||||||||||||||||||||||||||||
第三阶段:嵌入式Linux设备驱动开发 | |||||||||||||||||||||||||||||||||||||||||||||
本期目标:驱动程序设计是嵌入式Linux开发工作中重要的一部分,也是比较困难的一部分。需要熟悉Linux的内核机制、驱动程序与用户级应用程序的接口,需要考虑系统对设备的并发操作,熟悉所开发硬件的工作原理。具备ARM硬件接口的基础知识,熟悉ARM处理器S3c2440各资源、掌握Linux设备驱动原理框架,了解工程中常见Linux高级字符设备驱动开发。在工作中能独立胜任底层驱动开发。 | |||||||||||||||||||||||||||||||||||||||||||||
序号 | 课程名称 | 课程内容 | 掌握要求 | ||||||||||||||||||||||||||||||||||||||||||
7 | ARM体系结构 | ARM处理器在全球范围内,占据了低功耗、低成本和高性能的嵌入式系统应用领域的领先地位。课程主要以S3c2440为主,介绍其系统资源,如IO、时钟电源、中断、键盘扫描、定时器、AD、触模屏、LCD等,为Linux设备驱动开发打好基础。 | 熟悉 | ||||||||||||||||||||||||||||||||||||||||||
8 | ARM Linux设备驱动开发 | 掌握Linux内核模块编程,用户态与内核态数据交换,掌握Linux操作系统下驱动原理,重点讲解嵌入式Linux下常用字符设备驱动的编写方法,熟悉字符设备驱动框架,能独立完成常见Linux设备驱动开发。 | 掌握 | ||||||||||||||||||||||||||||||||||||||||||
9 | 嵌入式Linux驱动高级开发 | 了解Linux设备驱动模型、并发与竞态、Linux驱动中的阻塞与非阻塞,为应用层提供具有高内聚低偶合的健壮底层代码接口。 | 熟悉 | ||||||||||||||||||||||||||||||||||||||||||
第四阶段:嵌入式Linux平台开发及Android平台搭建 | |||||||||||||||||||||||||||||||||||||||||||||
本期目标:Android是基于Linux平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件,目前它的应用不再局限于移动终端,还包括数据电视、机顶盒、PDA等消费类电子产品。该阶段让学员掌握如何从零开始搭建嵌入式Linux开发环境,熟悉Bootloader启动过程,了解Android操作系统开发流程。由于Android操作系统具有开源稳定等优势,它的应用领域还在不断扩张。 | |||||||||||||||||||||||||||||||||||||||||||||
序号 | 课程名称 | 课程内容 | 掌握要求 | ||||||||||||||||||||||||||||||||||||||||||
10 | 嵌入式Linux 平台架构 | 本课程将使学员掌握从零开始搭建嵌入式Linux运行环境,包括内核裁减、内核移植、交叉编译、内核调试、Bootloader编写、根文件系统制作以及向内核中添加自己的模块,并在s3c2440实验仪上运行自己制作的Linux系统,集成部署Linux系统整个流程。 | 熟悉 | ||||||||||||||||||||||||||||||||||||||||||
11 | 嵌入式Linux在3G领域的典型应用 ——3G手机Android操作系统 | 主要针对目前嵌入式设备上另外一个主流的应用程序开发平台Android,了解Android系统如何由嵌入式Linux衍生出来的,以及Android系统和嵌入式Linux系统差异化,了解Android系统的体系结构、开发特点以及关键技术点,包括Android体系结构和原理,Android平台移植,Android应用程序开发工具的使用。 | 熟悉 | ||||||||||||||||||||||||||||||||||||||||||
[课程描述] | |||||||||||||||||||||||||||||||||||||||||||||
基于Linux的嵌入式系统目前获得了广泛应用,在嵌入式Linux核心层的开发中,设备驱动的编写占据了大部分的工作量,能编写出真正可用的驱动程序存在着很多技术要点,本课程的开设兼顾初学者和有一定开发经验人员的需要,通过对嵌入式Linux系统理论知识和实际代码分析相结合的方式,了解和学习目前在嵌入式Linux驱动开发中比较重要的几项驱动和其框架结构,如块设备驱动程序框架,LCD Frambuffer,网络设备驱动,USB驱动等。通过大量精心设计的驱动实验,使学员真正掌握嵌入式系统驱动开发的关键技术。 | |||||||||||||||||||||||||||||||||||||||||||||
[培养对象] | |||||||||||||||||||||||||||||||||||||||||||||
对Linux驱动设计及嵌入式系统开发有一定经验和兴趣的电子、通信、计算机、自动化等相关专业专科生、本科生及研究生,相关专业的技术工程师,开发人员。 | |||||||||||||||||||||||||||||||||||||||||||||
[基础要求] | |||||||||||||||||||||||||||||||||||||||||||||
基本掌握C语言编程 | |||||||||||||||||||||||||||||||||||||||||||||
[推荐教材] | |||||||||||||||||||||||||||||||||||||||||||||
《linux设备驱动(第三版)》 | |||||||||||||||||||||||||||||||||||||||||||||
[教学环境] | |||||||||||||||||||||||||||||||||||||||||||||
ARM6410 (人手一块) | |||||||||||||||||||||||||||||||||||||||||||||
[教师简介] | |||||||||||||||||||||||||||||||||||||||||||||
秦老师,硕士,国内著名公司操作系统部部门经理,作为主要负责人负责公司自主知识产权的操作系统和Linux 3G手机产品核心驱动的开发研究工作。具有多年的嵌入式系统开发经验,丰富的操作系统和驱动开发经验。 | |||||||||||||||||||||||||||||||||||||||||||||
[开课情况] | |||||||||||||||||||||||||||||||||||||||||||||
写报名表并办理报名手续。(报名时需携带本人身份证复印件1张及本人一寸照片3张) | |||||||||||||||||||||||||||||||||||||||||||||
[课程大纲] | |||||||||||||||||||||||||||||||||||||||||||||
驱动高级研修大纲
| |||||||||||||||||||||||||||||||||||||||||||||
基于Linux的嵌入式系统目前获得了广泛应用,在嵌入式Linux核心层的开发中,设备驱动的编写占据了大部分的工作量,能编写出真正可用的驱动程序存在着很多技术要点,本课程的开设兼顾初学者和有一定开发经验人员的需要,通过对嵌入式Linux系统理论知识和实际代码分析相结合的方式,了解和学习目前在嵌入式Linux驱动开发中比较重要的几项驱动和其框架结构,如块设备驱动程序框架,LCD Frambuffer,网络设备驱动,USB驱动等。通过大量精心设计的驱动实验,使学员真正掌握嵌入式系统驱动开发的关键技术。 | |||||||||||||||||||||||||||||||||||||||||||||
[培养对象] | |||||||||||||||||||||||||||||||||||||||||||||
对Linux驱动设计及嵌入式系统开发有一定经验和兴趣的电子、通信、计算机、自动化等相关专业专科生、本科生及研究生,相关专业的技术工程师,开发人员。 | |||||||||||||||||||||||||||||||||||||||||||||
[基础要求] | |||||||||||||||||||||||||||||||||||||||||||||
基本掌握C语言编程 | |||||||||||||||||||||||||||||||||||||||||||||
[推荐教材] | |||||||||||||||||||||||||||||||||||||||||||||
《linux设备驱动(第三版)》 | |||||||||||||||||||||||||||||||||||||||||||||
[教学环境] | |||||||||||||||||||||||||||||||||||||||||||||
ARM6410 (人手一块) | |||||||||||||||||||||||||||||||||||||||||||||
[教师简介] | |||||||||||||||||||||||||||||||||||||||||||||
秦老师,硕士,国内著名公司操作系统部部门经理,作为主要负责人负责公司自主知识产权的操作系统和Linux 3G手机产品核心驱动的开发研究工作。具有多年的嵌入式系统开发经验,丰富的操作系统和驱动开发经验。 | |||||||||||||||||||||||||||||||||||||||||||||
[开课情况] | |||||||||||||||||||||||||||||||||||||||||||||
[课程大纲] | |||||||||||||||||||||||||||||||||||||||||||||
驱动高级研修大纲
|
Linux 内核设计高级技术研修班
[课程背景]
Linux内核是对操作系统最完美的诠释,在计算机专业教学以及相关行业工程开发中,都是必修的课程。然而它代码量巨大,代码更新速度很快,这使得工程人员及内核爱好者阅读相关书籍的同时,落后于最新的代码。Linux内核构架极其复杂,使得研究学习过程相对其他科目更为艰难,无数人在它面前不得不退缩。一个好的linux开发工程师,对于内核的理解无疑会大大提升自身工作和学习的能力。本课程适应于嵌入式/工控/手机研发/存储开发行业linux工程师,内核开发爱好者,学习linux的在校学生等。
[质量保证]
•培训合格学员可享受免费推荐就业机会。
•培训过程中如有部分内容理解不透或消化不好,可免费在下期班中重听;
•培训结束后免费提供一个月的技术支持,充分保证培训后出效果。
[基础要求]
1.具有一定的Linux使用基础和一定的核心代码阅读经验
2.熟练掌握C语言
[教 材]
《AKAE Linux 内核设计高级技术研修班讲义》
[教学环境]
ARM 6410 (人手一块)
[师资简介]
王老师, 6年嵌入式开发经验,精通linux内核调度器,内存管理,资源控制,时间系统,文件系统等,国内著名公司研发部门经理,作为主要负责人负责公司自主知识产权的操作系统和Linux 3G手机产品核心驱动的开发研究工作,丰富的操作系统和驱动开发和授课经验,拥有国内一线android开发团队,自07年专注于Android 系统开发,精通Marvell/Qualcomm平台架构,精通Android底层驱动,中间件开发,系统框架构建,拥有十余款上市手机开发经验。国内某著名社区内核版主,长期活跃在linux内核 ,android等开发社区。
[课程内容]
《linux内核设计高级研修班的课程大纲》
课程安排(24课时) | 课程内容 | |||||
理论课 (3课时) | 第1部分 基础知识 1.1 Linux内核的整体架构 1.2 Linux内核版本演进规则 1.3 Linux内核源码管理工具 1.4 参与Linux内核开发 1.5 内核源码阅读工具 1.6 内核启动过程 1.7 内核调试技术 第2部分 内核编译 2.1 内核编译方法 2.2 内核编译过程 第3部分 内核模块 3.1 模块概念 3.2 模块基础 3.3 导出符号及模块参数 | |||||
实验课 (3课时) | 【实验1】 内核编译实践 【实验2】 内核源码分析实践 【实验3】 模块实验 | |||||
理论课 (3课时) | 第4部分 进程管理 4.1 进程描述符 4.2进程创建 4.3线程机制 4.4进程切换 4.5进程终结 第5部分 进程调度 5.1调度策略 5.2调度算法分析 第6部分 内核同步机制 6.1 基本概念 6.2自旋锁 6.3信号量 6.4其他同步机制 | |||||
实验课 (3课时) | 【实验1】 进程列表显示实验 【实验2】 进程调度实验 【实验3】 同步机制实验 | |||||
理论课 (3课时) | 第7部分 内存管理 7.1 物理地址、逻辑地址与虚拟地址 7.2 分页 7.3 内存在内核中的分配 7.4 进程的内存组织 7.5 内存映射mmap 7.6 页面缓存 第8部分 中断与异常 8.1 中断管理的硬件支持 8.2 Linux内核中平台相关的中断管理 8.3 中断处理 8.4 软中断 第9部分 系统调用 9.1 系统调用号,参数与返回值 9.2 系统调用与用户library 9.3 系统调用实现 | |||||
实验课 (3课时) | 【实验1】 Linux内存管理实验 【实验2】 piano实验 【实验3】 增加系统调用 | |||||
理论课 (3课时) | 第10部分 定时器和时间管理 10.1 内核中的时间概念 10.2 jiffies 10.3硬时钟和定时器 10.4 时钟中断处理程序 10.5定时器 第11部分 虚拟文件系统 11.1 VFS的体系结构 11.2 重要数据结构 11.3 文件系统的实现 第12部分 内核驱动开发基础 12.1驱动开发基础 12.2字符设备驱动 | |||||
实验课 (3课时) | 【实验1】 定时器实验 【实验2】 文件系统实例实验 【实验3】 简单驱动实验 | |||||
课程安排 | 课程简介 | |||||
第一阶段 |
| |||||
第二阶段 |
| |||||
第三阶段 |
| |||||
第四阶段 |
| |||||
以下为这2个方向的详细描述: | ||||||
嵌入式ARM硬件开发 |
| |||||
嵌入式Linux开发方向 |
| |||||
嵌入式Linux开发方向 |
| |||||
专业选修方向二 |
|
版权声明:本文标题:嵌入式开发课程简介 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1729080799h1315327.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论