zoukankan      html  css  js  c++  java
  • 用CCS开发DSP应用程序的代码结构、加电装载及在线编程

    1、DSP应用程序代码结构,有三种:
    ○ 纯汇编;
    ○ 纯C语言;
    ○ 汇编+C语言。
    这三种结构还可插入带CSL 或不带CSL的DSP/BIOS API。为了加快应用程序的开发,现在的DSP程序一般都采用:汇编+C语言+带CSL的API。其中,汇编代码用于特殊要求,如Flash编程及对速度 要求很高的关键部分;C语言则是整个应用程序主框架,但主要是运算处理部分;而与硬件打交道的工作全部由CSL API来完成。
    DSP应用程序工程模式有两种:调式仿真(debug)模式与应用发布(release)模式。
    ○ 仿真模式用于开发调式阶段,使用仿真器通过JTAG口从PC机中下载到DSP片内RAM中运行,可设置断点进行调式,由于是存放在RAM中,因此断电后程序会丢失;
    ○ 应用程序完全调式通过后,必须写入外部Flash中,断电后不再丢失。加电后,由引导程序装入DSP片内RAM运行,这就是产品生产阶段的发布模式。
    很明显,发布模式的DSP应用程序工程(发布工程)比仿真调式阶段的应用程序工程(仿真工程)要复杂些,发布工程除应用程序本身外,还要增加如下处理:
    ○ 自带的二次引导程序(当应用程序大于1KB时);
    ○ Flash在线编程代码;
    ○ COFF格式文件到Flash用的二进制格式文件(BIN)转换。
    此外,“发布工程”的DSP/BIOS配置文件及连接地址分配文件也要比“仿真工程”复杂,好在它们可以用CCS自带的配置工具通过对话方式来设置生成。

    2、DSP应用程序加电装载(Bootload)过程
    DSP加电复位后,应用程序从外部Flash装入DSP片内RAM中运行,这个过程称为“加电装载”或“引导装载”(Bootload),其流程如下:
    DSP加电复位

    DSP内置的引导程序将外部Flash前1KB(Flash-boot区)
    的二次引导程序装入DSP片内RAM运行

    二次引导程序开始运行

    二次引导程序将外部Flash地址在1KB以上的程序/数据区
    (Flash-rest区)装入DSP片内RAM,其中程序部分放入
    片内程序存储器,从0地址开始存放;数据部分放入片内
    数据存储器的指定区域。装完后跳转到应用程序入口。

    应用程序开始运行
    要注意一点的是,DSP应用程序可配置为好几种装载(Boot)方式,如外部存储器(Flash、EEPROM等)、PCI、HPI、XBUS等,其中以外部Flash最常用。

    3、DSP应用程序在线编程
    DSP应用程序发布后,一般是存放在目标板的Flash中,要将应用程序写入Flash,最容易想到的方法是使 用通用编程器,但这要求Flash是可拆卸的,而且最好是DIP 封装的,如果是表贴且焊死在目标板上的,就只有使用在线编程方法了。与一般的MCU在线编程(ISP)不同,TI公司并没有提供工具来完成这一工作,只有 用户自己编程来实现。通常有两种方法可以使用:
    ○ 根据所使用的Flash型号,设计一个专用DSP程序,该程序用仿真器下载至DSP片内RAM运行,然后由它将应用程序目标代码文件写入Flash中。
    ○ 如果目标板上有USB接口,可以在应用程序中插入一段专门写Flash的代码,在应用程序运行中,由PC机通过USB口将待更新的应用程序传至DSP片内未用RAM区,再由应用程序中的专用程序将其写入Flash覆盖原来的老程序,加电复位后装载运行的就是新程序了。

  • 相关阅读:
    吴恩达机器学习16:多变量线性回归(特征值以及多项式回归)
    吴恩达机器学习15:多变量线性回归(梯度下降运算中的实用技巧)
    吴恩达机器学习14:梯度下降以及平方差代价函数
    吴恩达机器学习13:多变量线性回归(使用梯度下降来求解多变量)
    吴恩达机器学习11:线性回归和多变量
    用通俗易懂的大白话讲解Map/Reduce原理
    漫画揭秘Hadoop MapReduce | 轻松理解大数据
    Pom.xml详解
    maven详细配置
    配置hadoop-eclipse-plugin(版本hadoop2.7.3):
  • 原文地址:https://www.cnblogs.com/erizen/p/1861943.html
Copyright © 2011-2022 走看看