Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите пожалуйста!
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
alek478
Пытаюсь запрограамировать tms320lf2406a
программа(замечательно работавшая на ezDsp), скомпилированная на CCS 3.1, прошивается во флэш.

.cmd файл выглядит следующим образом:
-stack 0x400

MEMORY
{
PAGE 0: VECS: origin = 0000h, length = 0040h
PROG: origin = 1000h, length = 7000h

PAGE 1: B0B1: origin = 0200h, length = 200h
SARAM: origin = 8000h, length = 800h
}

SECTIONS
{
vectors : { } > VECS PAGE = 0

.cinit : { } > PROG PAGE = 0
.text : { } > PROG PAGE = 0
.const : { } > PROG PAGE = 0

.data : { } > B0B1 PAGE 1
.bss : { } > B0B1 PAGE 1
.stack : { } > SARAM PAGE 1
.sysmem : { } > B0B1 PAGE 1
}

в свойствах проекта автоинициализация памяти под RAM (т.е. опция -сr)
при прошивке все замечательно
но реакции никакой,там дисплей подсоединенsmile.gif
путем измеренний выяснили, что если инициализировать через _с_int0, то постоянно срабатывает WD.Если сразу после RESET точкой входа объявлять main(), не _с_int0, то вроде работает все нормально, но не получается стэк инициализаровать, а без него все очень объемно получается.

вставил в проект BOOT.asm из все того же ezDsp, все равно никакого результата.

После того как в ССS, посмотрел код в режиме дизассемблирования, то выяснил следующее:

после RESET, бит ILLADR в SCSR1 сразу оказывается в 1.

а после строк в _с_int0 (BOOT.asm)

LDP #0E0h
SPLK #0068h,WD_CNTL
KICK_DOG

значение регистра WDCR становится равным 0х0040.

все тоже самое и еще на 4 процессорах.

и еще выяснил, что NMI срабатывает в конце куска
;
; Perform the copy of data from program to data
;
copy:
ADDK 1 ; increment pointer to data
TBLR *+,AR3 ; copy data from program to variable
BANZ copy,*-,AR2 ; until count is zero

в стандартном BOOT.asm

Это какая-то ошибка в алгоритме прошивки программы?
chan
Если еще интересно могу скинуть проект для этого камня
=GM=
Цитата(alek478 @ Nov 3 2006, 02:41) *
Пытаюсь запрограммировать tms320lf2406a
программа(замечательно работавшая на ezDsp), скомпилированная на CCS 3.1, прошивается во флэш.

в свойствах проекта автоинициализация памяти под RAM (т.е. опция -сr)
при прошивке все замечательно
но реакции никакой,там дисплей подсоединенsmile.gif
Это какая-то ошибка в алгоритме прошивки программы?

Не видно, как вы выставляете стартовый адрес своей программы. Посмотрите после прошивки, куда переходит программа (адрес 0х0000), на 0х0040 (userstart) или 0х3F00(bootloader)?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.