paradoxfx

【原创】TI C2833x介绍---外设寄存器的头文件(5)

0
阅读(2764)

 


在使用CCS调试的时候,为了方便的查看一些外设寄存器的内容,可以把定义外设所用的结构体、共用体或者它们的地址直接输入到watchwindow里面,此时可以在ccs展开结构体、共用体,直到看到相应的位;输入起来还是要花点时间的,因为watchwindow里面不像编辑器那样具有自动完成的功能,最快的方法是直接把寄存器、位的名字复制到watchwindow里面,或者在它们的名字上点击右键,然后选择“add to watchwindow”(在CCS升级使用Eclipse框架结构之后,操作方法有变化,近期待参透CCS5.1的详细用法之后再改进)。可以在TI提供给我们的2833x头的文件与外设包中找到“DSP2833x_Peripheral.gel”这个文件,可以用两种方式使用它,一个是在28335.gel文件里面加入下面的语句:GEL_LoadGel(“base_path/gel/DSP2833x_Peripheral.gel”)

或者是在CCS里面直接选择file--load gel文件,在load了.out文件到DSP中的RAM之后,就可以直接在CCS的菜单上点击相应的寄存器内容显示功能了。.gel文件用windows系统自带的记事本打开就可以了,内容是添加所有外设的菜单操作与观测。

//menuitem "Watch DSP2833x Peripheral Structures";                   

……

GEL_WatchAdd("AdcRegs");

……

至于头文件里面定义寄存器的方法、结构等,我认为一般情况下没有必要去深究,因为这些头文件是TI官方发布给我们的,与当前的器件版本中各个位的定义是一一对应的,并且有定期维护,不会因为使用现有的定义出现编译方面的问题;唯一需要注意的就是在器件修订版本升级或者外设头文件包升级的时候,要注意读一下修订说明,以避免意外赋值等现象的发生(虽然这种概率也是很小的)。我们的精力要放在自己的程序开发、调试上。为了更好的模块化编程,我们当然可以学习这种头文件、结构体的编程方式。如果你觉得使用起来不易理解、上手慢,我觉得有一个最罗嗦也是最有效的办法就是,直接复制了现有的头文件、C程序,改名之后根据我们自己的需要进行修改,照葫芦画瓢总是简单的多了,熟练了自然就可以更高效的直接编程了(这也与C语言的应试教育有一定的关系了,真实战的时候才发现这个也不熟练,那个也不熟练)。