我在c674x裸机上编写并优化了一个图像处理算法程序,获得了640×480图像27fps的处理速度,不涉及任何外设操作。但由于DSP的很多应用案例似乎都是要有系统bios的,那么我的问题如下:
1.裸机上的处理速度能否代表bios上相同程序的处理速度?即如果在C674x上搭建个bios系统,然后处理我的算法,还能否达到640×480图像27fps的处理速度?
2. 裸机上的处理是否与bios上只调度单个任务的情况相当?
Tony Tang:
你想加bios,是要加其它应用吗?那么取决于其它应用要占多少时间,BIOS本身只起到任务调度管理的作用,任务切换的时间可以参考BIOS安装目录下的文档:
C:/ti/bios_6_45_00_19/docs/Bios_User_Guide.pdf
C:/ti/bios_6_45_00_19/packages/ti/sysbios/benchmarks/doc-files/C674_times.html
C674 Timing Benchmarks
ti.platforms.evmOMAPL138 (compiler version: 7.4.6)Benchmark
Cycles
(1)Interrupt Latency
181Hwi_restore()
2Hwi_disable()
3Hwi dispatcher prolog
115Hwi dispatcher epilog
124Hwi dispatcher
233Hardware Interrupt to Blocked Task
417Hardware Interrupt to Software Interrupt
269Swi_enable()
61Swi_disable()
13Post Software Interrupt Again
41Post Software Interrupt without Context Switch
72Post Software Interrupt with Context Switch
145Create a New Task without Context Switch
1396Set a Task Priority without a Context Switch
139Task_yield()
183Post Semaphore, No Waiting Task
50Post Semaphore No Task Switch
173Post Semaphore with Task Switch
220Pend on Semaphore, No Context Switch
45Pend on Semaphore with Task Switch
230Clock_getTicks()
13