- CCS的基本操作
傻童:CPU
DSPfpgafpga开发dsp
CCS的基本操作1、创建新工程方法一:方法二:进入工程界面后,第一步选择芯片型号,第二步选择仿真器,第三步编写工程名称,选择工程模板。最后点击finish2、编译方法一:方法二:方法三:直接点击小锤子3、配置寄存器4、设置头文件的路径:右击工程->单击属性->IncludeOptions->添加->workspace->include->ok->ok->ok5、导入CCS3.3工程6、关闭工程7、
- C6713(一)CCS3.3,建立BIOS环境的过程/printf的输出/内核认识
我们再牵手
dsp
一、CCS3.3,建立BIOS环境的过程1,从Project菜单选择New,建立项目工程.prj2,从File菜单选择New->DSP/BIOSconfiguration建立.tcf文件,并保存3,将上述.tcf文件添加到项目中4,建立一个源文件.c,含main函数5,编译。此时会报错。其中一个是说heap空间没有分配,一个是说没有.cmd文件。后者将.tcf文件编译生成的.cmd手工添加到项目中
- CCS3.3 安装与使用
大飞哥
@(技术备忘)[DSP][安装][CCS3.3][XP系统]通常选XP系统比较好,虚拟安装的XPsp3一般没有什么特殊影响。貌似win7也可以,但是可能会遇到兼容模式。因为VMware虚拟机和主机之间的交互比较好,复制粘贴都很方便,可以无视的,代码文件,可以直接复制。安装ccs,典型安装,默认路径,C:\CCStudio_v3.3PLA。记住,安装的路径是带PLA的,或者可以自选,但是一定要记住。
- CCS3.3中每种数据类型的长度和取值范围总结
yuyin86
dsp
数据类型长度(字节)值域char1ASCII码字符unsignedchar1-128~127signedchar10~255unsignedint40~4294967296int/signedint4-2147483648-2147483647unsignedshort/unsignedshortint20~65535short/shortint/signedshort/signedshortin
- Davinci调试环境的搭建(三)
lintax
Davinci
Davinci调试环境的搭建(三)五、安装DSP程序的编译环境TI公司提供了高效的C编译器和集成开发环境CodeComposerStudio,可以方便的编译调试DSP程序,同时CCS的帮助文档也是十分全面。1、安装CCS3.3这部分安装比较简单,详细指导参见TI公司的CCS安装指南,可分成两部分:1,解压并安装Code_Composer_Studio_v3.3_Build_3.3.38.2.zip
- 使用CCS4进行DSP开发(Win7-64bit下DSP开发环境搭建)
ruby97
DSP
Win64环境下配置DSP开发环境由于项目需要开发DSP程序,我在机器上配置了CCS4.2.4+XDS560PlusEmulator的开发环境,下面是详细的配置过程。(若您需要在Win7-64Bit下进行DSP开发,请安装CCS4.1.3或以上版本,经典版本CCS3.3在Win7-64bit系统中无法正常运行)另外,需要安装SEED-XDS560Plus仿真盒的驱动程序,文章最后会给出下载链接。-
- DM6467 CCS3.3 BIOS 5.32.1使用时问题解析
jelly_bear
C/C++DigitalSignalProcessor
Question1.error:relocationoverflowoccurredataddress0x00000020insection'.text'ofinputfileThe32-bitPC-relativedisplacement-73428952atthislocationistoolargetofitintothe21-bitPC-Relativefield;thedestinati
- CCS3.3 编译链接系列错误
weixin_33811961
2019独角兽企业重金招聘Python工程师标准>>>错误1:[Linking...]"C:\CCStudio_v3.3\C5500\cgtools\bin\cl55"-@"Debug.lkf"undefinedfirstreferencedsymbolinfile_I2C_getConfigC:\CCStudio_v3.3\MyProjects\EX_BIOS\EX58_task\Debug\t
- CCS3.3 IO文件增加探针并显示图形的方法
Wade_深蓝
FPGA/DSP
1.CCS3.3中的探针(probepoint)Probepoint在CCS2.2中单独的菜单,在CCS3.3中和断点操作合并在一起了。以..\tutorial\C55xx\volume1为例,列举操作方法如下:打开volume.c,找到dataIO()语句,F9设断点。Debug菜单——>Breakpoints,打开断点管理窗口。选中dataIO()所在断点行,点右键菜单,选择Propertyw
- CCS3.3代码自动提示功能
workhorse
CCS
用CCS时,将鼠标放在函数(或变量)上时会出现函数(或变量)会自动提示函数(或变量)的声明及使用情况。若工具提示或变量查看出现异常,例如无法查看TI给定的函数InitCpuTimers(),有以下几种解决方法:0Q9z9C0u.k1V:@8m_1.选择Option→Editor→Language→CodeSense;在左边的框中,选择正在工作的文件类型;确定CodeSenseDLL在文件类型选择框
- CCS3.3:error: symbol referencing errors - './Debug/*.out' not built
workhorse
CCS
转载:CCSv3.3开发环境StepbystepCCSv3.3开发环境Stepbystep(1)Step1:创建一个工程,同时增加一个c文件,消除所有的编译、链接错误和警告。1、创建一个项目工程:通过菜单:Project>New,然后在ProjectCreation对话框中输入:ProjectName:helloLocation:C:\test\hello\ProjectType:Executab
- 关于CCS3.3图形显示的理解
workhorse
CCS
首先声明,觉得ccs3.3中Graph并不是什么量都可以观察的,原因是跟断点有关,反正对于我的仿真器XDS510的是如此。即程序运行到断点处会有延时,对于普通信号可能没什么影响,但对于高频信号来说,这种延时往往是致命的,整个程序运行就明显不是想要的效果了。此上为题外话,现说一下自己对Graph的理解。我们在做一个比较大的项目时,往往习惯于把程序按不同的功能分成不同的功能模块,在调试的时候,可以单个
- 光盘1---CCS3.3安装 & 驱动安装(仿真器安装和使用视频教程)
显著性检测-Archerzjc,
DSP学习
CCS3.3安装setup.exe->next..next->iaccept..->typicalinstall选地址next->installnow等好久弹出警告窗口(确定就行不用管它)finishCCS3.3补丁安装(我这没有这个)按顺序安装accept->选地址(默认安装目录)yestoall安装补丁包第二个文件accept->finish补丁包第三个next第四个补丁包accept->fi
- CCS3.3下载UBOOT到NANDFLASH
zhangjikuan
DM365/DM368
CCS3.3下载UBOOT到NANDFLASH文档下载地址:http://download.csdn.net/detail/zhangjikuan/6424595本文使用是CCS3.3软件升级包升级为CCS3.3.82版本,仿真器使用的是SEED-XDS560PLUS,给TI的DM365板子烧写UBOOT所需文件下载地址链接http://download.csdn.net/detail/zhang
- CCS3.3配置方法
zhangjikuan
DM365/DM368
CCS3.3配置方法源文档下载地址:http://download.csdn.net/detail/zhangjikuan/6424603本人使用的SEED-XDS560PLUS仿真器,连接的是TI的DM3651.双击SetupCCStudiov3.32.点击CreateBoard如下图3.双击仿真器型号如下图(用的SEED-XDS560PLUS仿真器)4.填写NAME如下图(name任意填写)5
- CCS3.3
wu159632
DSP
CCSv3.3(CCSv4.0)是一综合开发环境(IDE),几乎无所不能!它可以:C/C++/汇编/手册语言(Gel)编程建立和开发.DLL.LIB.Project.C.CPP等文件建立和开发WithBoisProject或WithNoBiosProject编译、Link、Debug、下载在线仿真和调试丰富的API供开发者使用WithBoisProject是指在用户工程中,通过平台加载实时操作系统
- 高版本CCS6.0打开低版本CCS3.3工程
超级张大侠
CCS
在“C/C++Projects(C/C++项目)”(路径:工具栏Window->ShowView->Other下的C/C+±>C/C++Projects)即“CCSEdit”视图下,单击工具栏的“Project->ImportLegacyCCSv3.3Projects…(工程->导入CCS3.3工程)”然后入下图所示操作如果出现下图的警告,点击“OK”,忽略警告这样CCS3.3的工程就已经导入完成
- CCS8.1 导入CCS3.3工程方法
dongfanfeng
CCS3.3作为开发人员使用最广开发工具,研究人员手上存在不少该版本的建立的程序版本,然而随着TI公司推出高级版本的CCS平台,在新的平台上集成了更加丰富的功能和优点。利用新版本的平台在开发和编译旧版本工程上可以节省大量时间和精力。在使用新版本开发3.3版本工程时,首要解决的就是加载3.3的工程文件,现将加载过程记录如下:第一步:Project->ImportLegacyCCSv3.3Projec
- 怎样为 CCS 6 及以上版本添加软件仿真(软仿)功能?
胖小子的小胖子
CCS软件的安装与应用
众所周知,CCS3.3版本具有两种仿真模式或者说工作模式,第一种是软件仿真器模式,另一种是硬件在线编程模式。软件仿真器模式:能够脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试;硬件在线编程模式:可以实时运行在DSP芯片上,连接仿真器,与硬件开发板相结合,进行在线编程和调试应用程序。令人遗憾的是,随着TI公司对CCS的升级与精简,从CCS6开始,TI公司将CCS的
- CCS调试教程
weixin_30799995
包括CCS3.3和CCS5.5两个版本的调试教程。CCS3.33.3教程来自http://zhujlhome.blog.163.com/blog/static/20562109220126103288550/CCS的布局和结构值得一提的是CC3.3和CCS2.2工具栏的区别,CCS2.2工具栏的图如下面所示,我们将其和CCS3.3的工具栏比对之后发现CCS.2中的探针工具已经不在CCS3.3的工具
- DSP2812学习笔记-Flash固化操作
weixin_30342209
DSPFlashLED以CCS3.3版本为例,介绍下关于DSP2812固化烧写的过程。1.保证工程在RAM中调试完成;2.配置好Flash.cmd文件,并加入工程;(CMD文件编写参考,Flash.cmd代码见附录1)3.加入起始代码asm文件DSP281x_CodeStartBranch.asm;4.配置C文件,并将初始化FLASH中的代码拷贝到RAM中运行;(C文件配置见附录2)5.重新编译工
- DSP28335使用心得
Strangers_bye
杂
板子烧写烧写步骤将28335供电,连接JTAG仿真器打开setupCCS软件,选择XDS100USBDSPEmulator,即下载的仿真器打开CCS3.3软件如果没有连接上,则点击debug-->connect,连接成功的话左下角会有提示打开工程,后缀名是pjt进行编译链接点击file-->loadprogram,在一个debug的文件夹里选择后缀名是.out的文件,打开之后就开始擦除并下载了完成
- dsp烧写ram的时候,问题解决
tiankongdeyanse110
28335,ccs3.3问题描述:dataverificationfailedataddress0x8000,pleaseverifytargetmemoryandmomerymap解决办法:一:网上提供的办法:1、可能是cmd文件配置问题,要改cmd配置文件。2、可能是地址总线或数据总线有虚焊或短路。3、然后看到有人总结的经验:其一,上电后,晶振的信号输入端XCLIOUT应该有1.65V,果断量
- CCS3.3下DSP28335的软件仿真器配置笔记
jiangchao3392
DSP
CCS3.3下DSP28335的软件仿真器配置笔记一直使用DSP2812,由于将来学习工作的需要,学习下DSP28335,在配置过程中由于配置不正确的各种问题,导致电脑先后出现过5次蓝屏,坚持不懈到最后终于成功连接,记录此笔记,便于再回顾学习。jiangchao33922013/3/28软件:CCS3.3硬件:DSP28335开发板仿真器:XDS510-V4专业版一:CCS3.3软件的安装配置1,
- DSP ccs6.1.2 28335 新建工程
dbfy666
DSP
先NewProject注意这几个点然后把官方的这两个文件复制进去,也可以选择自己用的到的复制进去,不用整个复制列表下会自动出现,ccs3.3打开的工程好像没有这功能添加头文件路径编译,把有问题的几个文件删除了,momeryrange已经确定,就是cmd文件有多了我们把common下的cmd文件删除,他上面有打叉,表示有问题再编译,还是提示差不多的错误,但是数量更多了,这次是header下的,我们把
- TMS320F28335的CCS配置
whiston
CCS3.3
当初听seed的人说,他们的xds510可以作为28335的emulator,只需要在ccs中装几个插件。今天终于鼓捣好了这个dualDSP的板子,加电后2812运行正常,于是想再试下28335。百度了一会儿,得知貌似只有CCS3.3可以开发这个DSP,于是找同学同学拷来了CCS3.3。不过众人都说还需要一个chipsupportpackge和一个5.0的c2000codegenerator。万恶
- ccs8.3.1导入ccs3.3工程 28335
weixin_30826095
导入的步骤可以参考:https://blog.csdn.net/dongfanfeng/article/details/83786204导入后编译不通过,出现错误,错误显示找不到Flash28335_API_V210.lib库文件右击工程名选择Properties---->C2000Linker---->FileSearchPath选择+图标---->Browse...---->选择工程中.lib
- CCS保存工程报错
tangxing1212
处理器相关
CCS4中导入CCS3.3程序,导入成功后编译可通过,但程序改动后编译出现Saveproblem.具体内容如下:SaveproblemSavecouldnotbecompleted.Tryfile>saveas..iftheproblempersists.Somecharacterscannotbemappedusing"GBK"characterencoding.Eitherchangethee
- 【DSP】CCS6.1导入CCS3.3工程全过程以及“N个报错”的解决办法
Yngz_Miao
本人小硕,由于接到了一个关于语音识别的项目,一不小心掉到DSP的坑。首先需要解决的就是关于CCS软件的使用,网上N个教程,总感觉自己这边出的问题总能“完美避开”他们的范围,摸爬滚打这一天多,总算完美解决。CCS版本:CodeComposerStudio6.1.3CCS各版本官方下载路径操作系统:Win7(虽然据说CCS6以上的版本支持Win10了,但是我这边还总是闪退)DSP型号:TMS320VC
- 第一篇 DM642基本架构
MathsDSP
视频信号处理技术分类存储cache图像处理扩展多媒体处理c
MathsDM642是我们为了适合新的视频应用而开发的一款高性能多媒体信号处理板卡,功能紧凑实用,例程务必做到详细,可移植性强,板卡的例程直接在CCS3.3下开发,用户直接就可以使用最新的开发工具,而不需要再捣鼓旧版本。MathsDM642新增加了HDTV接口,用户可以在上面验证HDTV视频的一些算法,为整体转换做技术储备。板卡资源和技术特点:◆处理器:TMS320DM642AZDK6,主频600
- Algorithm
香水浓
javaAlgorithm
冒泡排序
public static void sort(Integer[] param) {
for (int i = param.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
int current = param[j];
int next = param[j + 1];
- mongoDB 复杂查询表达式
开窍的石头
mongodb
1:count
Pg: db.user.find().count();
统计多少条数据
2:不等于$ne
Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0});
查询id不等于3的数据。
3:大于$gt $gte(大于等于)
&n
- Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space
0624chenhong
jvmjboss
转自
http://blog.csdn.net/zou274/article/details/5552630
解决办法:
window->preferences->java->installed jres->edit jre
把default vm arguments 的参数设为-Xms64m -Xmx512m
----------------
- 文件上传 下载 解析 相对路径
不懂事的小屁孩
文件上传
有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。
下面总结一下遇到的问题:
文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。
在上传图片,或者文件时,使用form表单来操作。
前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下:
<form action=&
- 怎么实现qq空间批量点赞
换个号韩国红果果
qq
纯粹为了好玩!!
逻辑很简单
1 打开浏览器console;输入以下代码。
先上添加赞的代码
var tools={};
//添加所有赞
function init(){
document.body.scrollTop=10000;
setTimeout(function(){document.body.scrollTop=0;},2000);//加
- 判断是否为中文
灵静志远
中文
方法一:
public class Zhidao {
public static void main(String args[]) {
String s = "sdf灭礌 kjl d{';\fdsjlk是";
int n=0;
for(int i=0; i<s.length(); i++) {
n = (int)s.charAt(i);
if((
- 一个电话面试后总结
a-john
面试
今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。
面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结:
在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。
然后对list和map分别举几个类型:
list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了
- MSSQL中Escape转义的使用
aijuans
MSSQL
IF OBJECT_ID('tempdb..#ABC') is not null
drop table tempdb..#ABC
create table #ABC
(
PATHNAME NVARCHAR(50)
)
insert into #ABC
SELECT N'/ABCDEFGHI'
UNION ALL SELECT N'/ABCDGAFGASASSDFA'
UNION ALL
- 一个简单的存储过程
asialee
mysql存储过程构造数据批量插入
今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:
DELIMITER $$
DROP PROCEDURE IF EXISTS inse
- annot convert from HomeFragment_1 to Fragment
百合不是茶
android导包错误
创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单;
创建类时引入包是:import android.app.Fragment;
创建队列和对象时使用的包是:import android.support.v4.ap
- Weblogic10两种修改端口的方法
bijian1013
weblogic端口号配置管理config.xml
一.进入控制台进行修改 1.进入控制台: http://127.0.0.1:7001/console 2.展开左边树菜单 域结构->环境->服务器-->点击AdminServer(管理) &
- mysql 操作指令
征客丶
mysql
一、连接mysql
进入 mysql 的安装目录;
$ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p
输入密码,回车,接连;
二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效]
1、赋权
mys
- 【Hive一】Hive入门
bit1129
hive
Hive安装与配置
Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。
Hive安装和配置的步骤
1. 从如下地址下载Hive0.14.0
http://mirror.bit.edu.cn/apache/hive/
2.解压hive,在系统变
- ajax 三种提交请求的方法
BlueSkator
Ajaxjqery
1、ajax 提交请求
$.ajax({
type:"post",
url : "${ctx}/front/Hotel/getAllHotelByAjax.do",
dataType : "json",
success : function(result) {
try {
for(v
- mongodb开发环境下的搭建入门
braveCS
运维
linux下安装mongodb
1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz
2)linux 解压
gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz;
mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-
- 编程之美-最短摘要的生成
bylijinnan
java数据结构算法编程之美
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class ShortestAbstract {
/**
* 编程之美 最短摘要的生成
* 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran
- json数据解析及typeof
chengxuyuancsdn
jstypeofjson解析
// json格式
var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},'
+' {"firstName": "CCC&
- 流程系统设计的层次和目标
comsci
设计模式数据结构sql框架脚本
流程系统设计的层次和目标
 
- RMAN List和report 命令
daizj
oraclelistreportrman
LIST 命令
使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的
信息。使用此命令可列出:
• RMAN 资料档案库中状态不是AVAILABLE 的备份和副本
• 可用的且可以用于还原操作的数据文件备份和副本
• 备份集和副本,其中包含指定数据文件列表或指定表空间的备份
• 包含指定名称或范围的所有归档日志备份的备份集和副本
• 由标记、完成时间、可
- 二叉树:红黑树
dieslrae
二叉树
红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题.
红黑树必须遵循红黑规则,规则如下
1、每个节点不是红就是黑。 2、根总是黑的 &
- C语言homework3,7个小题目的代码
dcj3sjt126com
c
1、打印100以内的所有奇数。
# include <stdio.h>
int main(void)
{
int i;
for (i=1; i<=100; i++)
{
if (i%2 != 0)
printf("%d ", i);
}
return 0;
}
2、从键盘上输入10个整数,
- 自定义按钮, 图片在上, 文字在下, 居中显示
dcj3sjt126com
自定义
#import <UIKit/UIKit.h>
@interface MyButton : UIButton
-(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa
- MySQL查询语句练习题,测试足够用了
flyvszhb
sqlmysql
http://blog.sina.com.cn/s/blog_767d65530101861c.html
1.创建student和score表
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR
- 转:MyBatis Generator 详解
happyqing
mybatis
MyBatis Generator 详解
http://blog.csdn.net/isea533/article/details/42102297
MyBatis Generator详解
http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.
- 让程序员少走弯路的14个忠告
jingjing0907
工作计划学习
无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助
1.不要害怕在工作中学习。
只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放
- nginx和NetScaler区别
流浪鱼
nginx
NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。
2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。
3.策略灵活度方
- 第11章 动画效果(下)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- FAQ - SAP BW BO roadmap
blueoxygen
BOBW
http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq
Besides, I care that how to integrate tightly.
By the way, for BW consultants, please just focus on Query Designer which i
- 关于java堆内存溢出的几种情况
tomcat_oracle
javajvmjdkthread
【情况一】:
java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: <jvm-arg>-Xms3062m</jvm-arg> <jvm-arg>-Xmx
- Manifest.permission_group权限组
阿尔萨斯
Permission
结构
继承关系
public static final class Manifest.permission_group extends Object
java.lang.Object
android. Manifest.permission_group 常量
ACCOUNTS 直接通过统计管理器访问管理的统计
COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限
D