TI中文支持网
TI专业的中文技术问题搜集分享网站

CC1312R: 导入工程后, 修改代码 sdk也被修改

Part Number:CC1312R

环境:使用最新版本ccs和sdk

导入一个15.4的collector的示例项目,发现  

类似此处 只要调用到sdk的文件,都是直接引用的sdk目录下的源文件,这样会导致,修改了一个文件,sdk也被修改,如果建立第二个项目,也会同步.这个要如何解决

Yolande Wang:

您好,

一般是创建的 SDK 实例来调用相应的 API 函数,以便利用 SDK 提供的功能。

如果是调用 SDK 的文件通常涉及到包含头文件和链接相应的库。

您可以查看 SDK user guide :https://dev.ti.com/tirex/explore/node?node=A__AGhAXIxP6gouUA7QxaW0Lg__com.ti.SIMPLELINK_CC13XX_CC26XX_SDK__BSEc4rl__LATEST

,

Yolande Wang:

您试试导入例程之后不要直接动代码,先将刚刚导入的这个例程按照下面的步骤导出,这样SDK中的文件是复制到项目中了,再在这个工程调用 SDK 的文件应该就不会同步了:

1.我这里拿个项目举例,右键点击该项目,点击 Export:

2.

3.把这个黄色的选项勾选了,所有的依赖就复制到工程中了,而不是像原来一样链接过来的

,

faker wang:

好的,这样确实可以避免链接到sdk的问题

,

faker wang:

我试了下,可以避免这个问题,但是从项目中直接 show in system 的时候还是会跳转到sdk中,是不是应该把编译目录下sdk目录都删掉?

,

faker wang:

如图,修改了项目文件link_controller 文件后,sdk中的还是被修改了,项目目录下的还是没变化

,

Yolande Wang:

 show in system?

截个图看一下

,

Yolande Wang:

faker wang 说:如图,修改了项目文件link_controller 文件后,sdk中的还是被修改了,项目目录下的还是没变化

导出之后再导入的吗?

,

faker wang:

是的

,

faker wang:

就是打开系统目录

,

faker wang:

我感觉似乎是因为此处include 的还是sdk目录,应该有一键迁移过来的方法把

,

Yolande Wang:

可以看下这个链接,我也找找:https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_project-management.html#Portable_Projects

,

Yolande Wang:

建议:

1.把需要修改的文件复制到工作空间。

2.在 include path 中手动修改相对路径,指向到工作空间对应的位置。(注意删掉 SDK 原路径)

,

faker wang:

好的

,

Yolande Wang:

嗯嗯,昨天我试了一下,这个方法应该是可以的。

,

faker wang:

我试了一下还是不行

如图我修改了第一张图里面引用路径为项目相对路径,修改了crc32.c之后,点击打开系统路径,还是跳转到了sdk中,且文件修改后sdk也被修改

,

Yolande Wang:

文件可以添加或链接到项目。如果添加文件,则会将其物理复制到项目文件夹中。如果文件被链接,则只有对项目已知的原始文件的引用。链接文件的物理位置将是原始位置(项目文件夹之外)。

您查看一下 6.1.2.2 章节:

https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_project-management.html#adding-or-linking-source-files-to-project

,

Yolande Wang:

还有一种很通用的方法:

保留一份固定的不会改动的 SDK 代码。

新建项目时拷贝 SDK 到新项目,那么这个 SDK 就是独立的一份在新项目里。

当您创建第二个项目时,也同样采用拷贝 SDK 代码的方式,就不存在说这里改动了,原来的 SDK  也改动了。

,

faker wang:

如果这么做的话,就等于一个项目一个sdk了.

而且,每次提交代码到git或者svn的时候,项目目录下的文件并不是最新,每次都需要重新导出一次

,

Yolande Wang:

您不希望第二个项目中的文件更改影响第一个项目使用的原始 SDK 文件吗?如果是这样,那么第二个项目应该直接将文件添加到项目中。这将允许项目拥有自己的文件副本。

faker wang 说:如果建立第二个项目,也会同步.

您是怎么建立的第二个项目,如何导入的sdk?

如果导入的sdk的绝对路径指向了同一个文件,那在上一个工程里修改的文件自然也会同步修改。

,

faker wang:

都是直接在ccs中import ccs project的

,

Yolande Wang:

这样就是会改到 SDK 的。

赞(0)
未经允许不得转载:TI中文支持网 » CC1312R: 导入工程后, 修改代码 sdk也被修改
分享到: 更多 (0)