zoukankan      html  css  js  c++  java
  • CSL概述(翻译总结自TI官方文档)

    一、简单介绍

      CSL是函数,宏和符号常数的集合,用来控制和配置片上外设。(Chip Support Library)

      每一个外设都有自己对应的CSL模块。每个模块有自己的支持符,来表示对于给定的设备,该模块是否被支持。比如若当前的设备支持DMA模块,则_DMA_SUPPORT为1,否则为0。表1-1为各CSL模块的介绍、头文件、模块支持符。

     

      表1-2为CSL支持的C5000系列的设备、每个设备对应的库文件(分小存储模式和大存储模式)和每个设备的设备支持符(在CCS中设置编译选项时使用)。

     

    二、命名规则

    CSL中函数、宏和数据类型的命名规则如表1-3所示。

    三、数据类型

    CSL的数据类型定义于stdinc.h文件中,如表1-4所示。数据类型均以大写字母开头。

     

    四、函数

    CSL中常用的函数如表1-5所示。[handle]只用于基于句柄的外设:DAT,DMA,MCBSP和TIMER。[priority]只用于DAT外设。

     

    使用CSL函数对外设进行编程有两种方法:

    1.PER_config() 函数。直接对寄存器初始化。

    初始化一个外设的所有寄存器。如例1-1所示。

     

    2.PER_setup() 函数。使用函数参数进行初始化。PER_setup()是基于参数的函数中最常用的,其他特定模块中的此类函数有PLL_setFreq()和ADC_setFreq()等。

     

    五、CSL中的宏

    PER:外设

    REG:寄存器

    REG#:带通道号的寄存器

    FIELD:字段

    regval:寄存器的值[整数,整型变量,符号常数PER_REG_DEFAULT,宏值PER_REG_RMK()](MK表示make)

    fieldval:字段的值[整数,整型变量,符号常数PER_REG_FIELD_SYMVAL,宏值PER_FMK()]

     

    上表中使用REG#来标识该寄存器属于哪一个通道。除此之外,还可以使用句柄来标识。如表1-7所示。

     

    六、CSL中符号化的常数

    功能:便于在程序中数值的初始化

    SYMVAL:寄存器字段的符号化的值。

     

    七、CSL中句柄的使用

      句柄用于多通道的外设中。

      PER_open 函数以通道号或者端口号作为形参,返回一个指向句柄的指针。首先检查in_use标志位,当该通道或者端口可用时,返回该外设预定义的句柄,否则返回的是无效句柄INV(符号化的常数)。

      PER_close 函数释放该通道或者端口以供其他进程使用,并清零in_use标志位。

    步骤:

    1.首先定义一个句柄对象:DMA_Handle = myDma;

    2.通过调用PER_open函数给句柄赋值:

    myDma = DMA_open(DMA_CHA0,DMA_OPEN_RESET);

    3.然后此句柄可以用于其他的API函数中:

    DMA_start(myDma);

    ...

    DMA_close(myDma);

  • 相关阅读:
    Python【第四章】:socket
    vb与C#的区别,片段记录
    使用XUACompatible来设置IE浏览器兼容模式
    notepad++ 的golang语法高亮
    ReSharper 配置及用法(转)
    宽度可变的Table
    JS禁止选中文本方法【转】
    只借助HTML分别禁用IE8, IE9的兼容视图模式(Compatibility View)
    测试浏览器对js版本的支持
    写有效率的SQL查询(II)(转载)
  • 原文地址:https://www.cnblogs.com/Camilo/p/3484504.html
Copyright © 2011-2022 走看看