DSP/BIOS学习笔记——2.SWI
yanhc
软件环境CCS2.20.0 C6000
操作步骤:
1.Setup CCS里选择C64xx Cycle Accurate Sim
2.打开CCS,在Myprojects目录下,新建一个工程,名字为SWItest
3.新建File->New->DSP/BIOS Configuration,选择C64xx.CDB,使用这个作为模块
4.在DSP/BIOS图形配置界面上在Instrumentation中,在LOG下,右键Insert LOG,重命名为trace.
5.在DSP/BIOS图形配置界面上在Scheduling目录下,SWI选项下右键Insert SWI,新建SWI0,并设置如下:
functiono:_swiFXN0
priority:1
其余默认。
如此再新建SWI1,属性设置如下:
functiono:_swiFXN1
priority:2
5.保存DSP/BIOS配置文件为SWItest.CDB,保存在Myprojects/SWItest目录下。同时会自动生成
SWItestcfg.h, (在CBD中使用的模块的定义文件)
SWItestcfg.cmd,(CMD文件)
SWItestcfg.s62,(API调用汇编代码)
SWItestcfg_c.c,(CSL的初始化代码)
文件。
6.将SWItest.CDB添加到工程中,此时CCS会自动添加SWItestcfg.s62,SWItestcfg_c.c文件
7.执行Project->Scan all file dependencies命令,会在Include下自动添加包含的文件。
8.执行Project->Add file to project,将cmd文件添加进工程。
9.File->New->Source File,保存为main.c,在其中输入以下代码
10.执行Project->Add file to project,将main.c文件添加进工程。
11.Build工程
12.File->Load program,选择DSP/BIOS->Message Log,打开LOG的窗口,确定Log name为trace
13.Debug->Go Main
14.F10单步执行。可以看到在LOG窗口输出
0 SWItest started!
1 Main posts SWI0!
2 Main done!
3 swiFXN0 posts SWI1!
4 SWI1 done!
5 SWI0 done!
由LOG的输出可以看出,main()函数执行完成后,开始执行BIOS_start,才开始按优先级检测HWI,SWI,TSK的执行。