Скачиваний:
57
Добавлен:
21.03.2016
Размер:
1.66 Mб
Скачать

Модуль 13 : Загрузочное ПЗУ C28x

Цифровой сигнальный контроллер TMS320F2812

Texas Instruments Incorporated

Карта памяти TMS320F2812

 

 

Данных | Программ

 

 

Данных ||Программ

0x00 0000

|

 

 

 

 

 

 

MO SARAM (1K)

 

 

 

0x00 0400

 

M1 SARAM (1K)

 

 

зарезервировано

0x00 0800

 

PF 0 (2K)

зарезерв.

 

 

0x00 0D00

 

PIE вектор

зарезерв.

 

 

 

 

 

(256)

 

 

 

 

 

ENPIE=1

 

 

 

 

 

 

 

 

 

 

 

XINT Зона 0 (8K)

0x00 1000

 

зарезервировано

 

 

 

 

 

XINT Зона 1 (8K)

0x00 6000

 

PF 2 (4K)

зарезерв.

 

 

0x00 7000

 

PF 1 (4K)

зарезерв.

 

 

зарезервировано

0x00 8000

 

LO SARAM (4K)

 

 

0x00 9000

 

 

(

)

 

 

 

 

L1 SARAM (4K)

 

 

 

 

 

 

XINT Зона 2 (0.5M)

0x00 A000

 

 

(

)

 

 

 

зарезервировано

 

 

 

 

 

 

XINT Зона 6 (0.5M)

0x3D 7800

 

OTP (1K)

 

 

 

 

 

 

 

 

0x3D 7C00

 

(

)

 

 

 

 

 

зарезервировано

 

 

 

0x3D 8000

 

FLASH (128K)

 

 

 

 

 

(

 

)

 

 

зарезервировано

0x3F 8000

 

128--битный пароль

 

 

 

HO SARAM (8K)

 

 

 

0x3F A000

 

зарезервировано

 

 

 

0x3F F000

 

Загруз. ПЗУ(4K)

 

 

XINT Зона 7 (16K)

 

 

MP/MC=0

 

 

 

MP/MC=1

0x3F FFC0

 

Табл. векторов ПЗУ(32)

 

 

XINT вектор-ОЗУ(32)

 

 

MP/MC=0 ENPIE=0

 

 

MP/MC=1 ENPIE=0

0x00 2000

0x00 4000

0x08 0000

0x10 0000

0x18 0000

0x3F C000

CSM::LO,,L1OTP,,FLASH

13 - 2

Сброс – Первоначальный загрузчик

 

 

 

 

XMPNMC=1

Сброс

 

 

(режим микропроцессора)

 

 

 

Вектор сброса

 

OBJMODE=0

AMODE=0

 

 

из XINTF зона 7

 

 

 

 

ENPIE=0

VMAP=1

 

 

0x3F FFC0

 

M0M1MAP=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XMPNMC=0

 

 

 

 

(режим микрокомпьютера)

 

 

 

 

 

Вектор сброса

 

 

Загрузка определяется

 

 

из загрузочного ПЗУ

 

 

по состоянию

 

 

 

 

 

 

0x3F FFC0

 

 

выводов GPIO

 

 

 

 

 

 

 

Замечания::

 

 

 

 

F2810 XMPNMC связан в устройстве с

Точка входа

Процедуры

 

исполнения

загрузки

 

низким уровнем

 

XMPNMC соотносится с входным сигналом

FLASH

SPI

 

MP/MC – бит статуса из регистра

H0 SARAM

SCI-A

 

 

 

/

 

 

 

 

 

XINTFCNF2

OTP

Параллел.

 

 

I

 

 

 

 

XMPNMC используется только после

 

 

 

 

 

 

сброса

 

13 - 3

 

 

 

 

 

 

Опции загрузчика

выводы GPIO

 

 

 

 

F4

F12

F3

F2

 

 

 

 

 

 

 

 

 

 

 

1

x

x

x

переход в FLASH по адресу 0x3F 7FF6

*

 

0

0

1

0

переход в H0 SARAM по адресу 0x3F 8000

*

 

0

0

0

1

переход в OTP по адресу 0x3D 7800

*

 

 

 

 

 

 

0

1

x

x загрузка кода с внешней EEPROM в память через SPI пор

0

0

1

1

загрузка кода в память через SCI-A порт

 

 

0

0

0

0

загрузка кода в память через GPIO port B (параллельно)

 

 

 

 

 

 

 

 

*Программа загрузки из ПЗУ конфигурирует устройство

врежим C28x перед переходом

13 - 4

Последовательность выполнения

кода после сброса

0x3D 7800

 

 

 

 

 

OTP (2K)

 

 

 

 

0x3D 8000

 

 

 

 

 

 

 

 

 

FLASH (128K)

 

 

 

 

0x3F 8000

 

0x3F 7FF6

 

 

H0 SARAM (8K)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Переход на точку,

 

 

0x3F F000 Загруз. ПЗУ (4K)

 

 

 

 

 

определенную

 

 

 

 

 

Код загрузчика

 

 

 

выводами GPIO

 

 

 

 

 

 

 

 

 

0x3F FC00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0x3F FFC0

 

Вектор. ПЗУ(32)

 

 

 

 

 

 

 

СБРОС

 

 

 

 

 

0x3F FC00

 

 

 

 

 

 

Процедуры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

загрузки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(SPI, SCI-A,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I, I

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Параллельная

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

загрузка)

13 - 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Карта памяти загрузочного ПЗУ

TMS320F2812

Диапазон адресов

 

Пространство программ и данных

 

 

SIN/COS; 641 x 32(Q30)

 

0x3F F000 – 0x3F F501

0x3F F502 – 0x3F F711

 

Инверсия; 264 x 32(Q29)

 

 

 

 

 

0x3F F712 – 0x3F F833

 

Корень квадрат.;145 x32(Q30)

 

 

 

Арктангенс; 218 x32(Q30)

 

0x3F F834 – 0x3F F9E7

 

 

 

 

0x3F F9E8 – 0x3F FB4F

 

Округ./Нас.; 180 x 32(Q30)

0x3F FB50 – 0x3F FBFF

 

зарезервировано

 

0x3F FC00 – 0x3F FFBF

 

Загрузчик ; 960 x 16

 

0x3F FFC0 – 0x3F FFC1

 

Вектор сброса; 2 x 16

 

0x3F FFC2 – 0x3F FFFF

 

Таблица векторов; 62 x 16

 

13 - 6

Таблица векторов загрузочного ПЗУ

C28x

Вектор

Адрес

Содержимое

Вектор

Адрес

Содержимое

RESET

0x3F FFC0

0x3F FC00

RTOSINT

0x3F FFE0

0x00 0060

INT1

0x3F FFC2

0x00 0042

Зарезер.

0x3F FFE2

0x00 0062

INT2

0x3F FFC4

0x00

0044

NMI

0x3F FFE4

0x00 0064

INT3

0x3F FFC6

0x00 0046

ILLEGAL

0x3F FFE6

0x00 0066

INT4

0x3F FFC8

0x00 0048

USER 1

0x3F FFE8

0x00 0068

INT5

0x3F FFCA

0x00

004A

USER 2

0x3F FFEA

0x00 006A

INT6

0x3F FFCC

0x00 004C

USER 3

 

0x00 006C

INT7

0x3F FFCE

0x00 004E

USER 4

 

0x00 006E

INT8

0x3F FFD0

0x00 0050

USER 5

 

0x00 0070

INT9

0x3F FFD2

0x00 0052

USER 6

0x3F FFF2

0x00 0072

INT10

0x3F FFD4

0x00 0054

USER 7

0x3F FFF4

0x00 0074

INT11

0x3F FFD6

0x00 0056

USER 8

0x3F FFF6

0x00 0076

INT12

0x3F FFD8

0x00 0058

USER 9

0x3F FFF8

0x00 0078

INT13

0x3F FFDA

0x00 005A

USER 10

0x3F FFFA

0x00 007A

INT14

0x3F FFDC

0x00 005C

USER 11

0x3F FFFC

0x00 007C

DLOGINT

0x3F FFDE

0x00 005E

USER 12

0x3F FFFE

0x00 007E

13 - 7

Структура потока данных загрузчика

13 - 8

Пример потока данных загрузчика

10AA ; ключ для 16 битного потока памяти

0000 0000 0000 0000 0000 0000 0000 0000

003F ; PC – стартовая точка, после загрузки: 0x3F

8000

8000

0005 ; 5 слов в блоке 1

003F

9010 ; Первый блок загружается по адресу 0x3F 9010

0001 ; первое слово данных

0002 0003 0004

0005 ; последнее данное

0002 ; Второй блок состоит из двух слов

003F ; второй блок загружается по адресу 0x3F 8000

8000

7700 ; первое данное

7625 ; последнее данное

0000 ; следующий блок нулевой длины = конец передачи

13 - 9

Алгоритм чтения загрузчиком C28x

Чтение первого слова(W1)

W1 == Нет 0x10AA?

Да

Чтение второго слова младших 8 бит

Размер данных: 16 бит

Чтение точки входа

W2:W1 == Нет

Ошибка

0x08AA?

формата

 

 

Да

 

 

 

 

 

 

 

 

Размер данных 8 бит

 

 

Чтение размера блока(R)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Передача R слов из

 

 

 

 

 

 

 

 

 

 

R = 0?

Нет

 

 

 

 

источника в приемник

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

 

 

Чтение адреса блока

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выход и переход

 

 

 

 

 

 

 

 

 

 

 

 

на точку входа

 

13 - 10

Соседние файлы в папке C2000WEB_rus