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/TMS320C5535:CCS7:仅用于TMS320C5535组件项目的最小工作示例

Guru**** 2587345 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/630490/ccs-tms320c5535-ccs7-minimal-working-example-for-tms320c5535-assembly-only-project

部件号:TMS320C5535
主题中讨论的其他部件:TMDX5535EZDSP

工具/软件:Code Composer Studio

您好,

我想在CCS7中构建和调试一个仅限最小汇编项目。

我的步骤是:

  • 通过“文件”->“新建”->“CCS项目”->“仅生成程序集”项目...
  • 创建main.asm文件
;----------- 
;main.asm
.text 循环: nop b循环

;-----------
  • 构建

我收到链接器警告

警告#1.0202万-D:未找到合适的入口点;设置为0

这是预料之中的。

如果我在目标板(TMDX5535EZDSP)上调试此程序,调试器似乎可以正确/无误地加载我的程序,但我无法执行单步指令,请参阅寄存器值等。

我将其解释为不设置入口点所产生的结果。

作为链接程序命令文件,我使用默认文件:

/******************************************************************************** /
/* C5535.cmd */
/*版权所有(c) 2012 Texas Instruments Incorporated *
/*作者:Rafael de Souza */*
*/
/*说明:此文件是链接程序命令文件示例,可以是*/
/* 用于链接使用C编译器和*/*构建的程序
在C5535上运行生成的.out文件。 */*
将其用作指南。 您将需要 */*
更改内存布局以匹配您的特定 */*
目标系统。 您可能需要更改分配*/*
根据程序的大小进行计划。 */*
*
///................ /

内存
{
MMR: o C80= 0万 l = 0x0000c0 /* 192B内存映射寄存器*/
DARAM0:O = 0x0000C 0 l = 0x001F40 /* 8kB双存取RAM 0*/
DARAM1:O = 0.2万 l = 0x0.2万 /* 8kB双路存取RAM 1*/
DARAM2:O = 0.4万 l = 0x0.2万 /* 8kB双路存取RAM 2 */
DARAM3:O = 0.6万 l = 0x0.2万 /* 8kB双路存取RAM 3 */
DARAM4:O 44 = 0.8万 l = 0x0.2万 /* 8kB双路存取RAM 4 */
DARAM5:O = 0x00A 000 l = 0x0.2万 /* 8kB双存取RAM 5 */
DARAM6:O = 0x00C 000 l = 0x0.2万 /* 8kB双存取RAM 6 */
DARAM7:O = 0x00E 000 l = 0x0.2万 /* 8kB双存取RAM 7 */

SARAM0:O = 1万 l = 0x0.2万 /* 8kB单路存取RAM 0*/
SARAM1:O = 1.2万 l = 0x0.2万 /* 8kB单路访问RAM 1*/
SARAM2:O = 1.4万 l = 0x0.2万 /* 8kB单路存取RAM 2 */
SARAM3:O = 1.6万 l = 0x0.2万 /* 8kB单路存取RAM 3 */
SARAM4:O 44 = 1.8万 l = 0x0.2万 /* 8kB单路存取RAM 4 */
SARAM5:O = 0x01A 000 l = 0x0.2万 /* 8kB单路存取RAM 5 */
SARAM6:O = 0x01C 000 l = 0x0.2万 /* 8kB单存取RAM 6 */
SARAM7:O = 0x01E 000 l = 0x0.2万 /* 8kB单存取RAM 7 */
SARAM8:O = 2万 l = 0x0.2万 /* 8kB单存取RAM 8 */
SARAM9:O = 2.2万 l = 0x0.2万 /* 8kB单存取RAM 9 */
SARAM10:O = 2.4万 l = 0x0.2万 /* 8kB单存取RAM 10 */
SARAM11:O = 2.6万 l = 0x0.2万 /* 8kB单存取RAM 11 */
SARAM12:O = 2.8万 l = 0x0.2万 /* 8kB单存取RAM 12 */
SARAM13:O = 0x02A 000 l = 0x0.2万 /* 8kB单存取RAM 13 */
SARAM14:O = 0x02C 000 l = 0x0.2万 /* 8kB单存取RAM 14 */
SARAM15:O = 0x02E 000 l = 0x0.2万 /* 8kB单存取RAM 15 */
SARAM16:O 14= 3万 l = 0x0.2万 /* 8kB单存取RAM 16 */
SARAM17:O = 3.2万 l = 0x0.2万 /* 8kB单存取RAM 17 */
SARAM18:O = 3.4万 l = 0x0.2万 /* 8kB单存取RAM 18 */
SARAM19:O = 3.6万 l = 0x0.2万 /* 8kB单存取RAM 19 */
SARAM20:O 4X2 = 3.8万 l = 0x0.2万 /* 8kB单存取RAM 20 */
SARAM21:O = 0x03A 000 l = 0x0.2万 /* 8kB单存取RAM 21 */
SARAM22:O = 0x03C 000 l = 0x0.2万 /* 8kB单访问RAM 22 */
SARAM23:O = 0x03E 000 l = 0x0.2万 /* 8kB单存取RAM 23 */
SARAM24:O = 4万 l = 0x0.2万 /* 8kB单存取RAM 24 */
SARAM25:O = 4.2万 l = 0x0.2万 /* 8kB单存取RAM 25 */
SARAM26:O = 4.4万 l = 0x0.2万 /* 8kB单存取RAM 26 */
SARAM27:O = 4.6万 l = 0x0.2万 /* 8kB单路存取RAM 27 */
SARAM28:O = 4.8万 l = 0x0.2万 /* 8kB单路存取RAM 28 */
SARAM29:O = 0x04A 000 l = 0x0.2万 /* 8kB单路存取RAM 29 */
SARAM30:O = 0x04C 000 l = 0x0.2万 /* 8kB单存取RAM 30 */
SARAM31:O = 0x04E 000 l = 0x0.2万 /* 8kB单存取RAM 31 */

ROM: O = 0xNCSR= 0x01FF00 /* 128KB ROM (MPNMC=0)或0000 l 5 (MPNMC=1)*/
VECS:O = 00 l = 0x0.01万 /*重置矢量*/
}

章节
{
矢量(无负荷)> VECS /*如果MPNMC =1,则删除无负荷指令*/
cinit > DARAM0
	/*内存段任意分配到.text部分。 *//*
	可以扩展或减少SPRAA46的观测限制*/
文本 >> SARAM0|SARAM1|SARAM2|SARAM3|SARAM4
堆栈 > DARAM0
sysstack > DARAM0
sysmem > DARAM4
数据 > DARAM4
首席信息官 > DARAM0
BSS > DARAM5
。const > DARAM0
}

我尝试了这里描述的方法

这不奏效。

我知道我的目标配置/评估板/硬件工作正常,因为我可以调试类似的CCS7基于C的最小项目。

是否有人举例说明了最小的仅组装nop-loop样式程序? 我知道基于C的项目有很多示例...

这是如何工作的? 提前感谢!

Vinzent

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

    我解决了这个问题,CCS7假定“_main”为条目标签。

    因此

    	.sect	".text"
    	.global	_main
    
    _main:
    
    循环:
    无操作
    B环 

    工作。 现在可以执行调试/步进指令。

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