自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DD'Notes

DD'Notes https://notes.z-dd.online/

  • 博客(206)
  • 资源 (4)
  • 收藏
  • 关注

原创 Linux之手动创建WIFI热点

Linux之手动创建WIFI热点背景之前介绍了Linux下使用无线网卡作为STA手动连接WIFI:Linux手动连接配置wifi 今天介绍下Linux下怎么手动建立AP热点。主要分为2大步骤: hostapd建立AP热点 DHCP服务分配IP 前提:首先要无线网卡是否支持AP模式使用如下命令,查看网卡属性: iw list 如果Supported interface modes选项包含 A。之前介绍了Linux下使用无线网卡作为STA手动连接WIFI:Linux手动连接配置wifi。DHCP服务分配IP。

2024-08-29 17:30:33 537

原创 Linux之WOL网络唤醒

Linux之WOL网络唤醒WOL简介 WOL(Wake-on-LAN)技术是一种计算机局域网唤醒技术,其主要功能是使处于关机或休眠状态的计算机能够通过局域网(通常是以太网)被远程唤醒并恢复到运行状态。链接: https://z-dd.online/2024/08/21/Linux%E4%B9%8BWOL%E7%BD%91%E7%BB%9C%E5%94%A4%E9%86%92/FF FF FF FF FF FF FF MAC 地址 × 16 4-6字节的密码(可选)Linux之WOL网络唤醒。

2024-08-29 17:29:36 397

原创 Linux Wireless之80211(nl80211, cfg80211, mac80211)

Linux Wireless之80211(nl80211, cfg80211, mac80211)前言在Linux无线子系统中,cfg80211、mac80211和nl80211是三个关键的组件,它们共同工作以实现对802.11设备的配置和管理。cfg80211负责内核空间的通用API,mac80211负责具体的MAC层实现,而nl80211则作为用户空间与内核空间之间的桥梁,用于配置管理和通信。Netlink 是一个 Linux 中的 socket 类型,用于在内核与用户空间之间传递事件。

2024-08-29 17:28:31 791

原创 Linux手动连接配置wifi

wpa_supplicant连接WIFIwpa_supplicant介绍及背景官网:https://w1.fi/wpa_supplicant/. 以下来自man手册,介绍了它的作用、产生背景及由来,保持原汁原味。链接: https://notes.z-dd.online/2024/08/15/Linux%E6%89%8B%E5%8A%A8%E8%BF%9E%E6%8E%A5%E9%85%8D%E7%BD%AEwifi/官网:https://w1.fi/wpa_supplicant/.

2024-08-28 16:49:29 588

原创 Linux中网络命名空间基本操作

Linux中网络命名空间基本操作前言网络命名空间(Network Namespace,简写: netns)是Linux内核提供的一种实现网络资源隔离的方法,允许不同的网络命名空间拥有独立的网络协议栈及网络配置,包括IP地址、路由表、网络设备、iptables规则等。网络命名空间(Network Namespace,简写: netns)是Linux内核提供的一种实现网络资源隔离的方法,允许不同的网络命名空间拥有独立的网络协议栈及网络配置,包括IP地址、路由表、网络设备、iptables规则等。

2024-08-28 16:48:31 764

原创 Linux后台运行及不挂断相关命令

Linux后台运行及不挂断相关命令背景我们经常会遇到这种需求:ssh到Linux服务器上,跑一个耗时比较久的任务,比如编译任务等,有时候由于网络不好,网络故障,或者不小心将跑任务的终端关闭了(也有可能是跑终端的机器异常了),导致好不容易跑了很久的任务中断退出,前面跑的白费了,又不得不重新跑!大家可能对这个最为熟悉,&表示将前面的 command 任务放入后台,单独起一个进程来运行,使用Ctrl + C无法中止该任务,此时你可以继续在该终端上做其他事情,但如果关闭该终端,该任务进程会跟着退出。

2024-08-08 11:02:15 670

原创 Linux内核代码格式审查

Linux内核代码格式审查前言Linux内核代码有一套自己的代码格式规范,相关的规范说明在内核代码树目录:Documentation/CodingStyle或Documentation/process/coding-style.rst。链接: https://notes.z-dd.online/2024/07/25/Linux%E5%86%85%E6%A0%B8%E4%BB%A3%E7%A0%81%E6%A0%BC%E5%BC%8F%E5%AE%A1%E6%9F%A5/Linux内核代码格式审查。

2024-08-08 11:00:36 736

原创 Linux内核模块加载及更新问题

链接: https://notes.z-dd.online/2024/07/23/Linux%E5%86%85%E6%A0%B8%E6%A8%A1%E5%9D%97%E5%8A%A0%E8%BD%BD%E5%8F%8A%E6%9B%B4%E6%96%B0%E9%97%AE%E9%A2%98/然后我直接手动insmod了一下这个蓝牙驱动(/lib/modules/xxx-generic/kernel/drivers目录下的),惊奇地发现居然成功加载了,而且蓝牙可以正常使用了。手动加载驱动模块验证。

2024-07-29 17:32:46 783

原创 Linux之设备管理器及热插拔处理

链接: https://notes.z-dd.online/2024/07/20/Linux%E4%B9%8B%E8%AE%BE%E5%A4%87%E7%AE%A1%E7%90%86%E5%99%A8%E5%8F%8A%E7%83%AD%E6%8F%92%E6%8B%94%E5%A4%84%E7%90%86/"mdev -s" 会扫描 /sys/class/xxx,查找包含dev文件的目录,然后mdev 会创建 /dev/device_name 节点。下面来看看 mdev 的有关规则。

2024-07-29 17:31:11 815

原创 RISC-V开篇及特权模式等一些概念

RISC-V架构主要由美国加州大学伯克利分校发明,相比于x86和ARM架构,RISC-V开源采用BSD协议,它允许用户自由地使用、修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。链接: https://notes.z-dd.online/2024/06/24/RISC-V%E5%BC%80%E7%AF%87%E5%8F%8A%E7%89%B9%E6%9D%83%E6%A8%A1%E5%BC%8F%E7%AD%89%E4%B8%80%E4%BA%9B%E6%A6%82%E5%BF%B5/

2024-07-29 17:29:47 720

原创 Linux下利用shell简单调试udp和tcp

链接: https://notes.z-dd.online/2024/06/16/Linux%E4%B8%8B%E5%88%A9%E7%94%A8shell%E7%AE%80%E5%8D%95%E8%B0%83%E8%AF%95udp%E5%92%8Ctcp/Linux环境下,有时候需要简单地进行下udp和tcp的测试,又不想去写C之类的代码,可以尝试下用Python或者直接用Shell来处理,简单方便,高效快捷。这里主要讲讲使用Shell的方式。客户端主要使用/dev/tcp、/dev/udp。

2024-07-29 17:28:19 502

原创 使用Gstreamer进行RTSP推流

使用vlc打开需要配置sdp文件,前面有提到过:https://notes.z-dd.online/2024/06/08/RTP%E8%A7%86%E9%A2%91%E6%B5%81%E7%9A%84SDP%E6%96%87%E4%BB%B6/链接: https://notes.z-dd.online/2024/06/11/%E4%BD%BF%E7%94%A8Gstreamer%E8%BF%9B%E8%A1%8CRTSP%E6%8E%A8%E6%B5%81/使用Gstreamer进行RTSP推流。

2024-07-29 17:26:56 1685

原创 Linux内核之blktests简单介绍

Linux内核之blktests简单介绍blktests最近遇到了个补丁引起的blktests测试问题,顺便了解了下blktests。它的灵感来自于xfstests文件系统测试框架。链接: https://notes.z-dd.online/2024/06/10/Linux%E5%86%85%E6%A0%B8%E4%B9%8Bblktests%E7%AE%80%E5%8D%95%E4%BB%8B%E7%BB%8D/最近遇到了个补丁引起的blktests测试问题,顺便了解了下blktests。

2024-06-12 14:40:05 860

原创 RTP视频流的SDP文件

链接: https://notes.z-dd.online/2024/06/08/RTP%E8%A7%86%E9%A2%91%E6%B5%81%E7%9A%84SDP%E6%96%87%E4%BB%B6/标准 SDP 结构由会话级描述和多个媒体级描述组成,每条描述信息都是 key=value 的形式,key 可以为 v(版本),o(owner),s(会话),m(媒体信息),a(属性),c(连接)等。RTP视频流的SDP文件 | DD'Notes。后来才想起是需要写sdp文件,所以顺便记录下。

2024-06-12 14:38:35 1041

原创 Linux之多媒体应用接口v4l-utils及摄像头简单使用

链接: https://notes.z-dd.online/2024/06/06/Linux%E4%B9%8B%E5%A4%9A%E5%AA%92%E4%BD%93%E5%BA%94%E7%94%A8%E6%8E%A5%E5%8F%A3v4l-utils%E5%8F%8A%E6%91%84%E5%83%8F%E5%A4%B4%E7%AE%80%E5%8D%95%E4%BD%BF%E7%94%A8/v4l-utils 提供了一系列库和实用工具,用于控制各种多媒体设备。v4l-utils 组成。

2024-06-12 14:34:55 676

原创 Linux内核之MMC框架

Linux内核之MMC框架背景之前简单说了说SDIO、SD、MMC之间的区别与联系,具体可见以下链接: https://notes.z-dd.online/2024/01/19/MMC%E5%92%8CSD%E4%B8%8ESDIO/ 最近刚好看到这块,今天来看看Linux内核中关于它们的MMC框架。链接: https://notes.z-dd.online/2024/06/03/Linux%E5%86%85%E6%A0%B8%E4%B9%8BMMC%E6%A1%86%E6%9E%B6/

2024-06-10 14:39:00 327

原创 Linux之Gstreamer实现视频OSD

一般是按Menu键后屏幕弹出的显示器各项调节项目信息的矩形菜单,可通过该菜单对显示器各项工作指标包括色彩、模式、几何形状等进行调整,从而达到最佳的使用状态。链接: https://notes.z-dd.online/2024/05/30/Linux%E4%B9%8BGstreamer%E5%AE%9E%E7%8E%B0%E8%A7%86%E9%A2%91OSD/今天说说在通用Soc或CPU上实现通用视频OSD的方案,这里主要使用Gstreamer的插件实现,OpenCV的方案以后有机会再研究。

2024-06-10 14:37:33 1088

原创 红外热成像下篇--叠加字符OSD

红外热成像下篇–叠加字符OSD背景前段时间不是玩了下红外热成像,视频可见我的公众号和视频号: 还有个瑕疵:视频上没有实时显示相应的温度(叠加在视频上),这段时间就把它给实现了,视频可见我的公众号和视频号。链接: https://notes.z-dd.online/2024/05/25/%E7%BA%A2%E5%A4%96%E7%83%AD%E6%88%90%E5%83%8F%E4%B8%8B%E7%AF%87--%E5%8F%A0%E5%8A%A0%E5%AD%97%E7%AC%A6OSD/

2024-05-27 15:32:56 1079

原创 Linux内核之设备树插件DTO

Linux内核之设备树插件DTO什么是DTO(Device Tree Overlay)Linux4.4以后引入了动态设备树(Dynamic DeviceTree),我们这里翻译为“设备树插件”,或者称“设备树叠加层”。设备树插件(Device Tree Overlay,叠加层)是一种用于设备树(Device Tree)的扩展机制,可以理解为主设备树的“补丁”它动态的加载到系统中,无需重新编译整个设备树。DTC: Device Tree Compiler,顾名思义,是FDT(设备树) 的编译器。

2024-05-27 15:31:22 707

原创 Linux内核之Kselftests

Linux内核包含了一套开发者可用的单元测试和回归测试(Kselftests),这些测试位于内核源代码的目录下。这些测试旨在针对内核中的各个代码路径进行小规模的测试。测试应该在构建、安装和启动内核之后运行。它每天都会在不同的Linux内核树(即代码库)的内核集成测试环境上运行,主要是为了确保内核代码在合并到主干之前,在各种场景和配置下都能正常工作,从而提高内核的整体稳定性和可靠性。快速执行测试的能力(目前的目标是不到20分钟)一些开发人员希望在几秒钟内运行测试运行不同测试组的能力。

2024-05-27 15:10:54 544

原创 重新梳理OpenHarmony的HDF

HDF架构图HDF(Hardware Driver Foundation)驱动框架,为驱动开发者提供驱动框架能力,包括驱动加载、驱动服务管理、驱动消息机制和配置管理。HDF(Hardware Driver Foundation)驱动框架,为驱动开发者提供驱动框架能力,包括驱动加载、驱动服务管理、驱动消息机制和配置管理。并以组件化驱动模型作为核心设计思路,让驱动开发和部署更加规范,旨在构建统一的驱动架构平台,为驱动开发者提供更精准、更高效的驱动管理的开发环境,力求做到一次开发,多系统部署。

2024-05-27 15:09:48 960

原创 Linux调试中的各种trace

Linux调试中的各种trace | DD'NotesLinux调试中的各种traceLinux中有很多调试手段,很多trace,很让人迷糊,弄得云里雾里。今天简单介绍下其中的几种trace:ptrace, strace, ltrace, ftrace。只是简单介绍它们的基本概念,对其有基本的了解,后面有机会的话,再逐个深入。ptrace官方手册说明:https://man7.org/linux/man-pages/man2/ptrace.2.hLinux调试中的各种trace | DD'Notes。

2024-05-27 15:07:55 1211

原创 PulseAudio与蓝牙音频

PulseAudio与蓝牙音频 | DD'NotesPulseAudio与蓝牙音频背景Linux下面是怎么使用蓝牙音频的呢?今天我们一起来看看,通过命令行使用 PulseAudio 来联动蓝牙音频。PulseAudio与Bluetooth音频PulseAudio的所有蓝牙功能都依赖于BlueZ,此外,HFP支持还需要oFono。PulseAudio 支持3个主要的和音频相关的蓝牙profiles: A2DP (Advanced Audio D。

2024-04-19 14:46:21 959 2

原创 Linux内核中的格式化打印

内核中的格式化打印 | DD'Notes背景最近在调试个异常卡死的问题时,需要打印某个pcie link的,故学习了下内核里的打印,特此记录。内核中的格式化打印主要分为整型和指针。整型signed char%d or %hhx unsigned cha。

2024-04-19 14:44:53 598

原创 Linux内核调试工具之Kprobes简单使用

Linux内核调试工具之Kprobes简单使用上次看了下Kprobes的相关概念:Linux内核调试工具之Kprobes相关概念,这里看看它的简单使用 配置Kprobes内核需要打开以下配置: CONFIG_KPROBES = y #保证能加载和卸载基于Kprobes的模块 CONFIG_MODULES = y CONFIG_MODULE_UNLOAD = y #kprobes例子:内核源码/samples/kprobes/kprobe_example.c。Linux内核调试工具之Kprobes简单使用。

2024-04-08 10:34:19 864

原创 Linux内核几个重要文件之System.map

System.map是编译内核时生成,它记录了文件内核中的符号列表,以及符号在内存中的虚拟地址,这里的符号可以理解成函数名和变量。System.map文件不是一成不变的,每次编译内核都会重新生成System.map文件。链接: https://notes.z-dd.online/2024/03/21/Linux%E5%86%85%E6%A0%B8%E5%87%A0%E4%B8%AA%E9%87%8D%E8%A6%81%E6%96%87%E4%BB%B6%E4%B9%8BSystem.map/

2024-04-08 10:33:20 651

原创 Linux内核调试工具之Kprobes相关概念

Linux内核调试工具之Kprobes相关概念 | DD'NotesLinux内核调试工具之Kprobes相关概念背景及概念Kprobes: Kernel Probes 背景 开发人员在内核或者模块的调试过程中,往往会需要要知道其中的一些函数有无被调用、何时被调用、执行是否正确以及函数的入参和返回值是什么等等。比较简单的做法是在内核代码对应的函数中添加日志打印信息,但这种方式往往需要重新编译内核或模块,重新启动设备之类的,操作较为复杂甚至可能会破坏原有的代码执行。

2024-04-08 10:30:50 887

原创 基于QEMU搭建RISC-V的Linux环境

基于QEMU搭建RISC-V的Linux环境 | DD'Notes基于QEMU搭建RISC-V的Linux环境背景和之前搭建x86的类似(基于QEMU的内核调试环境搭建),只是需要交叉编译即可,重点其实是在交叉编译工具链。前提:QEMU已安装好!准备工具链RISC-V支持GNU工具链和LLVM工具链,目前主流Linux发行版好像都没有预编译的二进制包可以下载安装,只能自己通过源码编译安装。获取工具链源码$ git clone https://gitee.c。

2024-04-08 10:29:46 1186

原创 让Windows成为更好用的Linux发行版之WSL2折腾NFS

让Windows成为更好用的Linux发行版之WSL2折腾NFS | DD'Notes让Windows成为更好用的Linux发行版之WSL2折腾NFS背景生命不息,折腾不止。前段时间,为了让WSL更好地来开发Linux和OH,折腾出了一系列文章: WSL2相关 wsl2上折腾docker 解决WSL2网络和存储问题 上次把WSL2的网络弄好了,最近就准备将开发环境更进一步,开始折腾NFS。以为和Ubuntu主机上搭建NFS一样(嵌入式Linux基础开发环境搭建),简单的一条命令。

2024-04-08 10:25:47 1203

原创 使用GDB和VSCode调试内核

使用GDB和VSCode调试内核 | DD'Notes使用GDB和VSCode调试内核背景上一篇,已经搭建好QEMU的内核调试环境:https://notes.z-dd.online/2024/03/06/%E5%9F%BA%E4%BA%8EQEMU%E7%9A%84%E5%86%85%E6%A0%B8%E8%B0%83%E8%AF%95%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/ 这篇主要在前面的基础上尝试用gdb来调。

2024-04-08 10:23:28 825

原创 基于QEMU的内核调试环境搭建

基于QEMU的内核调试环境搭建 | DD'Notes基于QEMU的内核调试环境搭建背景在没有相应的实体硬件,只有自己的一台开发机器,在学习内核或是调试破坏性大的内核功能时,又不想用庞大麻烦的Virtualbox或VMware,只是简单单纯地调试下内核,QEMU是个不错的选择。关于QEMU QEMU is a generic and open source machine emulator and virtualizer. When used as。

2024-04-08 10:21:46 912

原创 解决WSL2网络和存储问题

链接: https://notes.z-dd.online/2024/02/24/%E8%A7%A3%E5%86%B3WSL2%E7%BD%91%E7%BB%9C%E5%92%8C%E5%AD%98%E5%82%A8%E9%97%AE%E9%A2%98/网络配置问题,主要是不能从外部局域网访问wsl网络,这使得用板子没法挂载wsl里的nfs和使用tftp,网上有些间接的办法解决了这个问题,但很麻烦,懒得去折腾。新的 23H2 系统版本已经直接解决了上面的问题,但我的系统一直未收到相应的正式版的更新推送。

2024-02-29 11:05:20 547

原创 MMC和SD与SDIO

MMC和SD与SDIO以前一直不太清楚SDIO、SD卡、MMC等之间的区别和联系,偶然间在 蜗窝 上看到下面这幅图,才算稍微有点清晰明了: MMCMMC(Multimedia Card)是一种协议或者规范,规范了卡的形状尺寸,通讯协议等内容,符合MMC协议的卡叫做MMC卡,即多媒体卡 两种操作模式,分别为MMC模式与SPI模式 eMMCeMMC (Embedded Multi Media Car。,microSD/TF、SDHC、SDXC等这些都是SD卡的进化版。两个可选的通信协议:SD模式和SPI模式。

2024-02-29 11:04:16 700

原创 端侧AI系列之瑞芯微RV1126及RKNN

开始这一切的前提条件是软硬件都已调通OK,可以正常使用的板子,这里主要涉及RKNN及其应用,不涉及硬件驱动调试及系统调试 RV1126简介RV1126基于四核arm Cortex A7 32位内核,集成NEON和FPU。链接: https://notes.z-dd.online/2024/01/09/%E7%AB%AF%E4%BE%A7AI%E7%B3%BB%E5%88%97%E4%B9%8B%E7%91%9E%E8%8A%AF%E5%BE%AERV1126%E5%8F%8ARKNN/

2024-02-29 11:02:47 1412

原创 OpenHarmony南向之编译构建框架

概述OpenHarmony编译子系统是以GN和Ninja构建为基座,对构建和配置粒度进行部件化抽象、对内建模块进行功能增强、对业务模块进行功能扩展的系统,该系统提供以下基本功能: 以部件为最小粒度拼装产品和独立编译。编译子系统通过配置来实。链接: https://notes.z-dd.online/2024/01/03/OpenHarmony%E5%8D%97%E5%90%91%E4%B9%8B%E7%BC%96%E8%AF%91%E6%9E%84%E5%BB%BA%E6%A1%86%E6%9E%B6/

2024-02-29 10:56:44 476

原创 OpenHarmony南向之PWM背光

背光驱动模型也是基于HDF框架开发的,整个框架如下: 现在以RK3568为例,来看看PWM背光整个驱动,这里使用的是PWM占空比控制的背光,默认基于hdf的pwm驱动已经OK!链接: https://notes.z-dd.online/2023/12/07/OpenHarmony%E5%8D%97%E5%90%91%E4%B9%8BPWM%E8%83%8C%E5%85%89/现在以RK3568为例,来看看PWM背光整个驱动,这里使用的是PWM占空比控制的背光,默认基于hdf的pwm驱动已经OK!

2024-02-29 10:52:13 420

原创 OpenHarmony南向之TP触摸屏

OpenHarmony南向之TP触摸屏概述Touchscreen驱动用于驱动触摸屏使其正常工作,该驱动主要完成如下工作:对触摸屏驱动IC进行上电、配置硬件管脚并初始化其状态、注册中断、配置通信接口(I2C或SPI)、设定Input相关配置、下载及更新固件等操作。链接: https://notes.z-dd.online/2023/12/06/OpenHarmony%E5%8D%97%E5%90%91%E4%B9%8BTP%E8%A7%A6%E6%91%B8%E5%B1%8F/来源: DD'Notes。

2023-12-11 14:12:21 260 2

原创 OpenHarmony南向之LCD显示屏

OpenHarmony南向之LCD显示屏概述LCD(Liquid Crystal Display)驱动,通过对显示器上下电、初始化显示器驱动IC(Integrated Circuit)内部寄存器等操作,使其可以正常工作。HDF Display驱动模型 LCD器件驱动是显示框架最底层的部分。链接: https://notes.z-dd.online/2023/12/05/OpenHarmony%E5%8D%97%E5%90%91%E4%B9%8BLCD%E6%98%BE%E7%A4%BA%E5%B1%8F/

2023-12-11 14:11:15 488

原创 OpenHarmony南向之Camera简述

OpenHarmony南向之Camera简述 | DD'NotesOpenHarmony南向之Camera简述Camera驱动框架该驱动框架模型内部分为三层,依次为HDI实现层、框架层和设备适配层: HDI实现层:实现OHOS(OpenHarmony Operation System)相机标准南向接口。框架层:对接HDI实现层的控制、流的转发,实现数据通路的搭建,管理相机各个硬件设备等功能。设备适配层:屏蔽底层芯片和OS(Operation System)

2023-12-04 14:11:10 252

原创 wsl2上折腾docker

wsl2上折腾docker | DD'Noteswsl2上折腾docker背景上次重新整了下电脑上的WSL2: https://notes.z-dd.online/2023/11/07/WSL2%E7%9B%B8%E5%85%B3/ 现在需要在上面弄下docker,以为和在真机上一样,后来发现还有比较大的差异,所以在此记录下 环境: Windows 11 家庭中文版(22H2) WSL2(2.0.9.0) WSL Ubuntu20.04发行版wsl2上折腾docker。

2023-12-04 14:08:31 182

多变量卡诺图化简的算法实现

多变量卡诺图化简的算法实现,网上淘的。。。

2011-03-30

JS实现在一个按钮上动态显示文字的效果

JS实现在一个按钮上动态显示文字的效果,在网上摘的,,有点用哦

2011-03-30

c51写的日历时钟程序

用C写的51程序,日历时钟的,也是在网上淘的,和大家分享分享。

2011-03-12

华为硬件工程师手册()

华为硬件工程师手册,里面收录很多经验,,也是网上淘到的。。和大家分享哈

2010-09-22

空空如也

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

TA关注的人

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