分享

TMS320VC5502学习之CSL_init()

 tmmdh_zz 2015-05-29

    刚接触TMS320VC5502遇到的第一个函数就是CSL_init(),为了弄明白它,我查阅了TMS320VC5502的Datasheet,下面是学习笔记:

    DSP的CSL(Chip Support Library)提供了配置和控制片上外设的C语言API函数。这使DSP的开发效率得到很大的提升。但是,在使用CSL提供的API函数之前需要注意两件事

第一件事是:必须分配一个名叫.csldata的段

    编译时,编译器会将CSL的API函数所用到的用于配置和控制的数据保存在名叫.csldata的数据段里,并且要求该段必须在数据空间的前64K地址空间内。(注:DSP的数据空间和程序空间有自己独立的寻址空间)

所以在CMD文件里会发现有下面这句话:

    .csldata > DATA

第二件事是:必须将地址0x7b保留在内存里,不要使用

    由于内存配置会不一样,所以分配的.csldata段的首地址也会不一样,为了便于CSL访问.csldata段,CSL会默认在地址为0x7b这个地方获取.csldata段的首地址,即自动将0x7b视为指向.csldata段的指针。那么就需要初始化该指针,函数void CSL_init(void);的作用就是将.csldata的地址保存到0x7b这里。所以在所用调用的CSL函数的最前面需要调用CSL_init,并且任何视图改变地址为0x7b里面的值的操作都将导致CSL函数出现错误,这是很明显的。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多