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

Модуль 10: Программирование Flash C28x

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

Texas Instruments Incorporated

Последовательность запуска BIOS из

Flash памяти

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C – процедура запуска

0x3D 8000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FLASH (128K)

 

 

 

 

_c_int00

 

Boot.asm

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

LB

 

 

 

 

rts2800_ml.lib”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0x3F 7FF6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_c_int00

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пароль (8)

5

 

0x3F 8000

 

 

H0 SARAM (8K)

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Секция кода

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

“пользователя”

0x3F F000

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

 

 

 

 

 

 

 

Загрузочный код

 

 

 

 

 

 

 

main ( )

 

 

 

 

 

 

 

 

 

0x3F FC00

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{Сканирование GPIO}

2

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

return;

 

 

 

ПЗУ вектор (32)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}

0x3F FFC0

 

 

 

 

0x3F FC00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

СБРОС

10 - 2

 

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

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

 

 

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

0x3D

8000

– 0x3D 9FFF

 

 

Секция J ; 8K x 16

 

 

 

 

 

 

 

 

 

 

0x3D A000

– 0x3D BFFF

 

 

Секция I ; 8K x 16

 

 

 

 

 

 

 

 

 

0x3D C000

– 0x3D FFFF

 

 

Секция H : 16K x 16

 

 

 

 

 

 

 

 

 

 

0x3E

0000

– 0x3E 3FFF

 

Секция G ; 16K x 16

 

 

 

 

 

 

 

 

 

 

0x3E

4000

– 0x3E 7FFF

 

 

Секция F ; 16K x 16

 

 

 

 

 

 

 

 

0x3E 8000 – 0x3E BFFF

 

Секция E ; 16K x 16

 

 

 

 

 

 

 

 

 

0x3E C000

– 0x3E FFFF

 

Секция D; 16K x 16

 

 

 

 

 

 

 

 

 

0x3F

0000

– 0x3F 3FFF

 

Секция C ; 16K x 16

 

 

 

 

 

 

 

 

0x3F

4000

– 0x3F 5FFF

 

Секция B ; 8K x16

 

 

 

 

 

 

 

 

0x3F

6000

– 0x3F 7F7F

 

Секция A ; (8K-128) x16

 

 

 

 

 

 

 

 

0x3F

7F80

– 0x3F 7FF5

 

Программирование 0x0000

 

 

когда применяется режим защиты кода!

 

 

 

 

!

 

 

 

 

0x3F 7FF6 – 0x3F 7FF7

Точка входа Flash; 2 x 16

 

 

 

 

 

 

0x3F 7FF8 – 0x3F 7FFF

 

Пароль; 8 x 16

10 - 3

 

Основная работа с Flash

 

Flash упорядочена в станицы по 128 адресов

 

Дополнительные такты для последовательного

 

доступа внутри

 

страницы и произвольного доступа по страницам

 

OTP - только произвольный доступ

 

Необходимость определения числа дополнительных

 

тактов

 

сигнала SYSCLKOUT

 

Операция «сброс» устанавливает максимальное

 

значение!

 

Код настройки Flash не должен запускаться из Flash

 

памяти !

*** из руководства пользователя F281x ***

Для 150 МГц, PAGEWAIT = 5, RANDWAIT = 5, OTPWAIT = 8 Для 135 МГц, PAGEWAIT = 4, RANDWAIT = 4, OTPWAIT = 8

Ускорение исполнения кода из Flash:

Конвейерный режим работы Flash (для выборки кода

только)

 

 

 

 

 

 

 

 

 

 

 

16 или

 

 

 

 

 

 

 

 

 

 

 

 

 

64

 

 

 

32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

64

 

 

 

 

 

 

 

 

битная

 

 

 

Модуль

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

отправка

 

 

декодера

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ядра C28x

 

 

 

Выборка

 

2-х

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выровненная

уровневы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

по 64 бита

й буферРазрешение конвейерного

 

 

 

 

 

 

выборки

 

 

режима Flash

 

 

 

 

 

 

 

 

0 = запрещено (по умолчанию)

 

 

 

 

 

 

 

 

 

 

 

1 = разрешено

FOPT @ 0x00 0A80

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

 

1

 

0

 

 

 

 

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

 

 

 

 

ENPIPE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10 - 5

Остальные регистры конфигурации

Адрес

Имя

Flash

Описание

0x00

0A80 FOPT

Регистр опций Flash

0x00

0A82 FPWR

Регистр режима питания Flash

0x00

0A83 FSTATUS

Регистр статуса Flash

0x00

0A84 FSTDBYWAIT

Регистр ожидания перевода Flash из спящего

0x00

0A85 FACTIVEWAIT

в режим ожидания

 

Регистр ожидания перевода Flash из режима

0x00

0A86 FBANKWAIT

ожидания в спящий

Регистр ожидания доступа при циклах чтения Fla

0x00

0A87 FOTPWAIT

Регистр ожидания доступа при циклах чтения OTP

FPWR: Для сохранения электроэнергии – перевод Flash/OTP в

спящий или режим ожидания; Flash автоматически вернется в активный режим при последующем доступе в Flash/OTP

FSTATUS: различные биты статуса (например режим

энергосбережения)

FSTDBYWAIT: определяет число циклов ожидания при

пробуждении из спящего или режима ожидания

FACTIVEWAIT: определяет число циклов ожидания при

пробуждении из режима ожидания в активный

Значение этих регистров часто существенны – смотрите “TMS320F28x DSP

System Control and Interrupts Reference Guide,” SPRU078, для получения большей 10 - 6

информации

 

Основы программирования Flash

 

ЦП сам выполняет операцию программирования flash

 

ЦП исполняет код утилит Flash из ОЗУ, который читает

 

данные и записывает из/во Flash

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Необходимо иметь код утилиты Flash и данные для

 

Flash в ОЗУ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Код

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FLASH

 

 

 

 

 

 

 

 

 

ЦП

 

 

 

утилиты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Flash

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Эмулятор

 

 

 

 

 

 

JTAG

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ОЗУ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RS232

 

 

 

 

 

SCI

 

 

 

 

 

 

 

 

 

ПЗУ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SPI

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Flash

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

из

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

GPIO

 

 

 

 

 

 

 

 

 

 

 

Загрузчик

 

 

 

 

 

 

 

F28x DSP

10 - 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Основы программирования Flash

Последовательность шагов для программирования Flash:

 

 

 

 

 

Алгоритм

Функции

1.

Стирание

Установка всех бит в ноль, затем в единиц

2.

ПрограммированиеПрограммирование выбранных бит в ноль

3.

Верификация

Верификация содержимого flash

 

 

 

 

Минимальный стираемый размер данных

-сектор (4К слова / 8K слов / 16K слов)

Минимальный размер программируемых данных – один бит!

Важным является не потерять электропитание во время выполнения шага стирания: если CSM пароль будет равен нулю,

CSM заблокируется навсегда!

Вероятность происхождения данной ситуации очень мала!

(Стирание выполняется сектор за сектором)

10 - 8

Утилиты программирования Flash

Code Composer Studio дополнительные модули (используя JTAG) *

Последовательный загрузчик Flash от TI (использует загрузку через SCI) *

Комплект программирования (использует

загрузку через GPIO)

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

Построение своей собственной утилиты

Использование другого метода загрузки из ПЗУ

чем SCI

Встраивание кода программирования flash в

приложение

API алгоритмы* Доступнопрограммированияна сайте TII:: www..tiiFlash..com 10 - 9

предлагаются TI

Подключаемый модуль Flash для Code Composer Studio

10 - 10

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