- 博客(350)
- 资源 (26)
- 收藏
- 关注
转载 全面了解AMD的CPU/GPU/NPU硬件产品
接着intel向64位过度的时候研发出ia64(x64架构),因为和x86架构不兼容,市场反应极差。而AMD率先研发了x86的64位兼容架构(32和64的混合架构),即现在的x86-64架构,intel反过来向AMD要授权(intel和AMD两家专利交叉的很严重)以生产x86-64。由于是AMD先研发出x64架构,所以x86-64又叫amd64。x64本质上也是x86的一个版本,确切来说,应该叫x86-64,可以简单理解为x86的下一个版本。x86一般是指32位的系统,x64是指64位的系统。
2025-02-19 17:37:01
6
转载 Intel Xeon(至强) 服务器 CPU
Eagle Stream 是第四代、第五代Intel可扩展处理器平台,面向1P、2P、4P和8P服务器。主要的CPU架构有Sky Lake和Cascade Lake,从Sky Lake开始,英特尔采用了新的命名方式,分为铂金(Platinum)、金(Gold)、银(Silver)、铜(Bronze)等级别。⑤ 增强的内存和带宽,与之前的产品相比,Purley平台的内存带宽提升了1.5倍,每个CPU支持6个DDR4内存通道,频率高达2133-2666MHz,每个CPU的内存容量可达768GB至1.5TB;
2025-02-19 16:28:27
5
转载 Source Insight使用方法
片段也可以是特定于编程语言的,或所有语言共有的,或某些语言集共有的。片段可以包含占位符变量,它们是在插入片段时自动扩展的特殊标识符。例如,$date$ 是一个被当前日期替换的文本变量。Source Insight 的内置文件比较窗口会在您编辑时更新。它并排显示两个文件的差异。目录比较窗口与文件比较窗口一起工作以比较两个目录的内容。原文链接:https://blog.csdn.net/DDM226/article/details/143176070。此处显示当前文件中的变量、函数、宏定义等信息,可配置。
2025-02-06 22:55:55
59
转载 PCIe设备配置地址空间获取
PCIe中的每一个设备,都会分配自己的内存地址空间,而这个地址空间会被映射到系统的物理内存中,并且最终于虚拟内存进行对应。在这里能够看到ECAM的基地址Base Address,为了方便访问,PCIe使用了BDF(Bus Number,Device Number,Function Number)来构造基于Base Address的地址偏移,在PCIe中,每个配置地址空间都是4096个字节大小,因此PCIe将BDF的地址向左偏移12位,作为地址偏移,下面是ECAM基于BDF 12位偏移后的地址的各位含义。
2025-02-06 11:09:56
27
转载 查看PCIe设备的class code
PCI Express (PCIe) 设备的类代码(Class Code)是一个标识符,它指示了设备的主要功能或它所属的通用类别。类代码由三个字节组成,通常以十六进制格式表示,它们分别代表基础类(Base Class)、子类(Subclass)和编程接口(Programming Interface)。另一种方式是通过查看配置空间对应位置的设置,在第11,10,9这三位,这里能够看到对应的也是0x0200000。
2025-02-06 11:07:41
45
转载 查看PCIe设备的Header Type
Header Type寄存器:只读寄存器,表示类型,分为PCIe endpoint设备(最低位是0)和PCIe桥(最低位是1),最高位0表示单功能设备,最高位1表示多功能设备,逻辑设备是单功能设备。原文链接:https://blog.csdn.net/aolitianya/article/details/144182194。#define PCI_HEADER_TYPE_MULTI_FUNC 0x80 // 多功能标志位。// 最高位表示是否多功能。// 低7位表示类型。
2025-02-06 11:06:22
18
转载 查看PCIe bridge设备的bus number
也可以通过lspci查看对应设备地址空间的0x18h,0x19h,0x1ah三位来对应primary bus number,secondary bus number和subordinate bus number。原文链接:https://blog.csdn.net/aolitianya/article/details/144182661。// 偏移 0x1B。// 偏移 0x18。// 偏移 0x19。// 偏移 0x1A。// ... 其他字段 ...// 查找设备所属的桥。
2025-02-06 11:04:07
9
转载 谈谈PCIe VID、DID、SSID、SSVID背后的智慧
如果做芯片的和做板卡的不是同一家公司,那么定义这个值就有意义了,因为你同一型号的芯片可以卖给多个板卡厂商去做,而不同的板卡厂商因为设计上的差异性会引入驱动上的差异性。这种思想其实现在已经渗透到了很多技术开发领域,在我们的芯片开发过程中,我们会定义CHIP ID来标识芯片的唯一性,我们也会定义Foundary ID来标识芯片是由谁生产的,定义TestVendor ID来标识芯片是由谁测试的。当时的背景我不知道哈,反正从现在来看,我觉得用一个Capability来扩展的方式增加了协议的理解难度,不太好。
2025-02-06 10:36:17
15
转载 USB设备的PID、VID和GUID分别代表什么
GUID 代表全局唯一标识符,它是一种 128 位的标识符,用于唯一标识某个对象。例如,在 Windows 操作系统中,GUID 用于标识设备接口类,以便操作系统和应用程序能够识别和与特定类型的设备进行通信。VID 代表供应商 ID,它是由 USB 实现者论坛(USB-IF)分配给每个 USB 设备制造商的唯一标识符。每个制造商在制造 USB 设备时都会使用自己的 VID,以确保设备的唯一性。在 USB 设备中,PID、VID 和 GUID 是用于标识和管理设备的重要标识符。
2025-02-06 10:28:48
45
转载 BatteryChargingSpecification1.2中文详解
什么是Dead Battery的阈值?通俗的说就是电池的一个电压值,低于这个值系统就肯定启动不了。电压低于这个值的电池叫Dead Battery。DCP就是墙充,即wall adapter。就是平时用的连到220v插座的充电器。不能枚举USB设备,可以供(4.75v< VCHG <5.25v)的稳定电压和(0.5A <IDCP <5A)的充电电流。DCP在内部将D+和D-短接。SDP是标准的DS Port,是遵循USB2.0规范的host或hub的朝下端口。
2025-01-21 15:08:13
30
原创 source insight多行注释怎么做 source insight可以修改注释样式吗
例如,用户可以将SourceInsight与`Gprof`、`Valgrind`等性能分析工具结合使用,进行详细的性能分析和优化。本文将详细探讨“sourceinsight多行注释怎么做sourceinsight可以修改注释样式吗”,并进一步介绍SourceInsight如何优化代码,帮助用户更好地理解和使用这一工具。良好的代码格式是代码优化的重要方面。-重构工具:SourceInsight提供了基本的代码重构工具,如变量重命名、函数提取等,帮助用户重构代码结构,提升代码的可读性和可维护性。
2025-01-19 21:10:42
74
原创 Source insight快捷导入工程流程 Source insight导入MDK工程文件
在导入过程中,SourceInsight会自动分析文件的语法和结构,生成符号表和索引,便于后续的代码导航和查找。本文围绕“Sourceinsight快捷导入工程流程,Sourceinsight导入MDK工程文件”进行了详细的讨论,并介绍了SourceInsight的批处理功能。4.代码分析和优化:导入MDK工程后,开发者可以利用SourceInsight的代码分析和优化功能进行深入的代码检查。,开发者可以显著提高代码编辑和管理的效率,优化代码质量,为项目的成功奠定坚实的基础。
2025-01-19 21:08:19
105
原创 source insight函数名注释是什么 source insight如何修改函数名
本文将详细探讨“sourceinsight函数名注释是什么sourceinsight如何修改函数名”,并进一步介绍SourceInsight如何修正代码错误,帮助用户更好地理解和使用这一工具。综上所述,通过本文的详细介绍,我们深入探讨了“sourceinsight函数名注释是什么sourceinsight如何修改函数名”,并进一步介绍了。代码审查是发现和修正代码错误的重要手段。通过这些方法,开发者可以在SourceInsight中高效地发现和修正代码错误,提高代码质量和软件稳定性。
2025-01-19 21:06:39
36
原创 sourceinsight标签页方式阅读代码,sourceinsight文件标签插件推荐
作为一款功能强大的代码编辑器,提供了丰富的标签页和多标签支持功能,帮助开发者更好地进行代码阅读和管理。1.多标签支持的实现:在SourceInsight中,用户可以同时打开多个文件,所有打开的文件都会以标签页的形式展示在编辑窗口的顶部。开发者可以通过点击不同的标签页,快速切换到需要查看的文件,避免了反复打开关闭文件的繁琐操作。以下是一些推荐的SourceInsight文件标签插件,这些插件可以扩展SourceInsight的功能,提供更好的代码管理和优化体验。多标签支持是现代代码编辑器的一项重要功能。
2025-01-19 21:04:12
20
原创 sourceinsight如何新建工程sourceinsight4.0添加源代码
本文将详细介绍“sourceinsight如何新建工程,sourceinsight4.0添加源代码”,并提供解决SourceInsight中文乱码问题的实用方法。6.查看和编辑源代码:在Sourceinsight中,您可以查看和编辑使用的源代码文件。以上就是“sourceinsight如何新建工程,sourceinsight4.0添加源代码”的相关介绍,涵盖了在SourceInsight中创建和管理项目的基本操作步骤。3.选择源代码文件:加上文件后,可以配置这种文件的选项,如设定文件的形式、编译选项等。
2025-01-19 21:02:08
68
原创 sourceinsight主题配置 sourceinsight绿色护眼主题下载
点击“Load按键,挑选下载的主题文件进行导进,并使用新的绿色护眼主题。本文将为您介绍“sourceinsight主题配置sourceinsight绿色护眼主题下载”,帮助您使用中这一功能,并提供绿色护眼主题的下载资源。1.主题配置界面:开启SourceInsight以后,用户能通过菜单栏里的“Options选项进到“选项”Preferences设置界面,挑选“Display“工具栏,能够看见“工具栏”ColorScheme在这儿,用户可以调节当前的主题。
2025-01-19 21:01:01
41
原创 Source Insight代码配置推荐,Source Insight如何添加tab页插件tabsiplus
代码的高效管理与浏览对于每一个程序员来说都至关重要,使用SourceInsight软件来进行代码管理和编辑可以方便地管理多种编程语言,为了更好地提高开发效率,本文将为您介绍“SourceInsight代码配置推荐,SourceInsight如何添加tab页插件tabsiplus”,并对相关的配置进行说明。调整行号的格式和样式:SourceInsight容许开发人员自定行号的动态展示,通过调节此选项,开发人员能使行号表明更加明确和醒目,尤其是在长时间的编码环节中,该设定能够有效地提高代码的可读性。
2025-01-19 20:59:44
45
原创 Source Insight源码解析怎么做?Source Insight是否支持其他编程语言的源码解析?
源码解析怎么做SourceInsight是否支持其他编程语言的源码解析”的介绍,SourceInsight在源码解析和代码编辑方面功能强大,能够满足开发者的多样化需求。添加源码文件:在项目创建完成后,可以通过“Project”菜单下的“AddFiles”选项,将需要解析的源码文件添加到项目中。用户可以在不同语言的项目之间自由切换,方便进行多种语言的源码解析。版本控制:SourceInsight支持与版本控制系统的集成,使得用户可以方便地管理代码版本,查看历史修改记录,确保代码的安全性和稳定性。
2025-01-19 20:58:41
35
原创 如何用Source Insight提高代码阅读的速度,怎么用Source Insight分析代码问题
在我们写代码的时候,经常会遇到一个问题,就是代码越写越多,想快速找到自己需要的部分就变得越来越难了,尤其是面对一个大项目,代码文件一堆,自己都不知道从哪里下手。比如,你在A文件里看到一个函数调用了B文件的某个方法,你可以直接点击跳转过去,查看方法的定义和逻辑,这样你不用手动去找,也省去了来回切换文件的麻烦。全局搜索功能:当你遇到代码中的某个问题,比如某个变量值总是出错,或者函数的返回值不对,你可以利用SourceInsight的全局搜索功能来找出这个变量或函数在项目里的所有用法。
2025-01-19 20:56:38
35
原创 Source Insight如何查找引用的代码,Source Insight怎么输入变量的引用
通过这些内容,我们深入探讨了“SourceInsight如何查找引用的代码,SourceInsight怎么输入变量的引用”。今天我们就来聊聊“SourceInsight如何查找引用的代码,SourceInsight怎么输入变量的引用”,并且分享一些实用的小技巧,帮你更高效地使用这个工具。这样,系统就会把这些文件导入到SourceInsight的项目中。全局查找:在工具栏有一个全局查找的框,你只需要输入你要查找的变量或函数名,SourceInsight会搜索整个项目,并把所有相关的引用都列出来。
2025-01-19 20:54:47
43
原创 Source Insight语法格式化是什么意思,如何打开Source Insight语法格式化功能
所以说,SourceInsight语法格式化是什么意思,如何打开SourceInsight语法格式化功能,这个功能让代码变得更整洁、易读,是我们在写代码时的好帮手。特别是它的语法格式化功能,可以说是让代码更美观、更容易读懂的关键。那么,SourceInsight语法格式化是什么意思,如何打开SourceInsight语法格式化功能,今天我们就来聊聊这个话题。自动修正格式:写代码时常常会有格式上的小错误,比如空格多了,缩进对不齐,SourceInsight会帮你自动修正这些问题,不用一个个去改。
2025-01-19 20:52:58
14
原创 Source Insight支持智能重命名吗,Source Insight有智能代码选项吗
总之,SourceInsight作为一款强大的代码编辑工具,不仅支持智能重命名,还有智能代码选项,帮助开发者提升效率,减少错误。希望通过这篇文章“SourceInsight支持智能重命名吗,SourceInsight有智能代码选项吗”,你能对SourceInsight有更深入的了解,并在以后的编程中好好运用它。今天,我们就来聊聊“SourceInsight支持智能重命名吗,SourceInsight有智能代码选项吗”这个话题,帮助大家更好地了解这款软件的特性和功能。
2025-01-19 20:50:23
11
原创 如何在Source Insight引用查找,Source Insight怎么通过引用查找找到相关代码
通过“如何在SourceInsight引用查找,SourceInsight怎么通过引用查找找到相关代码”,我们看到了SourceInsight如何帮助开发人员高效定位代码和理解代码结构。SourceInsight作为一款强大的代码编辑和分析工具,提供了引用查找功能,帮助开发者快速定位代码片段和了解代码逻辑。那么,如何在SourceInsight引用查找,又SourceInsight怎么通过引用查找找到相关代码呢?比如你想查找某个函数的引用,首先在代码中找到这个函数名,然后用鼠标选中它。
2025-01-19 20:47:59
17
原创 Source Insight如何进行目录比较Source Insight怎么对比不同目录的差异
接着SourceInsight就会对比文件内容的变化,这才是SourceInsight最强的地方,它不仅仅是对比目录中哪些文件不一样,更会详细分析每个文件的变化。有时候,我们需要对比的不是同一个目录,而是两个完全不同的目录,比如在不同的开发环境之间进行对比,或者是查看开发和生产环境之间的差异。你输入一个函数名的开头,软件就会给出可能的补全选项,省得你每次都得敲完整的名字。先自由选择要对比的目录,不管是本地的、远程的,还是不同分支的目录,SourceInsight都能完美支持。
2025-01-19 20:46:36
13
原创 source insight怎么运行程序,source insight打开已有项目
SourceInsight不仅是一个强大的代码阅读和分析工具,还提供了便捷的方式来运行代码程序。通过SourceInsight软件运行代码程序,我们可以在一个集成的开发环境中完成代码的编辑和执行。2、如果在软件中已经导入了不同的代码文件,点击后会呈现不同代码的名称。以上就是关于SourceInsight怎么运行程序,SourceInsight打开已有项目的具体内容,更多软件详情大家可以访问。1、打开软件进入到主页面,在菜单栏中点击【Project】选项,接着点击【OpenProject】选项。
2025-01-19 20:45:18
41
转载 一文读懂PD与QC充电协议
USB-PD(Power Delivery)是基于USB Type-C的一种电源供电标准,最大供电功率可达100瓦(W);随着USB Type-C的普及,越来越多的设备(手机、平板、显示器、工作站、充电器等)使用USB-PD快速充电方案。1、USB Type-C简介 Type-C是USB接口的一种形式,不分正反两面均可插入,支持USB标准的充电、数据传输、视频传输、音频传输、显示输出等功能。支持USB-PD后则可实现高达100W的电源供电。本文重点描述的USB-PD就是通过Type-C的“配置通
2025-01-13 11:02:02
595
原创 TYPE-C充电_握手
除了电阻分压的方式之外、还可以通过恒流源的方式,即将电阻RP更换为恒流源,恒流经过电阻Rd同样可以产生电压供Sink端识别Source的供电能力。State5:Attached.SNK:当TryWait.SNK状态检测到Source并维持一段时间,且检测到VBUS则进入Attached.SNK,连接态SINK。State2:AttachedWait.SNK:当检测到Source达到tccDebou· 2023-11-28 17:51:48 发布。
2025-01-13 10:45:13
1057
转载 预处理命令使用详解----#if、#endif、#undef、#ifdef、#else、#elif
格式:#define 标识符 字符串被替换的字符串在""内int main()还有需要注意的一点是,不管是在某个函数内,还是在所有函数之外(不太建议把#define写在函数内),#define作用域都是从定义开始直到整个文件结尾(这一点和typedef就区别很大)#define(宏定义)----由预处理器来处理typedef----在编译阶段由编译器处理void fun();fun();
2025-01-12 15:06:16
1089
转载 预处理指令 #define, #include, #if...#elif...#else...#endif
本文详细介绍了C语言预处理的关键指令如#define用于宏定义,#include用于包含头文件,以及条件编译指令#if、#ifdef、ifndef、#elif、#else和#endif的作用。// 编译时会被替换为 int result = ((5) * (5));的组合,用于指定一个新的条件,如果前面的 #if 或 #elif 条件不满足,且当前条件为真,则执行后面的代码块。指令用于结束条件编译块,必须与之前的 #if、#ifdef、#ifndef、#elif 或 #else 配对使用。
2025-01-12 14:28:56
35
转载 C语言之#define用法入门详解
也就是说,使用#define定义重复的符号常量时,如果运算符的前后都有空格,则不提示告警,否会提示告警。需要注意的是,在表达式(x)*(y)中,x和y都要使用“()”括起来,这是因为符号函数在编译时时进行符号形式替换。在C语言中,常量是使用频率很高的一个量。1.使用#define定义带有运算符的符号常量时,一定要对每个量都加上圆括号,以避免出现不必要的错误。使用#define定义符号常量函数,且该常量被多次调用,则可以提高程序的运行效率。使用#define定义的常量也称为符号常量,可以提高程序的运行效率。
2025-01-12 14:13:35
34
转载 C语言丨关键C语言丨关键字enum用法详解,看这篇就够了字enum用法详解,看这篇就够了
enum是C语言中的一个关键字,enum叫枚举数据类型,枚举数据类型描述的是一组整型值的集合(这句话其实不太妥当),枚举型是预处理指令#define的替代,枚举和宏其实非常类似,宏在预处理阶段将名字替换成对应的值,枚举在编译阶段将名字替换成对应的值,typeName是枚举类型的名字,花括号里面的元素(枚举成员)是常量而不是变量,这个一定要搞清楚,因为枚举成员的是常量,所以不能对它们赋值,只能将它们的值赋给其他的变量。(2)DAY是一个标识符,可以看成这个集合的名字,是一个可选项,即是可有可无的项。
2025-01-08 12:30:42
108
原创 高通 QCOM 9008刷机
2.接上USB 下载线,查看电脑下是否出现 9008 串口,出现串口后,使用CMD 命令进入到下载区域,配置好相应串口,回车键下载。1.短接 VREG_S10B_BOOT和 SC_FORCED_USB_BOOT 强制下载测试点;
2025-01-02 15:50:31
452
转载 C语言中|=,&=,~操作符的应用
这里与我们之前的情况不一样,之前当我们将13|1的时候,是在一堆0里只有1,我们可以直接进行移位之后运算,这里就不行了,我们怎么可以在一堆0里找到0之后参与运算呢,这里我们就需要用到取反操作符了,既然我们可以在一堆0里找到1,那么我们将它们按位取反之后,不就是在一堆1里找0了嘛,然后我们将0再左移之后运算不就好啦。我们想要将这一位再变为0,需要进行与操作,当1与0的时候,那么我们这一位就可以变回为0,有小伙伴要说啦,那么我们直接将29&0可不可以啊,不行!得到结果为15,与我们预期符合,15的二进制为。
2024-11-29 14:22:58
522
转载 STM32中IIC通讯协议
了解了这些基本知识,再回到开头,IIC其只需要两根线控制,一根时钟线(SCL)控制同步,一根数据线(SDA)传输数据,因为只有一根数据线,数据逐个传输,因此是串行通讯。接收应答:主机在发送完一个字节之后,在下一个时钟接收一位数据,判断从机是否应答,数据0表示应答,数据1表示非应答(主机在接收之前,需要释放SDA)发送应答:主机在接收完一个字节之后,在下一个时钟发送一位数据,数据0表示应答,数据1表示非应答。SCL低电平期间,从机将数据位依次放到SDA线上(高位先行),然后释放SCL,
2024-11-28 23:58:17
66
转载 STM32-USART通信
既然双设备利用串行双向发送,那么发送和接收肯定要约定好一个频率,主机按照一定频率发送,从机按照一定频率接收,这样子才不会出现丢包、空包。主要的区别在于 USART 具有同步传输的能力,可以通过外部时钟源进行精确的时钟同步,而 UART 只能支持异步传输。在异步模式下,USART不使用时钟信号来同步发送和接收的数据,而是依赖于双方设置的相同波特率。TX与RX要交叉连接,因为对于设备2来说,设备1的发送(tx)就是它的接收(rx),对方同理。USART是一种用于串行通信的设备,可以在同步和异步模式下工作。
2024-11-28 23:48:10
110
转载 GPIO的上拉、下拉,无上下拉
按键通常与电源电压(Vcc)连接,在未按下时需要下拉电阻将引脚拉到低电平。按键通常与地(GND)连接,在未按下时需要上拉电阻将引脚拉到高电平。当引脚配置为输入模式时,如果引脚没有连接到其他外部电路,内部上拉电阻会将引脚的电压拉到高电平(逻辑1)。当引脚配置为输入模式时,如果引脚没有连接到其他外部电路,内部下拉电阻会将引脚的电压拉到低电平(逻辑0),未使用的引脚:为确保未使用的引脚处于已知状态,防止其浮动引起干扰,可以将其配置为下拉模式。如果外部电路已经有合适的上拉或下拉电阻,则可以配置引脚为无上下拉模式。
2024-11-28 23:38:09
395
转载 GPIO的中断和事件触发模式:上升、下降沿触发.......
当GPIO引脚检测到电平变化(无论是从低变高还是从高变低)时,生成一个外部事件,但不会打断CPU的正常执行。当GPIO引脚检测到从低电平(逻辑0)变为高电平(逻辑1)时,生成一个中断请求。当GPIO引脚检测到从高电平(逻辑1)变为低电平(逻辑0)时,生成一个中断请求。当GPIO引脚检测到电平变化(无论是从低变高还是从高变低)时,生成一个中断请求。在引脚电平从低变高(上升沿)时触发外部事件,不生成中断请求。在引脚电平从高变低(下降沿)时触发外部事件,不生成中断请求。在引脚电平从低变高(上升沿)时触发中断。
2024-11-28 23:35:00
448
转载 高通平台GPIO引脚复用指导
实际项目开发过程有客户需要从模组空闲的PIN脚中找一个作为WIFI WPS按键功能来使用,结合客户的原理图,发现PCIE_EP_RESET_N 这个PIN脚客户没有使用,通过查询平台文档《SDX12 Pin Assignment Spreadsheet》发现该PIN脚对应的是GPIO_65,查询项目的设备树文件,发现该PIN脚未被使用过。AC_RPM,仅有RPM可以访问;驱动中如何使用该GPIO控制呢?高通参考设计是长供电的,结合客户的原理图,发现PMD9650 GPIO_07 这个PIN脚客户没有使用。
2024-11-28 11:32:38
173
转载 高通骁龙(Qualcomm Snapdragon)CDSP HVX HTP 芯片简介与开发入门
C:\Qualcomm\Hexagon_SDK\3.5.4\examples\common\benchmark\hexagon_Release_dynamic_toolv83_v66\ship\libbenchmark_skel.so ----->DSP端库。C:\Qualcomm\Hexagon_SDK\3.5.4\examples\common\benchmark\android_ReleaseG_aarch64\ship\benchmark ------->可执行文件。
2024-11-28 10:33:29
516
561114-intel-dual-band-wireless-ac-8265-windstorm-peak-eps-rev3-
2022-07-20
DesignGuideCOMe -Express-Advantech
2022-07-10
SGMicro(圣邦微) SGM4568 带自动方向感应的8位双向电压电平转换器数据手册
2018-11-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人