DSP/BIOS用户手册与驱动开发阅读笔记1

1. BIOS 分析工具在空闲任分析务中完成,因此DSP太忙时,分析工具可能暂停工作.

2. API函数调用有约束条件.

3. 建议用图形配置工具(相对tcf文件编辑)设置BIOS对象的属性,因为配置工具提供了校验错误的功能.

4. 用户的函数,变量命名应回避BIOS中已有的模块名字.

5. std.h文件应包含在其他头文件前面.

6. 用户应用程序中不应调用以MOD_F开头的内建函数,这些函数被保留由系统内部使用.

7. 配置工具会自动生成一个头文件<program>cfg.h的文件,包含了已创建的BIOS对象的声明.
配置工具自动生成的文件需要加入到项目中去.

8. C6000的小模式与大模式(注意:不是大\小端):
用户若使用小模式,则需要确保全局数据位于.bss段的起始32K字节内. 为了消除这种隐患,可使用以下方法:用far 关键字声明对象.

9. 自动生成的cmd文件和自定义的cmd文件似乎可以共存?


10. 并非所有BIOS模块的对象可以动态创建.

11. 链接项-x:强迫链接器重新读取库文件(链接时某些库函数没有包含进来时有用)

12. 由于printf函数会影响RTDX和实时分析工具功能,因此应用LOG_printf代替printf功能.

13. BIOS库和运行支持库都包含了 malloc\free函数,建议使用BIOS库中的.

14. 某些BIOS API函数不能在main函数中调用(重要),API手册中有说明.

15. LOG对象:其缓存区大小有限,有固定和循环2种工作模式.
LOG_event和 LOG_printf执行时,中断都是被禁止的.主机是采用轮询方式读取target上的log数据的,并清零.用户可以设置主机轮询的频率.如
果log缓存区不够大或轮询频率不够高,可能会丢失某些LOG信息,这时用户就会看到LOG的编号有间隔了.

16. TRC模块可以控制LOG\STS模块的使能或关闭,比如收到软件中断时使能LOG\STS.

17. 对HWI的隐式监测:比如可以硬件中断的开始检查栈是否溢出,最大堆栈深度等.

内核对象观察窗口的数据不会在运行中通过BIOS空闲循环发送到主机中,而只在目标DSP暂停时才更新.
在CCS中
使用手动刷新实际也是在短时间内停止目标DSP来进行数据的更新,因此影响了DSP的实时运行.

18. 目标DSP运行遇到断点也会更新数据.

19. BIOS支持线程调试功能,实际上有什么用处呢?

20. HWI函数应在2~100US内完成.

21. 所有SWI使用同一堆栈,而每个TASK则有自己的堆栈.

22. TSK可以被阻塞,而SWI不可以.

23. 硬件中断一直运行到结束,在此过程中可以被抢占,抢占玩继续执行完.如果一个硬件中断在其ISR函数得到运行机会之前被多次触发,该ISR
也只运行一次.

24. HWI调度程序是处理中断的首选方式.
25. HWI_enter\HWI_exit宏的作用: 环境保护和中断禁止.HWI调度程序时只允许一对HWI_enter\HWI_exit宏.

posted on 2012-09-09 21:15  sunfoot  阅读(775)  评论(0编辑  收藏  举报

导航