zoukankan      html  css  js  c++  java
  • 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宏.

  • 相关阅读:
    静态资源分析 ------ CocosCreator
    性能分析 ------ CPU运行卡点
    神犇的blog
    0x01-1 原码 反码 补码 概念 原理 详解
    埃拉托色尼素数筛法(转)
    Miller-Rabin概率素数测试算法(转)
    欧拉函数(转)
    中国剩余定理(孙子定理)详解 (转)
    负数取模(转)
    HDU1430 BFS + 打表 + 康托展开(转)
  • 原文地址:https://www.cnblogs.com/qiuhong/p/2677903.html
Copyright © 2011-2022 走看看