文档介绍:使用串口对 DSP 进行应用可编程的方法摘要本文介绍了一种通过串口对 DSP 进行应用可编程的方法, 该方法简单易操作, 文中给出了具体的实现方法。关键词 DSP ; IAP ;串口 1 引言通过串口总线可以对 TMS320LF2407A FLASH 进行编程。串口编程可以对 DSP 系统编程,同时本文给出了一种可编程的应用方法。该 DSP 拥有一个片内串口,可以通过一个外部的电平转换器件与标准 RS232 器件通讯。该串口不仅仅用于编程,在编程结束后可以配置成标准的串口使用。 Bootloader 是一个让用户方便对片内 FLASH 或 RAM 进行重新编程升级的工具。 Bootloa der 本身不包含某些编程算法,嵌入在片内的 Bootloader 只具有一些基本的代码下载指令, 并在片内 RAM 运行。 Bootloader 一般都提供一些编程片内程序存储器的 ISP 和 IAP 的接口。 ISP(In-System Programming) :使用片内的 Bootloader 软件和通讯接口,对片内存储器进行编程和重编程。 IAP(In Application Programming) : IAP 对片内存储器执行擦除和写操作, 可以由用户代码来执行。 2 工作过程 DSP 初始化上电以后,程序首先从地址 0x0000 开始执行,然后立即跳转到 bootloade 程序。.sect "vectors" RESET :B _bootloader ; 地址 0x0000 …….. _bootloader : Bootloade 首先对串口进行配置, 8 位数据位,一位停止位,无校验位,建立与计算机的通讯。在此过程中, 计算机始终向 DSP 发送检测字符, 0x0D. Bootloade 一直通过串口监听计算机通讯,如果连续接受到三个字符与 0X0D 不相符合,则改为下一个波特率进行监听。当波特率匹配成功后, Bootloade 就准备接收 9 个相同的字符。一旦 9 个字符接收成功后,B ootloade 将发送一个应答信号 0XAA , 表示通讯建立, 从此开始, Bootloade 接收到的每一个字符都将发送给计算机,以验证通讯是否正确。图1是 Bootloade 工作流程图。图1 Bootloade 工作流程 内核传输内核通过通讯接口, 以字节为单位进行传输。首先发送的是低字节, 后面是高字节。数据包格式计算机发送: ①启动地址:一个字(16 bits) ,每次传输一个字节,低字节优先。②数据包容量( 要传输的字的数目) :一个字(16 bits) ,每次传输一个字节,低字节优先。③内核代码:每次传输一个字节,低字节优先。一旦内核传输到 Ram ,内核会发送状态字节来表示初始化的状态。 0X0 表示发送成功, 其它内容表示发送失败, 计算机会终止传输。 内核操作内核只要成功传输, 则内核程序将接管控制功能。对于 TMS320LF2407A , 内核程序算法必须满足以下要求: ①内核必须小于 0X100 字, 并且必须在程序空间 0Xfe00-0Xfeff 安装和执行, 程序起始点必须是 0Xfe00 。②内核必须返回程序的状态。③内核程序必须能够将控制功能返回,不会破坏程序使用的变量。④内核等待擦除,置 1 和编程