Поиск по сайту:

 


По базе:  

микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > ARM

реклама

 




Мероприятия:




21.3. Последовательный интерфейс программирования флэш-памяти

Последовательный интерфейс программирования флэш-памяти основан на стандарте IEEE 1149.1. В этом режиме взаимодействие со встроенной флэш-памятью микроконтроллера производится через JTAG интерфейс.

21.3.1 Конфигурация устройства

В последовательном режиме программирования флэш-памяти микроконтроллер находится в особом тестовом режиме. Для данного режима используется часть выводов, остальные выводы должны быть отключены.

Включение при последовательном интерфейсе программирования
Рис. 21-7. Включение при последовательном интерфейсе программирования

Таблица 21-17. Описание выводов

Сигналы Функциональное назначение Тип сигнала Активный уровень Примечание
Питание
VDDFLASH Питание флэш-памяти Питание    
VDDIO Питание буферов портов ввода/вывода Питание    
VDDCORE Питание ядра Питание    
VDDPLL Питание PLL (ФАПЧ) Питание    
GND Земля Земля    
Тактовые сигналы
XIN Вход генератора. Может быть подключен к цепи GND, в этом случае микроконтроллер тактируется от внутреннего RC генератора. Вход   От 32кГц до 50МГц
Сигналы выбора тестового режимов
TST Выбор тестового режима Вход Высокий Подтянут к VDDIO
PGMENO Выбор тестового режима Вход Высокий Подтянут к VDDIO
PGMEN1 Выбор тестового режима Вход Низкий Подтянут к GND
JTAG
TCK Тактовый сигнал JTAG Вход - Подтянут к VDDIO по сбросу
TDI Вход данных JTAG Вход - Подтянут к VDDIO по сбросу
TDO Выход данных JTAG Выход -  
TMS Выбор режима JTAG Вход - Подтянут к VDDIO по сбросу

21.3.2 Режим программирования

Для входа в режим программирования флэш-памяти необходимо выполнить:

  • Подключить цепи GND, VDDIO, VDDCORE, VDDFLASH, VDDPLL;
  • Подключить тактовый вход XIN в интервале (TPOR_RESET + 32 TSCLK) при использовании внешнего тактового генератора;
  • Выждать интервал TPOR_RESET;
  • Провести сброс TAP контроллера 5-ю тактами TCK при высоком уровне сигнала TMS;
  • Загрузить в сдвиговый регистр команд IR значение 0x2 (регистр IR 4-х битный, первый бит LSB), не переходя через состояние Run-Test-Idle;
  • Загрузить в сдвиговый регистр данных DR значение 0x2 (регистр DR 4-х битный, первый бит LSB), не переходя через состояние Run-Test-Idle;
  • Загрузить в сдвиговый регистр команд IR значение 0xC (регистр IR 4-х битный, первый бит LSB), не переходя через состояние Run-Test-Idle.

Примечание: после сброса микроконтроллер тактируется от внутреннего RC генератора. Перед сбросом сигнала RDY, если внешний тактовый генератор (> 32 кГц) подключен к входу XIN, микроконтроллер переключится на внешний генератор, в противном случае вход XIN не подключается. Более высокая частота на входе XIN повышает скорость обмена данными с программатором.

Таблица 21-18. Сброс TAP контроллера и переход в состояние Select-DR-Scan

TDI TMS Состояния TAP контроллера
X 1  
X 1  
X 1  
X 1  
X 1 Сброс TAP контроллера (Test-Logic Reset)
X 0 Тест-старт/Свободен (Run-Test/ldle)
Xt 1 Выбор сканирования регистра DR (Select-DR-Scan)

21.3.3 Цикл чтения/записи

Через JTAG интерфейс доступны два регистра микроконтроллера:

  • Регистр управления Debug Comms Control Register: DCCR
  • Debug Comms Data Register: DCDR

Доступ к этим регистрам производится через 38-ми битный регистр данных DR TAP контроллера, включающий 32-х битное поле данных, пяти-битное поле адреса и один бит чтения/записи. При операции записи данные заносятся в 32-х битное поле, адрес регистра заносится в 5-ти битное поле и 1 записывается в бит чтения/записи. Чтение из регистра осуществляется после записи адреса в поле адреса и записи 0 в бит чтения/записи, 32-х битное поле данных игнорируется. После обновления регистра (состояние UPDATE-DR TAP) считывается поле данных.

Регистр данных DR TAP контроллера
Рис. 21-8. Регистр данных DR TAP контроллера

Операция чтения/записи происходит при переходе TAP контроллера в состояние UPDATE-DR.

  • Адрес регистра управления приема/передачи отладчика (Debug Comms Control) 0х04.
  • Адрес регистра данных приема/передачи отладчика (Debug Comms Data) 0х05.

Регистр Debug Comms Control только для чтения, позволяет синхронизировать обмен межу микроконтроллером и отладчиком.

  • Бит 1 (W) обозначает, может ли программатор считать данные из регистра Debug Comms Data. Если микроконтроллер занят W = 0, программатор ожидает, когда W =1.
  • Бит 0 (R) обозначает, может ли программатор послать данные из регистра Debug Comms Data. При R = 1 данные, помещенные в регистр, не приняты микроконтроллером и программатор должен ожидать.

21.3.4 Работа микроконтроллера с флэш-памятью

Команды для работы с флэш-памятью сведены в таблицу 21-3. Каждая команда выполняется программатором через последовательный интерфейс путем чтения и записи регистров отладки.

21.3.4.1 Команда чтения флэш-памяти

Память представляет собой массив 32-х разрядных слов. Команда чтения может быть произведена с любого адреса в пространстве флэш-памяти. Соответственно адрес должен быть выровнен по размеру слова. Адрес будет автоматически инкрементироваться.

Таблица 21-19. Команда чтения

Чтение/Запись Регистр данных DR
Запись (Число слов для чтения) << 16 Команда чтения
Запись Адрес
Чтение Данные из памяти по [Адрес]
Чтение Данные из памяти по [Адрес+4]
Чтение Данные из памяти по [Адрес+( Число слов для чтения -1)* 4]

21.3.4.2 Команда записи флэш-памяти

Пространство флэш-памяти разбито на страницы. Записываемые данные хранятся в буфере записи, размер которого соответствует одной странице памяти. Содержимое буфера записи автоматически переносится во флэш-память:

  • при обращении к любой странице отличной от текущей,
  • при поступлении новой команды (MODE = CMDE).

Команда запись страницы (Write Page) WP оптимизирована для последовательной записи. Запись можно проводить последовательно, без повторного указания полного адреса, при этом внутренний адресный буфер будет автоматически инкрементироваться.

Таблица 21-20. Выполнение команды записи

Чтение/Запись Регистр данных DR
Запись (Число слов для записи) << 16 (команда WP, WPL, EWP или EWPL)
Запись Адрес
Запись Данные из памяти по [Адрес]
Запись Данные из памяти по [Адрес+4]
Запись Данные из памяти по [Адрес+8]
Запись Данные из памяти по [Адрес +( Число слов для записи -1 )* 4]

Команда записи страницы и защиты (Write Page and Lock) WPL аналогична команде записи, но при этом бит защиты (lock бит) автоматически устанавливается в конце операции записи. Так как область защиты захватывает несколько страниц, программатор записывает первые страницы блокируемой области, используя команду WP, а последнюю страницу записывает командой WPL.

Команда стирание страницы и запись (Erase Page and Write) EWP. Перед заполнением буфера записи страница стирается.

Команда стирание страницы запись и защита (Erase Page and Write the Lock) является комбинацией команд EWP и WPL.

21.3.4.3 Команда полного стирания флэш-памяти.

Все области, имеющие защиту, перед полным стиранием флэш-памяти должны быть разблокированы командой CLB. В противном случае команда не будет выполнена.

Таблица 21-21. Команда полного стирания флэш-памяти

Чтение/Запись Регистр данных DR
Запись EA

21.3.4.4 Команды защиты флэш-памяти

Биты защиты могут быть установлены командами WPL или EWPL, а также командой установка защиты (Set Lock Bit) SLB. Данной командой могут быть активированы несколько бит защиты. Нулевой бит в Маске защиты (Bit Mask) соответствует первому lock биту и так далее.

Для сброса битов защиты используется команда снятия защиты (Clear Lock Bit) CLB. Все биты защиты сбрасываются также командой EA.

Таблица 21-22. Команды установки и сброса битов защиты

Чтение/Запись Регистр данных DR
Запись SLB или CLB
Запись Маска Защиты (Bit Mask)

Чтение битов защиты осуществляется командой Get Lock Bit (GLB). В Маске защиты установленному n-ому биту соответствует активный n-ый бит защиты.

Таблица 21-23. Команда чтения битов защиты GLB

Чтение/Запись Регистр данных DR
Запись GLB
Чтение Маска Защиты

21.3.4.5 Команды управления NVM битами

NVM биты общего назначения (GP NVM биты) устанавливаются командой Set Fuse Bit (SFB). Эта команда также активирует эти биты. Маска Защиты является аргументом для команды. Нулевой бит в Маске защиты соответствует первому GP NVM биту и так далее.

Таким же образом команда Clear Fuse Bit (CFB) используется для сброса GP NVM битов. GP NVM биты также сбрасываются командой EA.

Таблица 21-24. Команда установки/сброса GP NVM бит

Чтение/Запись Регистр данных DR
Запись SFB или CFB
Запись Маска Защиты

GP NVM биты проверяются командой Get Fuse Bit (GFB). Установленный n-ый бит, считанный из Маски защиты, соответствует установленному n-ому GP NVM биту.

Таблица 21-25 Команда проверки GP NVM бит

Чтение/Запись Регистр данных DR
Запись GFB
Чтение Bit Mask

21.3.4.6 Бит секретности флэш-памяти

Бит секретности устанавливается командой Set Security Bit (SSE). При активном бите секретности программирование/чтение флэш-памяти невозможно. Сброс бита секретности возможен только с полным стиранием содержимого флэш-памяти.

Таблица 21-26. Команда установки бита секретности

Чтение/Запись Регистр данных DR
Запись SSE

21.3.4.6 Команда чтения памяти

Команда чтения памяти (RRAM) используется для доступа ко всей памяти. Процедуру чтения можно проводить последовательно, без повторного указания полного адреса, при этом внутренний адресный буфер будет автоматически инкрементироваться.

Таблица 21-27. Команда чтения

Чтение/Запись Регистр данных DR
Запись (Число слов для записи) << 16 (команда WP, WPL, EWP или EWPL)
Запись Адрес
Чтение Данные из памяти по [Адрес]
Чтение Данные из памяти по [Адрес+4]
Чтение Данные из памяти по [Адрес +( Число слов для записи -1 )* 4]

21.3.4.8 Команда записи в память

Команда записи памяти (WRAM) используется для доступа ко всей памяти. Процедуру чтения можно проводить последовательно, без повторного указания полного адреса, при этом внутренний адресный буфер будет автоматически инкрементироваться.

Таблица 21-28. Команда записи

Чтение/Запись Регистр данных DR
Запись (Число слов для записи) << 16 I (WRAM)
Запись Адрес
Запись Данные из памяти по [Адрес]
Запись Данные из памяти по [Адрес+4]
Запись Данные из памяти по [Адрес+8]
Запись Данные из памяти по [Адрес +( Число слов для записи -1 )* 4]

21.3.4.9 Команда чтения версии

Команда чтение версии Get Version (GVE) выдает информацию по версии FFPI интерфейса.

Таблица 21-29. Команда чтения версии

Чтение/Запись Регистр данных DR
Запись GVE
Чтение Версия FFPI


<--Предыдущая страница Оглавление Следующая страница -->





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru
©1998-2023 Рынок Микроэлектроники