Other Parts Discussed in Thread: EK-TM4C123GXL
Thread 中讨论的其他器件:EK-TM4C123GXL、
工具/软件:Code Composer Studio
我不熟悉 ARM Cortex M4处理器内核和 Code Composer Studio (CCS)。 我正在阅读一本书(ARM 微处理器系统:Cortex-M 架构、编程和接口、M. Tahir 著的1e)、了解汇编语言、并拥有 Tiva C 系列 LaunchPad 评估套件(EK-TM4C123GXL)。
我已经使用 SPMU-352文档(用于 Code Composer Studio 的 Tiva C 系列开发和评估套件)成功安装和设置了 CCS、此文档可从 TI 在线资源获得。 当我尝试用汇编语言编写代码时、会出现问题。
我正在尝试遵循书中的示例4.1:(第一个汇编程序。)。 下面给出了求和前五个偶数的完整汇编程序、可以对其进行编译和执行。 此‘s程序不需要‘tartup.s’文件。 本书示例的代码如下所示。
拇指 ;标记 Thumb 操作模式 STACKSIZE EQU 0x00000100;定义256字节 的堆栈大小区域堆栈、NOINIT、READWRITE、ALIGIN=3 MyStackMem 空间 STACKSIZE 区域复位、只读 导出__Vectors __Vectors DCD MyStackMem + STACKSIZE;空堆栈指针
DCD Reset_Handler ;复位矢量 区域 MYCODE,代码,只读 入口 导出 Reset_Handler Reset_Handler MOV R0,#0 ;总和 MOV R1的初始值,#2 ;第一个偶数 MOV R2,#5 ;循环迭代的计数 器 lbegin CBZ R2,lloin ;如果计数器为零,则终止循环
添加 R0、R1 ;生成 总和 ADD R1,#2 ;生成下一个偶数 子 R2,#1 ;减量 B lbegin 放贷 结束
我在 CCS 中创建了一个新的源文件(.asm)、并复制粘贴上述代码。 在构建源文件时、我会获得以下信息。 在 Build Console 中:
****为项目 Example_4_1****构建配置调试
"C:\\ti\\ccs1010\\ccs\\utils\\bin\\gmake"-k -j 4 example_4_1_TIF.obj -O
编译文件:"../example_4_1_TIF.asm"
调用:ARM 编译器
"c:/ti/ccs1010/ccs/tools/compiler/ti-cgt-arm_20.2.1.LTS/bin/armcl -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me --include_path="C:/Users/Shujat ini/workspace_v10/example_4_1"--include_path="C:/ti/ccs1010/ccs/tools/compiler/ti-cgt-arm_20.2.1.LTS/include --define=ccs"--defendence=part_tms_example_c4_example_texample_cabi=g-example_premoti_example_c4_example_-cif_abi_example-c=g_example_-cus_example_-cus_example_premote_page-cif_example_p_ag-cif_tr-cep-cif_example_ag-g_ag-ecrand_di_example_ag-ecurb.tr
12汇编错误、无汇编警告
>>编译失败
subdir_rules.mk:9:目标'example_4_1_TIF.obj'的配方失败
"../example_4_1_TIF.asm"、错误! 第1行:指定了[E0002]非法助记符
Thumb;标记 Thumb 操作模式
"../example_4_1_TIF.asm"、错误! 第2行:指定了[E0002]非法助记符
STACKSIZE EQU 0x00000100;定义256字节的堆栈大小
"../example_4_1_TIF.asm"、错误! 第4行:指定了[E0002]非法助记符
区域堆栈、NOINIT、READWRITE、ALIGN=3
"../example_4_1_TIF.asm"、错误! 第5行:指定了[E0002]非法助记符
MyStackMem 空间 STACKSIZE
"../example_4_1_TIF.asm"、错误! 第7行:指定了[E0002]非法助记符
区域重置、只读
"../example_4_1_TIF.asm"、错误! 第8行:指定了[E0002]非法助记符
导出__Vectors
"../example_4_1_TIF.asm"、错误! 第10行:指定了[E0002]非法助记符
DCD MyStackMem + STACKSIZE;空堆栈的堆栈指针
"../example_4_1_TIF.asm"、错误! 第11行:指定了[E0002]非法助记符
DCD Reset_Handler;复位矢量
"../example_4_1_TIF.asm"、错误! 第12行:指定了[E0002]非法助记符
区域 MYCODE、代码、只读
"../example_4_1_TIF.asm"、错误! 第13行:指定了[E0002]非法助记符
条目
"../example_4_1_TIF.asm"、错误! 第14行:指定了[E0002]非法助记符
导出 Reset_Handler
"../example_4_1_TIF.asm"、错误! 第27行:指定了[E0002]非法助记符
结束
源代码中的错误-汇编器已中止
gmake:***[example_4_1_TIF.obj]错误1.
****构建完成****
如您所见、我多次收到"[E0002]非法助记符指定"错误。 还有一些汇编语言助记符(DCD、区域、入口、出口、空间、 拇指等)未突出显示(不同的字体、颜色、样式)为 MOV、ADD、SUB、 b 确实如此。
请帮助我解决上述问题。 谢谢你。