TMS320C6657 DSP开发版使用说明
通过JTAG下载应用
- 将USB连接到开发板,将拨码开关置于NO BOOT模式,如下所示:
SW3(off, on, on, on, on, on, on, on),
SW5(on, on, on, on, on, on, on, on),
板子上电
- 创建新的Target Configuration, 然后点击工具栏里面File->New 然后选择 Target Configuration File
- 输入文件名字evmc6657l_xds200v1.ccxml,然后点击finish按键
- 选择仿真器连接类型和选用的芯片类型如图所示
- 点击工具栏里面View->Target configurations,可以看到创建的文件evmc6657l_xds200v1.ccxml在”User Defined”文件夹下
- 右键点击”User Defined”下的文件evmc6657l_xds200v1.ccxml,选择Launch Selected Configuration。这将打开调试窗口
- 右键点击core0,如下所示
选择 Connect Target 将把仿真器和CPU连接起来。
- 也可以通过直接点击工具栏下面的 这个按键直接进入DEBUG模式,然后重复步骤7将CPU与仿真器连接。
加载GEL文件
- 选择需要加载GEL文件的内核,然后点击工具栏中的Tools->GEL Files,将弹出GEL文件窗口
- 右键点击第一行,弹出如下窗口选择Load GEL
- Browse & Open the GEL file,其中GEL的路径如下所示
ti\ccsv5\ccs_base\emulation\boards\evmc6657l\gel
- 右键点击CORE0,选择 Disconnect Target,然后再右键点击CORE0,选择Connect Target,此时GEL文件加载到CPU。
创建工程实现跑马灯的程序
- 在CCS里面创建新的工程
打开工具栏里面File->New->CCS Project将工程名字命名为led
将工程配置成如下所示:
当点击finish按键创建工程完成,会打开空的工程名字为led
- 添加应用代码
选择File->New->Source File,输入文件名led.c, 点击 Finish.
将打开 led.c 空文件,将如下代码粘贴进去:
/*
* led.c
*
* Created on: 2013-9-3
* Author: Administrator
*/
#include <cerrno>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include “ti\platform\platform.h”
#include “ti\platform\resource_mgr.h”
/* OSAL functions for Platform Library */
uint8_t *Osal_platformMalloc (uint32_t num_bytes, uint32_t alignment)
{
return malloc(num_bytes);
}
void Osal_platformFree (uint8_t *dataPtr, uint32_t num_bytes)
{
/* Free up the memory */
if (dataPtr)
{
free(dataPtr);
}
}
void Osal_platformSpiCsEnter(void)
{
/* Get the hardware semaphore.
*
* Acquire Multi core CPPI synchronization lock
*/
while ((CSL_semAcquireDirect (PLATFORM_SPI_HW_SEM)) == 0);
return;
}
void Osal_platformSpiCsExit (void)
{
/* Release the hardware semaphore
*
* Release multi-core lock.
*/
CSL_semReleaseSemaphore (PLATFORM_SPI_HW_SEM);
return;
}
void main(void) {
platform_init_flags init_flags;
platform_init_config init_config;
platform_info p_info;
uint32_t led_no = 0;
char message[] = “\r\nHello World…..\r\n”;
uint32_t length = strlen((char *)message);
uint32_t i;
/* Initialize platform with default values */
memset(&init_flags, 0x01, sizeof(platform_init_flags));
memset(&init_config, 0, sizeof(platform_init_config));
if (platform_init(&init_flags, &init_config) != Platform_EOK) {
return;
}
platform_uart_init();
platform_uart_set_baudrate(115200);
platform_get_info(&p_info);
/* Write to the UART */
for (i = 0; i < length; i++) {
if (platform_uart_write(message[i]) != Platform_EOK) {
return;
}
}
/* Play forever */
while(1) {
platform_led(led_no, PLATFORM_LED_ON, PLATFORM_USER_LED_CLASS);
platform_delay(30000);
platform_led(led_no, PLATFORM_LED_OFF, PLATFORM_USER_LED_CLASS);
led_no = (++led_no) % p_info.led[PLATFORM_USER_LED_CLASS].count;
}
}
- 创建cmd文件
选择工具栏里面File->New->File from Template,输入文件名led.cmd 然后点击 Finish.
将打开led.cmd文件编辑器,粘贴如下代码:
-c -heap 0x41000 -stack 0xa000
/* Memory Map */ MEMORY {
L1PSRAM (RWX) : org = 0x0E00000, len = 0x7FFF
L1DSRAM (RWX) : org = 0x0F00000, len = 0x7FFF
L2SRAM (RWX) : org = 0x0800000, len = 0x080000
MSMCSRAM (RWX) : org = 0xc000000, len = 0x200000
DDR3 (RWX) : org = 0x80000000,len = 0x10000000
}
SECTIONS {
.csl_vect > MSMCSRAM
.text > MSMCSRAM
GROUP (NEAR_DP)
{
.neardata
.rodata
.bss
} load > MSMCSRAM
.stack > MSMCSRAM
.cinit > MSMCSRAM
.cio > MSMCSRAM
.const > MSMCSRAM
.data > MSMCSRAM
.switch > MSMCSRAM
.sysmem > MSMCSRAM
.far > MSMCSRAM
.testMem > MSMCSRAM
.fardata > MSMCSRAM
platform_lib > MSMCSRAM
}
分配文件内存及地址
- 设置文件lib路径。
点击工具栏Project->Properties
进行如下配置及添加路径
- 按照步骤一将仿真器和CPU连接起来,再点击工具栏Run->Load->Load Program
在弹出的对话框中点击Browse Project,将需要加载的.OUT工程文件下载到开发板。
然后点击 运行程序。
通过NOR BOOT启动DSP
通过NOR BOOT启动DSP主要分为两阶段:第一阶段通过外扩EEPROM进行程序引导,EEPROM中包含系统的初始化代码以及引导进入NORFLASH代码;第二阶段系统从NOR FLASH中启动执行程序代码。
- EEPROM引导代码烧写:
1.首先确认系统处NO BOOT模式
2. 将MCSDK中的二进制文件i2crom_0x51_c6657_le.bin拷入到如下路径下\ti\mcsdk_2_01_02_06\tools\writer\eeprom\evmc6657l\bin
3. 修改\ti\mcsdk_2_01_02_06\tools\writer\eeprom\evmc6657l\bin\eepromwriter_input
成如下所示:
file_name = i2crom_0x51_c6657_le.bin
bus_addr = 0x51
start_addr = 0
swap_data = 0
- 打开CCS,将目标板连接上CORE0
- 将GEL文件加载到开发板上,并将\ti\mcsdk_2_01_02_06\tools\writer\eeprom\evmc6657l\bin\eepromwriter_evm6657l.out通过仿真器烧写到开发板上
- 打开MEMORY VIEW ,点击工具栏中的view-Memory Browser观察地址0x0C0000000
- 将文件i2crom_0x51_c6657_le.bin烧写到EEPROM里面
右键点击memory window, 选择 “load memory”.
浏览并选择文件:i2crom_0x51_c6657_le.bin
改变Start Address “0x0C000000″,点击finish按键完成烧写
- 将文件i2crom_0x51_c6657_le.bin烧写到EEPROM里面,在CCS里面点击全速运行。当烧写成功会提示:
“EEPROM programming completed successfully”
- NOR flash应用程序烧写:
1. 首先确认系统处NO BOOT模式
2.将之前创立的led.out修改为二进制文件app.bin拷入到如下路径下\ti\mcsdk_2_01_02_06\tools\writer\nor\evmc6657l\bin
3. 打开CCS,将目标板连接上CORE0
4. 将GEL文件加载到开发板上,并将\ti\mcsdk_2_01_02_06\tools\writer\nor\evmc6657l\bin\norwriter_evm6657l.out通过仿真器烧写到开发板上
- 打开MEMORY VIEW ,点击工具栏中的view-Memory Browser观察地址0x800000000
- 将文件app.bin烧写到NorFlash里面
右键点击memory window, 选择 “load memory”.
浏览并选择文件:app.bin
改变Start Address “0x80000000″,点击finish按键完成烧写
- 将文件app.bin烧写到NorFlash里面,在CCS里面点击全速运行。当烧写成功会提示: “NOR programming completed successfully”
- NOR BOOT启动:
断电将拨码开关置于如下所示:
SW3(off, off, on, off, on, on, on, on),
SW5(on, on, on, off, on, on, on, on),
此时当再上电时,系统将从NOR BOOT里面启动
转载请注明:悠瞅の博客 » TMS320C6657 DSP开发版使用说明