This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS:命令行项目create -如何更改PRU链接器运行时环境初始化模型

Guru**** 2535750 points
Other Parts Discussed in Thread: CCSTUDIO

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/568895/ccs-command-line-project-create---how-to-change-pru-linker-runtime-environment-initialization-model

主题中讨论的其他部件:CCStudio

工具/软件:Code Composer Studio

您好,

我们正在使用PRU编译器版本2.1 .4通过命令行创建基于CLPRU的固件项目。 在生成的项目中,由于PRU Linker Runtime Environment Initialization model (PRU链接程序运行时环境初始化模型)默认设置为Link using ROM autostinitialization model (使用ROM自动初始化模型链接),我们将遇到构建错误。 标志--rom_model已启用。


我们想知道是否有commad line选项来禁用初始化模型(将生成的项目中的值更改为空)


如果需要任何其他详细信息,请告知我们

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我很困惑。  您说...

    nijin P 说:
    我们正在通过命令行创建基于CLPRU的固件项目

    但您的问题强烈建议您使用CCS (Code Composer Studio)进行构建。  现在,我假设您使用CCS进行构建。

    Nijin P 说:
    我们想知道是否有用于禁用初始化模型的commad line选项[/QUOT]

    可以在不指定--rom_model或--ram_model选项的情况下进行链接。  这仅对不包含C代码的程序有效,并且仅对手工编码的程序集有效。  在CCS中,“Initialization Model (初始化模型)”下拉框有三个条目。  其中一个是空白的。  选择该选项。

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,George,


    感谢您的回复。 实际上,我们只想通过命令行创建和生成项目,而不使用CCS GUI。 在终端中出现生成错误后,我们尝试通过导入到CCS GUI来排除已创建项目设置的故障。

    通过命令行创建项目时,我们不会在任何位置指定链接器选项'--rom_model'。 仍在创建的项目中启用它,并且'Initialization model'(初始化模型)下拉框显示'Link using ROM autostinitialization model'(使用ROM自动初始化模型链接)。 如果我们在CCS GUI中手动选择了空白选项,则构建错误已解决。

    因此,我们想知道为什么在创建的项目中默认启用ROM自动初始化模型,并想禁用它的命令行本身。


    此致,

    Nijin P

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    实际上,我们只想通过命令行创建和生成项目,而不使用CCS GUI。 在终端中收到生成错误后,我们尝试通过导入到CCS GUI来排除已创建项目设置的故障。[/QUOT]

    请原谅我,但我仍然不明白。  当您说“通过命令行生成”时,我假定您使用make (或类似的方法)来调用编译器shell clpru。  在这种情况下,编译器选项通常显示为makefile中变量的赋值。  没有方法可以自动将此类内置导入CCS中。  (尽管 可以将CCS项目配置为使用自定义makefile 来执行生成。)  因此,请详细说明您打算如何构建项目,以及如何将其导入到CCS中。

    Nijin P 说:
    因此我们想知道为什么在创建的项目中默认启用ROM自动初始化模型,并想禁用它的命令行本身。[/QUOT]

    我仍然不了解您创建的项目的性质,因此我无法回答。  一般而言,不使用--ram_model或--rom_model 可以解决您的问题。

    另一个需要注意的细节 确保链接程序命令文件不包含--ram_model (或较旧的等效短文件-cr)或--rom_model (或较旧的等效短文件-c)。  

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,George,

    George mock 说:
    您可以在不指定--rom_model或--ram_model选项的情况下进行链接

    我认为--rom_model在通过命令行创建的项目中默认启用。

    我确认,如果我在 参数中添加-ccs.setLinkerOptions“--ram_model”@configurations PRU0_IRT,则初始化模型的下拉框将显示'Link using RAM autocinitialization model'(第三个条目)

    如果我在参数中添加-ccs.setLinkerOptions“--rom_model”@configurations PRU0_IRT,下拉框中的第二个条目将被启用。

    但问题是,当我没有指定任何内容时(在args列表中删除了上面提到的链接器选项),在创建的项目中启用了'Link using ROM autost初 始化model'(第二个条目)。 如何避免这种情况,以获取为初始化模型创建的带有空值的命令行项目

    其中一个为空。  选择一个。[/QUOT]

    我们无法在夜间生成期间打开CCS GUI以编辑项目设置,因为生成是通过命令行进行的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    但问题是,当我没有指定任何内容(在args列表中删除了上面提到的链接器选项)时,在创建的项目中启用了'使用ROM自动初始化模型链接'(第二个条目)。 如何避免这种情况,以获取具有初始化模型空值的命令行创建的项目[/QUOT]

    日本

    某些缺省编译器和链接器选项(取决于所选的设备)始终会添加到任何新的CCS项目中。 这是通过CCS项目界面在后台完成的。 -ROM_model是添加到所有C项目的链接程序选项之一。 您也可以通过使用CCS GUI创建空项目来确认这一点。

    只有当您选择了"仅限空装配体项目"模板时,才会不添加此选项。 使用此模板时,该选项设置为空白。 因此,您可以使用使用此模板创建新项目的解决方法。 使用命令行 ProjectCreate指定模板的选项是-CCS.template <id>。 有关  详细信息,请参阅此链接。

    请注意,使用"仅限空装配体项目"模板时,其他一些 默认选项也会有所不同。 我注意到--stack_size和--heap_size选项。 但可以使用-ccs.setLinkerOptions更改这些设置。

    请告诉我们这是否有帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Aarti:

    非常感谢您的帮助-问题现已解决!

    我在命令行上创建项目时添加了-CCS.template com.ti.ccstudio.project.templates.emptyAssemblyOnly。 现在,在创建的项目中,初始化模型设置为‘空白’,并且正在构建而不会出现OOB问题。 我们已经在使用-ccs.setLinkerOptions配置--stack_size和--heap_size

    此致,
    Nijin P