最近完成了DSP平台上行人识别程序的框架设计与实现,这里总结一下开发过程中遇到的问题及解决方案:

1. BIOS配置文件修改生效问题

CCS3.3编译程序的方式有increase build和build all两种方式,通常情况下如果只有改了某个文件,可以选择increase build来提高算法的编译速度。但是如果修改了配置文件,则一定要选择build all,否则修改无法生效。

2. 周期函数、软中断的配置问题

在BIOS中配置周期函数和软中断的时候,要注意中断配置的名称和它调用的方法不能同名,如果同名的话会导致配置失效。

3. 不同中断函数之间变量共享方式

多个中断函数需要共享某些变量时,可以使用闭包的方式,避免全局变量的使用。即将这几个函数定义在一个.c文件中,使用static修饰共享的变量。

4. 模块复用性提高

上面闭包的方式可以使多个软中断函数共享变量,但是这种设计会降低模块的复用程度,比如相同的检测模块调用多次完成对不同尺度下图像的检测。这时可以使用结构体存储模块的配置参数,每次调用模块中方法使将配置结构体传回,实现对模块的复用。

5. 对内部函数与变量的保护

为了防止外部调用不应该调用的函数,可以定义两个头文件,头文件1声明外部调用需要使用的结构体和函数,头文件2定义内部使用的函数,公开模块时只公开头文件1即可。