Update CCS12 peripheral firmware and documentation
This commit is contained in:
@@ -1,11 +1,19 @@
|
||||
/**
|
||||
* @file bios_dsp.h
|
||||
* @brief Команды сервисного BIOS и API удалённой работы с памятью.
|
||||
*
|
||||
* Объявляет номера команд загрузчика и обработчики, работающие с RS_DATA.
|
||||
* Интерфейс предоставляет прямые операции с адресным пространством DSP и
|
||||
* предназначен только для доверенных, уже проверенных протокольных запросов.
|
||||
*/
|
||||
/****************************************************************/
|
||||
/* TMS320C32 */
|
||||
/* ====== BIOS, КЛАИН, КЛВСП ====== */
|
||||
/* ЦНИИ СЭТ (с) 1998-2000 г. */
|
||||
/* ====== BIOS, КЛАИН, КЛВСП ====== */
|
||||
/* ЦНИИ СЭТ (с) 1998-2000 г. */
|
||||
/****************************************************************/
|
||||
/* Bios_dsp.h */
|
||||
/****************************************************************/
|
||||
/* Основные комманды BIOS */
|
||||
/* Основные комманды BIOS */
|
||||
/****************************************************************/
|
||||
#ifndef _BIOS_DSP
|
||||
#define _BIOS_DSP
|
||||
@@ -42,71 +50,85 @@ enum {
|
||||
|
||||
CMD_VECTOR=61,
|
||||
CMD_IMPULSE,
|
||||
/* стандартные команды */
|
||||
/* стандартные команды */
|
||||
CMD_STD=65, CMD_STD_ANS
|
||||
};
|
||||
|
||||
enum {false=0, true};
|
||||
|
||||
|
||||
/** Возвращает номер комманды, если есть или -1 если транзакций не было */
|
||||
/** Возвращает номер комманды, если есть или -1 если транзакций не было */
|
||||
/** Проверяет кадр и выполняет содержащуюся в нём сервисную команду. */
|
||||
int get_command(RS_DATA *rs_arr);
|
||||
|
||||
/** Стандартный ответ, без параметров */
|
||||
/** Стандартный ответ, без параметров */
|
||||
/** Формирует и отправляет ответ длиной n слов через заданный порт. */
|
||||
void Answer(RS_DATA *rs_arr,int n);
|
||||
|
||||
/* начальные установки (не работает)*/
|
||||
/* начальные установки (не работает)*/
|
||||
/** Сбрасывает состояние текущей сессии загрузчика. */
|
||||
void init(RS_DATA *rs_arr);
|
||||
|
||||
/**@name Комманды
|
||||
* Комманды, вызываемые через последовательный канал*/
|
||||
/**@name Комманды
|
||||
* Комманды, вызываемые через последовательный канал*/
|
||||
//@{
|
||||
|
||||
/** Инициировать загрузку блока.
|
||||
Настраивает прием блока данных */
|
||||
/** Инициировать загрузку блока.
|
||||
Настраивает прием блока данных */
|
||||
/** Подготавливает диапазон памяти к приёму нового образа. */
|
||||
void initload(RS_DATA *rs_arr);
|
||||
|
||||
/** Загрузка блока.
|
||||
Вызываетса после загрузки блока через RS */
|
||||
/** Загрузка блока.
|
||||
Вызываетса после загрузки блока через RS */
|
||||
/** Записывает очередной проверенный блок образа в память. */
|
||||
void load(RS_DATA *rs_arr);
|
||||
|
||||
/** Выполнить программу в формате Serial Boot.
|
||||
@precondition Должна быть произведена загрузка блока
|
||||
Адрес программы беретса из заголовка и
|
||||
сравниваетса с переменной RecvPtr, заполнаемой в ф-ции load
|
||||
/** Выполнить программу в формате Serial Boot.
|
||||
@precondition Должна быть произведена загрузка блока
|
||||
Адрес программы беретса из заголовка и
|
||||
сравниваетса с переменной RecvPtr, заполнаемой в ф-ции load
|
||||
@see load */
|
||||
/** Передаёт управление по адресу, заданному сервисной командой. */
|
||||
void run (RS_DATA *rs_arr);
|
||||
|
||||
/** Прочитать ачейку памати */
|
||||
/** Прочитать ачейку памати */
|
||||
/** Читает запрошенный диапазон памяти и возвращает его ведущему узлу. */
|
||||
void peek(RS_DATA *rs_arr);
|
||||
|
||||
/** Записать в ачейку памати */
|
||||
/** Записать в ачейку памати */
|
||||
/** Записывает одно или несколько слов по адресу из команды. */
|
||||
void poke(RS_DATA *rs_arr);
|
||||
|
||||
/** Передать блок памати */
|
||||
/** Передать блок памати */
|
||||
/** Передаёт ведущему узлу очередной блок содержимого памяти. */
|
||||
void upload(RS_DATA *rs_arr);
|
||||
|
||||
/** Прошить XILINX.
|
||||
@precondition Должна быть произведена загрузка блока
|
||||
Адрес и длина прошивки беретса из заголовка и
|
||||
сравниваетса с переменными RecvPtr и Length, заполнаемыми в ф-ции load,
|
||||
так же смотрит магическое слово в начале прошивки
|
||||
/** Прошить XILINX.
|
||||
@precondition Должна быть произведена загрузка блока
|
||||
Адрес и длина прошивки беретса из заголовка и
|
||||
сравниваетса с переменными RecvPtr и Length, заполнаемыми в ф-ции load,
|
||||
так же смотрит магическое слово в начале прошивки
|
||||
@see load */
|
||||
/** Обрабатывает команду доступа к внешней Flash-памяти. */
|
||||
void xflash(RS_DATA *rs_arr);
|
||||
|
||||
/** Прошить TMS.
|
||||
@precondition Должна быть произведена загрузка блока
|
||||
Адрес и длина прошивки беретса из заголовка и
|
||||
сравниваетса с переменными RecvPtr и Length, заполнаемыми в ф-ции load
|
||||
/** Прошить TMS.
|
||||
@precondition Должна быть произведена загрузка блока
|
||||
Адрес и длина прошивки беретса из заголовка и
|
||||
сравниваетса с переменными RecvPtr и Length, заполнаемыми в ф-ции load
|
||||
@see load */
|
||||
/** Обрабатывает команду доступа к целевой Flash-памяти. */
|
||||
void tflash(RS_DATA *rs_arr);
|
||||
|
||||
|
||||
/* расширенные команды дла биоса */
|
||||
/* расширенные команды дла биоса */
|
||||
/** Обрабатывает расширенную сервисную команду BIOS. */
|
||||
void extendbios(RS_DATA *rs_arr);
|
||||
|
||||
|
||||
/** Записывает слово по физическому адресу; адрес обязан быть допустимым. */
|
||||
void write_memory(unsigned long addr, unsigned int data);
|
||||
/** Читает слово по физическому адресу; адрес обязан быть допустимым. */
|
||||
unsigned int read_memory(unsigned long addr);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user