Исправить скорость SCI и добавить диагностику ошибок приёма RS232

Округлить делитель SCI по формуле аппаратуры, настроить вход RX и обработку ошибок FIFO. Добавить диагностические поля и проверки модели, установить 9600 бод для RS485 при Owen. Сохранить скрипт сборки, обновлённый образ прошивки и карту линковки.
This commit is contained in:
2026-10-12 16:44:51 +03:00
parent fabd1bdf99
commit 3ebfdca0a0
9 changed files with 940 additions and 823 deletions

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
# RS232 FIFO для ПМ35 / TMS320F28335
Ветка `codex/pm35-uart-fifo`. FIFO включён **только SCI-A / COM_1 / RS232**.
Ветка `pm35-uart-fifo`. FIFO включён **только SCI-A / COM_1 / RS232**.
SCI-B / COM_2 / RS485 сохраняет прежние настройки и обработчики без FIFO.
Скорости портов не менялись: RS232 115200; RS485 — прежние 57600/115200.
@@ -27,6 +27,34 @@ SCI-B / COM_2 / RS485 сохраняет прежние настройки и о
ошибки требует нового CMD_INITLOAD. Расчёт паузы предназначен для 115200.
- Счётчики отладчика: `rs_a.fifo_rx_errors`, `rs_a.fifo_overflows`.
## Расчёт скорости и диагностика приёма
FIFO остаётся включённым. Для SCI используется формула TI SPRUI07:
`baud = LSPCLK / (8 * (BRR + 1))`. Функция `RS_SetLineSpeed` округляет
отношение `LSPCLK / (8 * baud)` и вычитает единицу перед записью BRR.
При LSPCLK 60 МГц и заданных 115200 бод регистры должны содержать
`SCIHBAUD=0`, `SCILBAUD=64` (`0x40`). Реальная скорость — 115384,6 бод,
отклонение +0,16 %. Прежнее значение 65 давало 113636,4 бод; сама по себе
эта разница не доказывает причину наблюдавшегося отказа на плате.
GPIO28 настраивается как асинхронный вход SCI-A с подтяжкой к уровню покоя.
Прерывание RXERROR разрешается во время приёма: BREAK при пустом FIFO
не может вызвать прерывание по порогу RXFFIL. Во время передачи оно
отключается вместе с RX FIFO, чтобы ошибка RX не сбрасывала активный TX.
Для просмотра в CCS добавлены поля в RAM:
| Поле `rs_a` | Назначение |
|---|---|
| `fifo_rx_bytes` | Количество прочитанных из FIFO байтов, включая повреждённые |
| `fifo_rx_last_word` | Последнее слово SCIRXBUF; данные в битах 7:0, FE/PE в битах 15:14 |
| `fifo_rx_last_status` | SCIRXST последней ошибки до сброса; BREAK/FE/OE/PE в битах 5/4/3/2 |
| `fifo_rx_last_error_word` | Повреждённое слово FE/PE либо ноль при общей ошибке до чтения FIFO |
Смотрите эти поля и отдельные регистры управления. Чтение SCIRXBUF в Watch
изменяет состояние приёмника; для просмотра данных TI предусматривает
SCIRXEMU. Описание регистров: [TI SPRUI07](https://www.ti.com/lit/ug/sprui07/sprui07.pdf).
Это UART-оптимизация. Она не меняет команды/формат логгера УМП и не подключает
экспериментальный GAS-логгер. Размеры блоков чтения УМП остаются прежними.

View File

@@ -116,6 +116,10 @@ typedef struct
volatile unsigned int fifo_tx_active, fifo_rx_guard;
/* Объявляет fifo_rx_errors — данные fifo_rx_errors; fifo_overflows — данные fifo_overflows. volatile требует фактического чтения или записи при каждом доступе. */
volatile unsigned long fifo_rx_errors, fifo_overflows;
volatile unsigned long fifo_rx_bytes; /* Считает байты, реально прочитанные обработчиком из FIFO SCI-A; чтение этого поля в CCS не изменяет приёмник. */
volatile unsigned int fifo_rx_last_word; /* Хранит последнее чтение SCIRXBUF: байт в битах 7:0, FE в бите 15 и PE в бите 14. */
volatile unsigned int fifo_rx_last_status; /* Хранит SCIRXST последней ошибки до сброса: BREAK/FE/OE/PE в битах 5/4/3/2. */
volatile unsigned int fifo_rx_last_error_word; /* Хранит слово FE/PE, вызвавшее сброс, либо ноль при общей ошибке SCI до чтения FIFO. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif

View File

@@ -41,7 +41,7 @@ static int RS_FifoStart(RS_DATA *, unsigned int *, unsigned long, int);
/* Заполняет TX FIFO доступными байтами, сохраняя длину и положение в передаваемом пакете. */
static void RS_FifoTx(RS_DATA *);
/* Прерывает ошибочный приём FIFO, очищает аппаратное состояние и включает защитную паузу. */
static void RS_FifoAbort(RS_DATA *);
static void RS_FifoAbort(RS_DATA *, unsigned int); /* Принимает слово с признаками FE/PE либо ноль при общей ошибке SCI; сохраняет причину до очистки регистров. */
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
#endif
@@ -195,7 +195,7 @@ void RS_RX_Handler(RS_DATA *rs_arr)
/* Проверяет if (rs_arr->SciRegs->SCIFFRX.bit.RXFFOVF или rs_arr->SciRegs->SCIRXST.bit.RXERROR); последующий оператор выполняется только при истинном условии. */
if (rs_arr->SciRegs->SCIFFRX.bit.RXFFOVF || rs_arr->SciRegs->SCIRXST.bit.RXERROR) {
/* Вызывает RS_FifoAbort. Прерывает ошибочный приём FIFO, очищает аппаратное состояние и включает защитную паузу. */
RS_FifoAbort(rs_arr); return;
RS_FifoAbort(rs_arr,0); return; /* Сохраняет SCIRXST при общей ошибке или переполнении; SCIRXBUF здесь не читался. */
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
/* Проверяет if (!rs_arr->SciRegs->SCIFFRX.bit.RXFFST); последующий оператор выполняется только при истинном условии. */
@@ -209,8 +209,10 @@ void RS_RX_Handler(RS_DATA *rs_arr)
/* Закрывает текущий блок или список полей; следующие операторы относятся к внешнему уровню. */
}
received=rs_arr->SciRegs->SCIRXBUF.all; /* one pop, data + FE/PE */ /* Записывает received значением rs_arr->SciRegs->SCIRXBUF.all; данные received. */
/* Проверяет if (received & 0xC000U); последующий оператор выполняется только при истинном условии. */
if (received & 0xC000U) { RS_FifoAbort(rs_arr); return; }
rs_arr->fifo_rx_bytes++; /* Считает реальные чтения байтов из FIFO, включая повреждённые и пропущенные во время защитной паузы. */
rs_arr->fifo_rx_last_word=received; /* Сохраняет данные в битах 7:0 и признаки FE/PE в битах 15:14, позволяя смотреть их в RAM без чтения FIFO отладчиком. */
/* Маска 0xC000 из описания SCIRXBUF в TI SPRUI07 выбирает ошибку стопового бита FE и ошибку чётности PE текущего байта. */
if (received & 0xC000U) { RS_FifoAbort(rs_arr,received); return; } /* Передаёт повреждённое слово диагностике до сброса FIFO и отвергает весь пакет. */
/* Проверяет if (rs_arr->fifo_rx_guard); последующий оператор выполняется только при истинном условии. */
if (rs_arr->fifo_rx_guard) { rs_arr->fifo_rx_guard=4; continue; }
/* Записывает Rc значением received & 255U; данные Rc. */
@@ -719,13 +721,15 @@ int RS_BSend(RS_DATA *rs_arr,unsigned int *pBuf, unsigned long len)
void RS_SetLineSpeed(RS_DATA *rs_arr,unsigned long speed)
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
/* Объявляет SciBaud — SCI скорость передачи. */
long SciBaud;
/* Записывает SciBaud значением LSPCLK/(speed*8.0); SCI скорость передачи. */
SciBaud = LSPCLK/(speed*8.0);
// if((SciBaud-(unsigned int)SciBaud)>0.5) SciBaud++;
unsigned long SciBaud; /* Хранит 16-битный BRR в 32-битном типе, чтобы до вычитания единицы представить делитель 65536. */
unsigned long baud_clock; /* Хранит частоту выборки SCI в Гц: по TI SPRUI07 на один бит приходится восемь тактов. */
if (!speed || speed > 0xFFFFFFFFUL/8UL || LSPCLK <= 0) return; /* Исключает деление на ноль, переполнение 32-битного произведения и настройку до определения частоты SCI. */
baud_clock=speed*8UL; /* Переводит скорость в бодах в требуемую частоту восьмикратной выборки без вычислений с плавающей точкой. */
SciBaud=(unsigned long)LSPCLK/baud_clock; /* Вычисляет целую часть отношения LSPCLK к частоте выборки; это BRR+1 согласно формуле TI. */
if ((unsigned long)LSPCLK%baud_clock >= (baud_clock+1UL)/2UL) SciBaud++; /* Округляет делитель к ближайшему целому по остатку, не складывая большие частоты с риском переполнения. */
if (SciBaud < 2UL) SciBaud=2UL; /* Ограничивает максимальную скорость значением LSPCLK/16; BRR=0 тоже имеет этот особый предел по TI SPRUI07. */
if (SciBaud > 65536UL) SciBaud=65536UL; /* Ограничивает отношение диапазоном 16-битного BRR+1, чтобы малая скорость не оборачивала регистр. */
SciBaud--; /* Преобразует отношение в BRR: при 60 МГц и 115200 бод получает 64, что даёт 115384,6 бод вместо прежних 113636,4. */
/* Записывает rs_arr->SciRegs->SCIHBAUD значением HIBYTE((int)SciBaud); rs arr SCI Regs SCIHBAUD. */
rs_arr->SciRegs->SCIHBAUD = HIBYTE((int)SciBaud);
@@ -781,6 +785,8 @@ void setup_uart(char commnumber, unsigned long speed_baud)
GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 1; // SCITXDA - SCI-A transmit(O)
/* Записывает GpioCtrlRegs.GPAMUX2.bit.GPIO28 значением 1; аппаратная линия ввода/вывода GPIO28. */
GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 1; // SCIRXDA - SCI-A receive (I)
GpioCtrlRegs.GPAQSEL2.bit.GPIO28 = 3; /* Выбирает асинхронный вход SCIRXDA по TI SPRUI07; исключает задержки фильтра GPIO, оставшиеся после другой программы или JTAG. */
GpioCtrlRegs.GPAPUD.bit.GPIO28 = 0; /* Включает внутреннюю подтяжку входа RX к уровню покоя UART, чтобы неподключённый вход не создавал ложные старты. */
/* Записывает PieVectTable.SCIRXINTA значением &RSA_RX_Handler; данные SCIRXINTA. */
PieVectTable.SCIRXINTA = &RSA_RX_Handler;
@@ -867,6 +873,7 @@ void setup_uart(char commnumber, unsigned long speed_baud)
#if RS232_USE_FIFO
/* Проверяет if (commnumber == COM_1); последующий оператор выполняется только при истинном условии. */
if (commnumber == COM_1) {
SciRegs->SCICTL1.bit.RXERRINTENA=1; /* Разрешает отдельное RX-прерывание по BREAK/RXERROR: в FIFO-режиме BREAK может не положить байт в FIFO и не достичь порога RXFFIL. */
SciRegs->SCIFFTX.all=0xC008U; /* enhancement, reset held, TX level 8, IRQ off */ /* Записывает SciRegs->SCIFFTX.all значением 0xC008U; представление регистра целым словом без разбиения на битовые поля. */
SciRegs->SCIFFRX.all=0x0061U; /* reset held, RX level 1, IRQ on */ /* Записывает SciRegs->SCIFFRX.all значением 0x0061U; представление регистра целым словом без разбиения на битовые поля. */
/* Записывает SciRegs->SCIFFCT.all значением 0; представление регистра целым словом без разбиения на битовые поля. */
@@ -883,6 +890,10 @@ void setup_uart(char commnumber, unsigned long speed_baud)
rs_arr->fifo_tx_active=rs_arr->fifo_rx_guard=0;
/* Записывает rs_arr->fifo_rx_errors значением rs_arr->fifo_overflows=0; данные rs_arr->fifo_rx_errors. */
rs_arr->fifo_rx_errors=rs_arr->fifo_overflows=0;
rs_arr->fifo_rx_bytes=0; /* Начинает счёт реальных чтений FIFO заново при настройке SCI-A. */
rs_arr->fifo_rx_last_word=0; /* До первого чтения FIFO диагностическое слово не содержит старых данных RAM. */
rs_arr->fifo_rx_last_status=0; /* Очищает сохранённые признаки BREAK, FE, OE и PE предыдущего запуска. */
rs_arr->fifo_rx_last_error_word=0; /* Очищает сохранённый повреждённый байт и его признаки FE/PE. */
/* Выполняет альтернативу, если предыдущее условие if оказалось ложным. */
} else
/* Закрывает условный блок препроцессора; дальнейшие строки относятся к внешнему уровню. */
@@ -1071,6 +1082,7 @@ static void RS_FifoTx(RS_DATA *rs_arr)
enableUARTInt(rs_arr);
/* Записывает rs_arr->SciRegs->SCIFFRX.bit.RXFFIENA значением 1; данные RXFFIENA. */
rs_arr->SciRegs->SCIFFRX.bit.RXFFIENA=1;
rs_arr->SciRegs->SCICTL1.bit.RXERRINTENA=1; /* Возвращает обработку BREAK и ошибок приёмника вместе с RX FIFO после завершения передачи. */
/* Записывает rs_arr->fifo_tx_active значением 0; данные rs_arr->fifo_tx_active. */
rs_arr->fifo_tx_active=0;
/* Выполняет альтернативу, если предыдущее условие if оказалось ложным. */
@@ -1125,6 +1137,7 @@ static int RS_FifoStart(RS_DATA *rs_arr,unsigned int *buffer,unsigned long count
rs_arr->SciRegs->SCIFFTX.bit.TXFFIENA=0;
/* Записывает rs_arr->SciRegs->SCIFFRX.bit.RXFFIENA значением 0; данные RXFFIENA. */
rs_arr->SciRegs->SCIFFRX.bit.RXFFIENA=0;
rs_arr->SciRegs->SCICTL1.bit.RXERRINTENA=0; /* Запрещает сброс SCI по шуму RX во время TX, когда прерывания приёма FIFO также отключены. */
/* Вызывает enableUARTIntW с аргументами (rs_arr) в текущей последовательности операций. */
enableUARTIntW(rs_arr);
/* Вызывает RS_SetBitMode с аргументами (rs_arr,8) в текущей последовательности операций. */
@@ -1152,9 +1165,11 @@ static int RS_FifoStart(RS_DATA *rs_arr,unsigned int *buffer,unsigned long count
}
/* Прерывает ошибочный приём FIFO, очищает аппаратное состояние и включает защитную паузу. */
static void RS_FifoAbort(RS_DATA *rs_arr)
static void RS_FifoAbort(RS_DATA *rs_arr,unsigned int error_word) /* Получает считанное слово FE/PE либо ноль, если ошибка обнаружена до чтения FIFO. */
/* Открывает составной блок или описание полей; следующие строки принадлежат этому уровню вложенности. */
{
rs_arr->fifo_rx_last_status=rs_arr->SciRegs->SCIRXST.all; /* Сохраняет SCIRXST до SWRESET: биты 5/4/3/2 означают BREAK/FE/OE/PE по TI SPRUI07. */
rs_arr->fifo_rx_last_error_word=error_word; /* Сохраняет признаки FE/PE и значение повреждённого байта; ноль означает проверку общей ошибки до чтения SCIRXBUF. */
/* Изменяет счётчик в выражении rs_arr->fifo_rx_errors++; на один для следующего шага. */
rs_arr->fifo_rx_errors++;
/* Проверяет if (rs_arr->SciRegs->SCIFFRX.bit.RXFFOVF) rs_arr->fifo_overflows++; последующий оператор выполняется только при истинном условии. */

View File

@@ -109,7 +109,7 @@ void main()
setup_uart(COM_1,115200);
/* Проверяет if(Owen)setup_uart(COM_2,57600); последующий оператор выполняется только при истинном условии. */
if(Owen)setup_uart(COM_2,115200);
if(Owen)setup_uart(COM_2,9600);
/* Выполняет альтернативу, если предыдущее условие if оказалось ложным. */
else setup_uart(COM_2,115200);

View File

@@ -1,10 +1,10 @@
******************************************************************************
TMS320C2000 Linker PC v22.6.0
******************************************************************************
>> Linked Mon Oct 12 12:25:16 2026
>> Linked Mon Oct 12 14:01:14 2026
OUTPUT FILE NAME: <K:/git_project/Balsam_167_periph/UKSSTMS320F28335/../bin/UKSSTMS320F28335.out>
ENTRY POINT SYMBOL: "_c_int00" address: 0000a855
ENTRY POINT SYMBOL: "_c_int00" address: 0000a8cd
MEMORY CONFIGURATION
@@ -13,7 +13,7 @@ MEMORY CONFIGURATION
---------------------- -------- --------- -------- -------- ---- --------
PAGE 0:
ZONE0 00004000 00001000 00000000 00001000 RWIX
RAML0 00008000 00004000 00003aa7 00000559 RWIX
RAML0 00008000 00004000 00003af7 00000509 RWIX
RAML4 0000c000 00001000 000003e6 00000c1a RWIX
ZONE6 00100000 00100000 00000000 00100000 RWIX
FLASHH 00300000 00008000 00000000 00008000 RWIX
@@ -87,7 +87,7 @@ PAGE 1:
SCIB 00007750 00000010 00000010 00000000 RWIX
SCIC 00007770 00000010 00000010 00000000 RWIX
I2CA 00007900 00000040 00000022 0000001e RWIX
RAML5 0000d000 00003000 0000105e 00001fa2 RWIX
RAML5 0000d000 00003000 00001064 00001f9c RWIX
ZONE7A 00200000 0000fc00 0000fa00 00000200 RWIX
ZONE7B 0020fc00 00000400 00000000 00000400 RWIX
FLASHB 00330000 00008000 00000000 00008000 RWIX
@@ -126,230 +126,230 @@ section page origin length input sections
.pinit 0 00008000 00000000 UNINITIALIZED
.text 0 00008000 00003aa7
.text 0 00008000 00003af7
00008000 0000025a measure.obj (.text:_Current_count)
0000825a 000001dd ADC.obj (.text:_adc_isr)
00008437 000001a7 measure.obj (.text:_Temper_count)
000085de 000001a3 peripher.obj (.text:_get_Buttons)
00008781 0000019f main.obj (.text:_main)
00008920 0000018d ADC.obj (.text:_setup_adc)
00008aad 00000184 measure.obj (.text:_cpu_timer1_isr_SENS)
00008c31 0000015c DAC.obj (.text:_Load_runner)
00008d8d 00000152 RS485.obj (.text:_RS_RX_Handler)
00008edf 00000143 pulto.obj (.text:_cpu_timer1_isr_PULT)
00009022 00000129 measure.obj (.text:_Init_sensors)
0000914b 00000122 spise2p.obj (.text:_SPISE2P_DRV_tick)
0000926d 00000115 peripher.obj (.text:_get_Mode)
00009382 0000010b kanal.obj (.text:_kanal_Send)
0000948d 000000f9 measure.obj (.text:_Power_count)
00009586 000000ec message.obj (.text:_Default_params)
00009672 000000ce RS485.obj (.text:_setup_uart)
00009740 000000b3 log_to_mem.obj (.text:_ump_log_read)
000097f3 000000ae measure.obj (.text:_calc_sensor_koef)
000098a1 000000ac ecan.obj (.text:_InitCan)
0000994d 000000a8 ecan.obj (.text:_UMP_CAN_service)
000099f5 00000001 bios.obj (.text:_init)
000099f6 0000009d message.obj (.text:_ReceiveCommandModbus3)
00009a93 0000009c peripher.obj (.text:_select_tpl_canal)
00009b2f 00000097 bios.obj (.text:_upload)
00009bc6 00000094 measure.obj (.text:_Init_packMask)
00009c5a 00000090 RS485.obj (.text:_RS_FifoTx)
00009cea 0000008c message.obj (.text:_receive_ump)
00009d76 0000008a log_to_mem.obj (.text:_ump_capture)
00009e00 00000088 rts2800_fpu32.lib : fs_div.obj (.text)
00009e88 00000085 DSP2833x_SysCtrl.obj (.text:_InitPeripheralClocks)
00009f0d 00000084 bios.obj (.text:_extendbios)
00009f91 00000001 bios.obj (.text:_run)
00009f92 00000083 shared_ump.obj (.text:_ump_rtu_encode)
0000a015 00000082 DSP2833x_SysCtrl.obj (.text:_InitPll)
0000a097 00000078 bios.obj (.text:_peek)
0000a10f 00000072 ecan.obj (.text:_Handlai)
0000a181 00000071 shared_ump.obj (.text:_ump_validate)
0000a1f2 00000070 log_to_mem.obj (.text:_ump_log_write)
0000a262 0000006e RS485.obj (.text:_RS_TX_Handler)
0000a2d0 00000069 DAC.obj (.text:_Load_protection_prepare)
0000a339 00000062 measure.obj (.text:_Init_sensors_more)
0000a39b 00000059 DSP2833x_Xintf.obj (.text:_InitXintf16Gpio)
0000a3f4 00000057 bios.obj (.text:_get_command)
0000a44b 00000050 message.obj (.text:_ReceiveCommandModbus6)
0000a49b 0000004e DAC.obj (.text:_anal_output)
0000a4e9 0000004e DAC.obj (.text:_load_start)
0000a537 0000004d shared_ump.obj (.text:_ump_prepare)
0000a584 0000004c RS485.obj (.text:_RS_FifoStart)
0000a5d0 0000004b RS485.obj (.text:_RS_Send)
0000a61b 0000004a ecan.obj (.text:_CANa_handler)
0000a665 00000049 bios.obj (.text:_load)
0000a6ae 00000048 ecan.obj (.text:_CAN_send)
0000a6f6 00000047 bios.obj (.text:_initload)
0000a73d 00000046 RS485.obj (.text:_RSA_RX_Handler)
0000a783 00000046 RS485.obj (.text:_RSA_TX_Handler)
0000a7c9 00000046 RS485.obj (.text:_RSB_RX_Handler)
0000a80f 00000046 RS485.obj (.text:_RSB_TX_Handler)
0000a855 00000046 rts2800_fpu32.lib : boot.obj (.text)
0000a89b 00000042 log_to_mem.obj (.text:_ump_log_can)
0000a8dd 00000041 RS485.obj (.text:_RS_FifoAbort)
0000a91e 00000041 spise2p.obj (.text:_Seeprom_read)
0000a95f 00000041 spise2p.obj (.text:_Seeprom_write)
0000a9a0 00000041 RS485.obj (.text:_setup_arr_cmd_length)
0000a9e1 00000040 message.obj (.text:_Load_params)
0000aa21 0000003e tools.obj (.text:_init_zone7)
0000aa5f 0000003b DSP2833x_CpuTimers.obj (.text:_InitCpuTimers)
0000aa9a 0000003b DAC.obj (.text:_Load_voltage_can)
0000aad5 0000003b shared_ump.obj (.text:_ump_can_fragment)
0000ab10 0000003a bios.obj (.text:_poke)
0000ab4a 00000039 spise2p.obj (.text:_cpu_timer2_isr)
0000ab83 00000038 message.obj (.text:_SendCommandModbus4)
0000abbb 00000038 shared_ump.obj (.text:_ump_tms28335_fragment)
0000abf3 00000037 RS485.obj (.text:_RS_BSend)
0000ac2a 00000037 message.obj (.text:_ReceiveAnswerModbus4)
0000ac61 00000033 bios.obj (.text:_Answer)
0000ac94 00000033 message.obj (.text:_modbus_exception)
0000acc7 00000033 log_to_mem.obj (.text:_ump_word)
0000acfa 00000032 spise2p.obj (.text:_SPISE2P_DRV_init)
0000ad2c 00000032 peripher.obj (.text:_unsetup_leds_line)
0000ad5e 00000031 DAC.obj (.text:_dSEND)
0000ad8f 0000002f RS485.obj (.text:_RS_FifoTick1ms)
0000adbe 0000002e filter_bat2.obj (.text:_filterbat)
0000adec 0000002e log_to_mem.obj (.text:_ump_log_io)
0000ae1a 0000002d RS485.obj (.text:_RS_SetLineMode)
0000ae47 0000002d main.obj (.text:_timer_Init)
0000ae74 0000002c crc16.obj (.text:_get_crc_16b)
0000aea0 0000002b ecan.obj (.text:_CANa_reset_err)
0000aecb 0000002a rts2800_fpu32.lib : l_div.obj (.text)
0000aef5 00000029 spise2p.obj (.text:_InitSeeprom)
0000af1e 00000027 crc16.obj (.text:_get_crc16)
0000af45 00000026 RS485.obj (.text:_RS_SetLineSpeed)
0000af6b 00000024 message.obj (.text:_Save_params)
0000af8f 00000024 DAC.obj (.text:_load_stop)
0000afb3 00000024 peripher.obj (.text:_select_tpl_255)
0000afd7 00000022 peripher.obj (.text:_setup_leds_line)
0000aff9 00000021 DSP2833x_CpuTimers.obj (.text:_ConfigCpuTimer)
0000b01a 00000020 DAC.obj (.text:_Setup_DAC_time)
0000b03a 00000020 rts2800_fpu32.lib : sqrt.obj (.text)
0000b05a 0000001f DSP2833x_PieCtrl.obj (.text:_InitPieCtrl)
0000b079 0000001f measure.obj (.text:_reset_errs)
0000b098 0000001e DAC.obj (.text:_Load_control_init)
0000b0b6 0000001e kanal.obj (.text:_SENDBIT)
0000b0d4 0000001d log_to_mem.obj (.text:_ump_log_init)
0000b0f1 0000001d shared_ump.obj (.text:_ump_tms28335_prepare)
0000b10e 0000001d pulto.obj (.text:_what_is)
0000b12b 0000001c DAC.obj (.text:_Init_DAC)
0000b147 0000001c measure.obj (.text:_im_calc)
0000b163 0000001c shared_ump.obj (.text:_ump_crc)
0000b17f 0000001c shared_ump.obj (.text:_ump_tms28335_capture)
0000b19b 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ADCINT_ISR)
0000b1b6 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_DINTCH1_ISR)
0000b1d1 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_DINTCH2_ISR)
0000b1ec 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_DINTCH3_ISR)
0000b207 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_DINTCH4_ISR)
0000b222 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_DINTCH5_ISR)
0000b23d 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_DINTCH6_ISR)
0000b258 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAN0INTA_ISR)
0000b273 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAN0INTB_ISR)
0000b28e 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAN1INTA_ISR)
0000b2a9 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAN1INTB_ISR)
0000b2c4 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAP1_INT_ISR)
0000b2df 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAP2_INT_ISR)
0000b2fa 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAP3_INT_ISR)
0000b315 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAP4_INT_ISR)
0000b330 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAP5_INT_ISR)
0000b34b 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAP6_INT_ISR)
0000b366 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM1_INT_ISR)
0000b381 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM1_TZINT_ISR)
0000b39c 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM2_INT_ISR)
0000b3b7 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM2_TZINT_ISR)
0000b3d2 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM3_INT_ISR)
0000b3ed 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM3_TZINT_ISR)
0000b408 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM4_INT_ISR)
0000b423 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM4_TZINT_ISR)
0000b43e 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM5_INT_ISR)
0000b459 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM5_TZINT_ISR)
0000b474 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM6_INT_ISR)
0000b48f 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM6_TZINT_ISR)
0000b4aa 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EQEP1_INT_ISR)
0000b4c5 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EQEP2_INT_ISR)
0000b4e0 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_I2CINT1A_ISR)
0000b4fb 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_I2CINT2A_ISR)
0000b516 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_LUF_ISR)
0000b531 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_LVF_ISR)
0000b54c 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_MRINTA_ISR)
0000b567 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_MRINTB_ISR)
0000b582 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_MXINTA_ISR)
0000b59d 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_MXINTB_ISR)
0000b5b8 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SCIRXINTA_ISR)
0000b5d3 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SCIRXINTB_ISR)
0000b5ee 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SCIRXINTC_ISR)
0000b609 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SCITXINTA_ISR)
0000b624 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SCITXINTB_ISR)
0000b63f 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SCITXINTC_ISR)
0000b65a 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SEQ1INT_ISR)
0000b675 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SEQ2INT_ISR)
0000b690 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SPIRXINTA_ISR)
0000b6ab 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SPITXINTA_ISR)
0000b6c6 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_TINT0_ISR)
0000b6e1 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_WAKEINT_ISR)
0000b6fc 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_XINT3_ISR)
0000b717 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_XINT4_ISR)
0000b732 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_XINT5_ISR)
0000b74d 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_XINT6_ISR)
0000b768 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_XINT7_ISR)
0000b783 0000001b rts2800_fpu32.lib : args_main.obj (.text)
0000b79e 0000001a RS485.obj (.text:_RS_SetBitMode)
0000b7b8 0000001a RS485.obj (.text:_create_uart_vars)
0000b7d2 00000019 DSP2833x_Adc.obj (.text:_InitAdc)
0000b7eb 00000019 DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_XINT1_ISR)
0000b804 00000019 DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_XINT2_ISR)
0000b81d 00000019 rts2800_fpu32.lib : exit.obj (.text)
0000b836 00000019 : prolog.obj (.text)
0000b84f 00000018 kanal.obj (.text:_RESET)
0000b867 00000018 log_to_mem.obj (.text:_ump_log_tick)
0000b87f 00000017 log_to_mem.obj (.text:_clear_mem)
0000b896 00000016 DSP2833x_SysCtrl.obj (.text:_ServiceDog)
0000b8ac 00000014 bios.obj (.text:__getbyte)
0000b8c0 00000014 measure.obj (.text:_er_anal)
0000b8d4 00000014 log_to_mem.obj (.text:_ump_outputs)
0000b8e8 00000013 RS485.obj (.text:_RS_FifoWait)
0000b8fb 00000013 log_to_mem.obj (.text:_ump_inputs)
0000b90e 00000012 crc16.obj (.text:_get_crc_16)
0000b920 00000010 tools.obj (.text:_pause_us)
0000b930 00000010 shared_ump.obj (.text:_read_word)
0000b940 0000000d DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_DATALOG_ISR)
0000b94d 0000000d DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_INT13_ISR)
0000b95a 0000000d DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_INT14_ISR)
0000b967 0000000d DSP2833x_SWPrioritizedPieVect.obj (.text:_InitPieVectTable)
0000b974 0000000d DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_RTOSINT_ISR)
0000b981 0000000c rts2800_fpu32.lib : epilog.obj (.text)
0000b98d 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EMUINT_ISR)
0000b998 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ILLEGAL_ISR)
0000b9a3 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_NMI_ISR)
0000b9ae 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER10_ISR)
0000b9b9 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER11_ISR)
0000b9c4 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER12_ISR)
0000b9cf 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER1_ISR)
0000b9da 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER2_ISR)
0000b9e5 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER3_ISR)
0000b9f0 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER4_ISR)
0000b9fb 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER5_ISR)
0000ba06 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER6_ISR)
0000ba11 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER7_ISR)
0000ba1c 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER8_ISR)
0000ba27 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER9_ISR)
0000ba32 0000000b log_to_mem.obj (.text:_ump_log_rs)
0000ba3d 0000000b rts2800_fpu32.lib : u_div.obj (.text)
0000ba48 0000000a DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_INT_NOTUSED_ISR)
0000ba52 0000000a DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_PIE_RESERVED)
0000ba5c 0000000a DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_rsvd_ISR)
0000ba66 00000009 DSP2833x_PieCtrl.obj (.text:_EnableInterrupts)
0000ba6f 00000009 DSP2833x_SysCtrl.obj (.text:_InitSysCtrl)
0000ba78 00000009 rts2800_fpu32.lib : _lock.obj (.text)
0000ba81 00000008 DSP2833x_SysCtrl.obj (.text:_DisableDog)
0000ba89 00000007 rts2800_fpu32.lib : memset.obj (.text)
0000ba90 00000005 spise2p.obj (.text:_SPISE2P_DRV_csclr)
0000ba95 00000005 spise2p.obj (.text:_SPISE2P_DRV_csset)
0000ba9a 00000005 cntrl_adr.obj (.text:_set_cntrl_addr)
0000ba9f 00000004 DSP2833x_usDelay.obj (.text)
0000baa3 00000003 shared_ump.obj (.text:_write_word)
0000baa6 00000001 bios.obj (.text:_tflash)
000085de 000001a6 main.obj (.text:_main)
00008784 000001a3 peripher.obj (.text:_get_Buttons)
00008927 0000018d ADC.obj (.text:_setup_adc)
00008ab4 00000184 measure.obj (.text:_cpu_timer1_isr_SENS)
00008c38 0000015f RS485.obj (.text:_RS_RX_Handler)
00008d97 0000015c DAC.obj (.text:_Load_runner)
00008ef3 00000143 pulto.obj (.text:_cpu_timer1_isr_PULT)
00009036 00000129 measure.obj (.text:_Init_sensors)
0000915f 00000122 spise2p.obj (.text:_SPISE2P_DRV_tick)
00009281 00000115 peripher.obj (.text:_get_Mode)
00009396 0000010b kanal.obj (.text:_kanal_Send)
000094a1 000000f9 measure.obj (.text:_Power_count)
0000959a 000000ec message.obj (.text:_Default_params)
00009686 000000e5 RS485.obj (.text:_setup_uart)
0000976b 000000b3 log_to_mem.obj (.text:_ump_log_read)
0000981e 000000ae measure.obj (.text:_calc_sensor_koef)
000098cc 000000ac ecan.obj (.text:_InitCan)
00009978 000000a8 ecan.obj (.text:_UMP_CAN_service)
00009a20 0000009d message.obj (.text:_ReceiveCommandModbus3)
00009abd 0000009c peripher.obj (.text:_select_tpl_canal)
00009b59 00000097 bios.obj (.text:_upload)
00009bf0 00000094 measure.obj (.text:_Init_packMask)
00009c84 00000092 RS485.obj (.text:_RS_FifoTx)
00009d16 0000008c message.obj (.text:_receive_ump)
00009da2 0000008a log_to_mem.obj (.text:_ump_capture)
00009e2c 00000088 rts2800_fpu32.lib : fs_div.obj (.text)
00009eb4 00000085 DSP2833x_SysCtrl.obj (.text:_InitPeripheralClocks)
00009f39 00000084 bios.obj (.text:_extendbios)
00009fbd 00000001 bios.obj (.text:_init)
00009fbe 00000083 shared_ump.obj (.text:_ump_rtu_encode)
0000a041 00000082 DSP2833x_SysCtrl.obj (.text:_InitPll)
0000a0c3 00000078 bios.obj (.text:_peek)
0000a13b 00000072 ecan.obj (.text:_Handlai)
0000a1ad 00000071 shared_ump.obj (.text:_ump_validate)
0000a21e 00000070 log_to_mem.obj (.text:_ump_log_write)
0000a28e 0000006e RS485.obj (.text:_RS_TX_Handler)
0000a2fc 00000069 DAC.obj (.text:_Load_protection_prepare)
0000a365 00000062 measure.obj (.text:_Init_sensors_more)
0000a3c7 00000059 DSP2833x_Xintf.obj (.text:_InitXintf16Gpio)
0000a420 00000057 bios.obj (.text:_get_command)
0000a477 00000050 message.obj (.text:_ReceiveCommandModbus6)
0000a4c7 0000004f RS485.obj (.text:_RS_FifoStart)
0000a516 0000004e DAC.obj (.text:_anal_output)
0000a564 0000004e DAC.obj (.text:_load_start)
0000a5b2 0000004d shared_ump.obj (.text:_ump_prepare)
0000a5ff 0000004b RS485.obj (.text:_RS_Send)
0000a64a 0000004a ecan.obj (.text:_CANa_handler)
0000a694 00000049 RS485.obj (.text:_RS_FifoAbort)
0000a6dd 00000049 bios.obj (.text:_load)
0000a726 00000048 ecan.obj (.text:_CAN_send)
0000a76e 00000047 bios.obj (.text:_initload)
0000a7b5 00000046 RS485.obj (.text:_RSA_RX_Handler)
0000a7fb 00000046 RS485.obj (.text:_RSA_TX_Handler)
0000a841 00000046 RS485.obj (.text:_RSB_RX_Handler)
0000a887 00000046 RS485.obj (.text:_RSB_TX_Handler)
0000a8cd 00000046 rts2800_fpu32.lib : boot.obj (.text)
0000a913 00000042 log_to_mem.obj (.text:_ump_log_can)
0000a955 00000041 spise2p.obj (.text:_Seeprom_read)
0000a996 00000041 spise2p.obj (.text:_Seeprom_write)
0000a9d7 00000041 RS485.obj (.text:_setup_arr_cmd_length)
0000aa18 00000040 message.obj (.text:_Load_params)
0000aa58 0000003e RS485.obj (.text:_RS_SetLineSpeed)
0000aa96 0000003e tools.obj (.text:_init_zone7)
0000aad4 0000003b DSP2833x_CpuTimers.obj (.text:_InitCpuTimers)
0000ab0f 0000003b DAC.obj (.text:_Load_voltage_can)
0000ab4a 0000003b shared_ump.obj (.text:_ump_can_fragment)
0000ab85 0000003a bios.obj (.text:_poke)
0000abbf 00000039 spise2p.obj (.text:_cpu_timer2_isr)
0000abf8 00000038 message.obj (.text:_SendCommandModbus4)
0000ac30 00000038 shared_ump.obj (.text:_ump_tms28335_fragment)
0000ac68 00000037 RS485.obj (.text:_RS_BSend)
0000ac9f 00000001 bios.obj (.text:_run)
0000aca0 00000037 message.obj (.text:_ReceiveAnswerModbus4)
0000acd7 00000033 bios.obj (.text:_Answer)
0000ad0a 00000033 message.obj (.text:_modbus_exception)
0000ad3d 00000033 log_to_mem.obj (.text:_ump_word)
0000ad70 00000032 spise2p.obj (.text:_SPISE2P_DRV_init)
0000ada2 00000032 peripher.obj (.text:_unsetup_leds_line)
0000add4 00000031 DAC.obj (.text:_dSEND)
0000ae05 0000002f RS485.obj (.text:_RS_FifoTick1ms)
0000ae34 0000002e filter_bat2.obj (.text:_filterbat)
0000ae62 0000002e log_to_mem.obj (.text:_ump_log_io)
0000ae90 0000002d RS485.obj (.text:_RS_SetLineMode)
0000aebd 0000002d main.obj (.text:_timer_Init)
0000aeea 0000002c crc16.obj (.text:_get_crc_16b)
0000af16 0000002b ecan.obj (.text:_CANa_reset_err)
0000af41 0000002a rts2800_fpu32.lib : l_div.obj (.text)
0000af6b 00000029 spise2p.obj (.text:_InitSeeprom)
0000af94 00000027 crc16.obj (.text:_get_crc16)
0000afbb 00000024 message.obj (.text:_Save_params)
0000afdf 00000024 DAC.obj (.text:_load_stop)
0000b003 00000024 peripher.obj (.text:_select_tpl_255)
0000b027 00000022 peripher.obj (.text:_setup_leds_line)
0000b049 00000021 DSP2833x_CpuTimers.obj (.text:_ConfigCpuTimer)
0000b06a 00000020 DAC.obj (.text:_Setup_DAC_time)
0000b08a 00000020 rts2800_fpu32.lib : sqrt.obj (.text)
0000b0aa 0000001f DSP2833x_PieCtrl.obj (.text:_InitPieCtrl)
0000b0c9 0000001f measure.obj (.text:_reset_errs)
0000b0e8 0000001e DAC.obj (.text:_Load_control_init)
0000b106 0000001e kanal.obj (.text:_SENDBIT)
0000b124 0000001d log_to_mem.obj (.text:_ump_log_init)
0000b141 0000001d shared_ump.obj (.text:_ump_tms28335_prepare)
0000b15e 0000001d pulto.obj (.text:_what_is)
0000b17b 0000001c DAC.obj (.text:_Init_DAC)
0000b197 0000001c measure.obj (.text:_im_calc)
0000b1b3 0000001c shared_ump.obj (.text:_ump_crc)
0000b1cf 0000001c shared_ump.obj (.text:_ump_tms28335_capture)
0000b1eb 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ADCINT_ISR)
0000b206 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_DINTCH1_ISR)
0000b221 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_DINTCH2_ISR)
0000b23c 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_DINTCH3_ISR)
0000b257 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_DINTCH4_ISR)
0000b272 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_DINTCH5_ISR)
0000b28d 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_DINTCH6_ISR)
0000b2a8 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAN0INTA_ISR)
0000b2c3 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAN0INTB_ISR)
0000b2de 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAN1INTA_ISR)
0000b2f9 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAN1INTB_ISR)
0000b314 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAP1_INT_ISR)
0000b32f 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAP2_INT_ISR)
0000b34a 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAP3_INT_ISR)
0000b365 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAP4_INT_ISR)
0000b380 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAP5_INT_ISR)
0000b39b 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ECAP6_INT_ISR)
0000b3b6 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM1_INT_ISR)
0000b3d1 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM1_TZINT_ISR)
0000b3ec 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM2_INT_ISR)
0000b407 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM2_TZINT_ISR)
0000b422 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM3_INT_ISR)
0000b43d 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM3_TZINT_ISR)
0000b458 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM4_INT_ISR)
0000b473 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM4_TZINT_ISR)
0000b48e 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM5_INT_ISR)
0000b4a9 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM5_TZINT_ISR)
0000b4c4 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM6_INT_ISR)
0000b4df 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EPWM6_TZINT_ISR)
0000b4fa 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EQEP1_INT_ISR)
0000b515 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EQEP2_INT_ISR)
0000b530 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_I2CINT1A_ISR)
0000b54b 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_I2CINT2A_ISR)
0000b566 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_LUF_ISR)
0000b581 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_LVF_ISR)
0000b59c 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_MRINTA_ISR)
0000b5b7 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_MRINTB_ISR)
0000b5d2 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_MXINTA_ISR)
0000b5ed 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_MXINTB_ISR)
0000b608 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SCIRXINTA_ISR)
0000b623 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SCIRXINTB_ISR)
0000b63e 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SCIRXINTC_ISR)
0000b659 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SCITXINTA_ISR)
0000b674 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SCITXINTB_ISR)
0000b68f 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SCITXINTC_ISR)
0000b6aa 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SEQ1INT_ISR)
0000b6c5 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SEQ2INT_ISR)
0000b6e0 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SPIRXINTA_ISR)
0000b6fb 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_SPITXINTA_ISR)
0000b716 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_TINT0_ISR)
0000b731 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_WAKEINT_ISR)
0000b74c 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_XINT3_ISR)
0000b767 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_XINT4_ISR)
0000b782 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_XINT5_ISR)
0000b79d 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_XINT6_ISR)
0000b7b8 0000001b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_XINT7_ISR)
0000b7d3 0000001b rts2800_fpu32.lib : args_main.obj (.text)
0000b7ee 0000001a RS485.obj (.text:_RS_SetBitMode)
0000b808 0000001a RS485.obj (.text:_create_uart_vars)
0000b822 00000019 DSP2833x_Adc.obj (.text:_InitAdc)
0000b83b 00000019 DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_XINT1_ISR)
0000b854 00000019 DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_XINT2_ISR)
0000b86d 00000019 rts2800_fpu32.lib : exit.obj (.text)
0000b886 00000019 : prolog.obj (.text)
0000b89f 00000018 kanal.obj (.text:_RESET)
0000b8b7 00000018 log_to_mem.obj (.text:_ump_log_tick)
0000b8cf 00000017 log_to_mem.obj (.text:_clear_mem)
0000b8e6 00000016 DSP2833x_SysCtrl.obj (.text:_ServiceDog)
0000b8fc 00000014 bios.obj (.text:__getbyte)
0000b910 00000014 measure.obj (.text:_er_anal)
0000b924 00000014 log_to_mem.obj (.text:_ump_outputs)
0000b938 00000013 RS485.obj (.text:_RS_FifoWait)
0000b94b 00000013 log_to_mem.obj (.text:_ump_inputs)
0000b95e 00000012 crc16.obj (.text:_get_crc_16)
0000b970 00000010 tools.obj (.text:_pause_us)
0000b980 00000010 shared_ump.obj (.text:_read_word)
0000b990 0000000d DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_DATALOG_ISR)
0000b99d 0000000d DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_INT13_ISR)
0000b9aa 0000000d DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_INT14_ISR)
0000b9b7 0000000d DSP2833x_SWPrioritizedPieVect.obj (.text:_InitPieVectTable)
0000b9c4 0000000d DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_RTOSINT_ISR)
0000b9d1 0000000c rts2800_fpu32.lib : epilog.obj (.text)
0000b9dd 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_EMUINT_ISR)
0000b9e8 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_ILLEGAL_ISR)
0000b9f3 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_NMI_ISR)
0000b9fe 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER10_ISR)
0000ba09 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER11_ISR)
0000ba14 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER12_ISR)
0000ba1f 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER1_ISR)
0000ba2a 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER2_ISR)
0000ba35 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER3_ISR)
0000ba40 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER4_ISR)
0000ba4b 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER5_ISR)
0000ba56 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER6_ISR)
0000ba61 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER7_ISR)
0000ba6c 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER8_ISR)
0000ba77 0000000b DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_USER9_ISR)
0000ba82 0000000b log_to_mem.obj (.text:_ump_log_rs)
0000ba8d 0000000b rts2800_fpu32.lib : u_div.obj (.text)
0000ba98 0000000a DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_INT_NOTUSED_ISR)
0000baa2 0000000a DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_PIE_RESERVED)
0000baac 0000000a DSP2833x_SWPrioritizedDefaultIsr.obj (.text:_rsvd_ISR)
0000bab6 00000009 DSP2833x_PieCtrl.obj (.text:_EnableInterrupts)
0000babf 00000009 DSP2833x_SysCtrl.obj (.text:_InitSysCtrl)
0000bac8 00000009 rts2800_fpu32.lib : _lock.obj (.text)
0000bad1 00000008 DSP2833x_SysCtrl.obj (.text:_DisableDog)
0000bad9 00000007 rts2800_fpu32.lib : memset.obj (.text)
0000bae0 00000005 spise2p.obj (.text:_SPISE2P_DRV_csclr)
0000bae5 00000005 spise2p.obj (.text:_SPISE2P_DRV_csset)
0000baea 00000005 cntrl_adr.obj (.text:_set_cntrl_addr)
0000baef 00000004 DSP2833x_usDelay.obj (.text)
0000baf3 00000003 shared_ump.obj (.text:_write_word)
0000baf6 00000001 bios.obj (.text:_tflash)
ramfuncs 0 0000c000 00000000 UNINITIALIZED
@@ -370,15 +370,14 @@ ramfuncs 0 0000c000 00000000 UNINITIALIZED
.stack 1 00000400 000003f0 UNINITIALIZED
00000400 000003f0 --HOLE--
.ebss 1 0000d000 0000105e UNINITIALIZED
0000d000 0000070a RS485.obj (.ebss)
0000d70a 00000020 measure.obj (.ebss:_din_count)
0000d72a 00000012 measure.obj (.ebss:_powK)
0000d73c 00000004 ADC.obj (.ebss:_adc_table_lem)
.ebss 1 0000d000 00001064 UNINITIALIZED
0000d000 00000710 RS485.obj (.ebss)
0000d710 00000020 measure.obj (.ebss:_din_count)
0000d730 00000010 measure.obj (.ebss:_Maska)
0000d740 000001b0 measure.obj (.ebss:_adc_filter)
0000d8f0 00000010 measure.obj (.ebss:_Maska)
0000d8f0 00000010 kanal.obj (.ebss:_digits)
0000d900 000001b0 measure.obj (.ebss:_out_filter)
0000dab0 00000010 kanal.obj (.ebss:_digits)
0000dab0 00000010 peripher.obj (.ebss)
0000dac0 00000100 crc16.obj (.ebss:_crc_16_tab)
0000dbc0 00000081 message.obj (.ebss:_modbus)
0000dc41 00000001 bios.obj (.ebss)
@@ -389,9 +388,9 @@ ramfuncs 0 0000c000 00000000 UNINITIALIZED
0000dd02 00000038 measure.obj (.ebss)
0000dd3a 00000006 measure.obj (.ebss:_err_count)
0000dd40 0000007c ecan.obj (.ebss:_ump_can_reply)
0000ddbc 00000004 cntrl_adr.obj (.ebss)
0000ddbc 00000004 ADC.obj (.ebss:_adc_table_lem)
0000ddc0 0000007c message.obj (.ebss:_words$3)
0000de3c 00000004 rts2800_fpu32.lib : _lock.obj (.ebss)
0000de3c 00000004 cntrl_adr.obj (.ebss)
0000de40 00000048 measure.obj (.ebss:_zer_filter)
0000de88 00000020 log_to_mem.obj (.ebss)
0000dea8 00000018 DAC.obj (.ebss)
@@ -405,21 +404,22 @@ ramfuncs 0 0000c000 00000000 UNINITIALIZED
0000dfb4 0000000c ADC.obj (.ebss)
0000dfc0 00000018 measure.obj (.ebss:_sens_pair)
0000dfd8 00000018 measure.obj (.ebss:_sens_type)
0000dff0 00000010 peripher.obj (.ebss)
0000dff0 0000000c measure.obj (.ebss:_lev_quadr)
0000dffc 00000004 rts2800_fpu32.lib : _lock.obj (.ebss)
0000e000 00000018 ecan.obj (.ebss)
0000e018 0000000c measure.obj (.ebss:_lev_quadr)
0000e024 0000000a pulto.obj (.ebss)
0000e02e 00000008 measure.obj (.ebss:_ext_diag)
0000e036 00000008 measure.obj (.ebss:_ext_temp)
0000e03e 00000002 main.obj (.ebss:_cancount$1)
0000e040 00000008 measure.obj (.ebss:_zer_count)
0000e048 00000006 measure.obj (.ebss:_lev_count)
0000e04e 00000005 kanal.obj (.ebss:_readr)
0000e053 00000001 rts2800_fpu32.lib : errno.obj (.ebss)
0000e054 00000004 : exit.obj (.ebss)
0000e058 00000002 ADC.obj (.ebss:_cwnt_ok$4)
0000e05a 00000002 measure.obj (.ebss:_low_count)
0000e05c 00000002 log_to_mem.obj (.ebss:_ump_pm67_voltage)
0000e018 00000012 measure.obj (.ebss:_powK)
0000e02a 0000000a pulto.obj (.ebss)
0000e034 00000008 measure.obj (.ebss:_ext_diag)
0000e03c 00000004 rts2800_fpu32.lib : exit.obj (.ebss)
0000e040 00000008 measure.obj (.ebss:_ext_temp)
0000e048 00000008 measure.obj (.ebss:_zer_count)
0000e050 00000006 measure.obj (.ebss:_lev_count)
0000e056 00000005 kanal.obj (.ebss:_readr)
0000e05b 00000002 main.obj (.ebss:_cancount$1)
0000e05d 00000002 ADC.obj (.ebss:_cwnt_ok$4)
0000e05f 00000002 measure.obj (.ebss:_low_count)
0000e061 00000002 log_to_mem.obj (.ebss:_ump_pm67_voltage)
0000e063 00000001 rts2800_fpu32.lib : errno.obj (.ebss)
.logg 1 00200000 0000fa00 UNINITIALIZED
00200000 0000fa00 log_to_mem.obj (.logg)
@@ -657,7 +657,7 @@ MODULE SUMMARY
K:\git_project\Balsam_167_periph\Debug\Source\Internal\
log_to_mem.obj 718 52 64034
measure.obj 2458 87 1212
RS485.obj 1615 8 1872
RS485.obj 1688 8 1878
message.obj 875 82 446
peripher.obj 972 32 16
ADC.obj 874 13 74
@@ -667,14 +667,14 @@ MODULE SUMMARY
spise2p.obj 578 71 28
crc16.obj 101 259 256
shared_ump.obj 540 24 0
main.obj 460 0 5
main.obj 467 0 5
pulto.obj 352 17 10
kanal.obj 321 27 21
tools.obj 78 0 0
filter_bat2.obj 46 0 0
cntrl_adr.obj 5 11 4
+--+--------------------------------------+-------+------------------+--------------------+
Total: 12245 715 68151
Total: 12325 715 68157
K:/git_project/Balsam_167_periph/Libraries/rts2800_fpu32.lib
fs_div.obj 136 0 0
@@ -694,7 +694,7 @@ MODULE SUMMARY
Stack: 0 0 1008
+--+--------------------------------------+-------+------------------+--------------------+
Grand Total: 15022 995 71877
Grand Total: 15102 995 71883
GLOBAL DATA SYMBOLS: SORTED BY DATA PAGE
@@ -799,17 +799,30 @@ address data page name
0000d3c0 34f (0000d3c0) _rs_b
0000d70a 35c (0000d700) _din_count
0000d72a 35c (0000d700) _powK
0000d73c 35c (0000d700) _adc_table_lem
0000d710 35c (0000d700) _din_count
0000d730 35c (0000d700) _Maska
0000d740 35d (0000d740) _adc_filter
0000d8f0 363 (0000d8c0) _Maska
0000d8f0 363 (0000d8c0) _digits
0000d900 364 (0000d900) _out_filter
0000dab0 36a (0000da80) _digits
0000dab0 36a (0000da80) _Mode
0000dab1 36a (0000da80) _Desk
0000dab2 36a (0000da80) _TermoAD
0000dab3 36a (0000da80) _TermoRS
0000dab4 36a (0000da80) _TermoSW
0000dab5 36a (0000da80) _Kurrent
0000dab6 36a (0000da80) _Kalibro
0000dab7 36a (0000da80) _Owen
0000dab8 36a (0000da80) _INcount0
0000dab9 36a (0000da80) _INcount1
0000daba 36a (0000da80) _MUX_GPIO32
0000dabb 36a (0000da80) _MUX_GPIO48
0000dabc 36a (0000da80) _DIR_GPIO32
0000dabd 36a (0000da80) _DIR_GPIO48
0000dabe 36a (0000da80) _DigErr
0000dac0 36b (0000dac0) _crc_16_tab
@@ -848,13 +861,12 @@ address data page name
0000dd28 374 (0000dd00) _def_FILTERBAT
0000dd3a 374 (0000dd00) _err_count
0000ddbc 376 (0000dd80) _ADDR_FOR_ALL
0000ddbd 376 (0000dd80) _CNTRL_ADDR
0000ddbe 376 (0000dd80) _cntr_addr_c
0000ddbf 376 (0000dd80) _cntr_addr_c_all
0000ddbc 376 (0000dd80) _adc_table_lem
0000de3c 378 (0000de00) __unlock
0000de3e 378 (0000de00) __lock
0000de3c 378 (0000de00) _ADDR_FOR_ALL
0000de3d 378 (0000de00) _CNTRL_ADDR
0000de3e 378 (0000de00) _cntr_addr_c
0000de3f 378 (0000de00) _cntr_addr_c_all
0000de40 379 (0000de40) _zer_filter
@@ -887,21 +899,9 @@ address data page name
0000dfc0 37f (0000dfc0) _sens_pair
0000dfd8 37f (0000dfc0) _sens_type
0000dff0 37f (0000dfc0) _Mode
0000dff1 37f (0000dfc0) _Desk
0000dff2 37f (0000dfc0) _TermoAD
0000dff3 37f (0000dfc0) _TermoRS
0000dff4 37f (0000dfc0) _TermoSW
0000dff5 37f (0000dfc0) _Kurrent
0000dff6 37f (0000dfc0) _Kalibro
0000dff7 37f (0000dfc0) _Owen
0000dff8 37f (0000dfc0) _INcount0
0000dff9 37f (0000dfc0) _INcount1
0000dffa 37f (0000dfc0) _MUX_GPIO32
0000dffb 37f (0000dfc0) _MUX_GPIO48
0000dffc 37f (0000dfc0) _DIR_GPIO32
0000dffd 37f (0000dfc0) _DIR_GPIO48
0000dffe 37f (0000dfc0) _DigErr
0000dff0 37f (0000dfc0) _lev_quadr
0000dffc 37f (0000dfc0) __unlock
0000dffe 37f (0000dfc0) __lock
0000e000 380 (0000e000) _CanTimeOutErrorTR
0000e001 380 (0000e000) _wait
@@ -911,21 +911,21 @@ address data page name
0000e010 380 (0000e000) _TestMbox1
0000e012 380 (0000e000) _TestMbox2
0000e014 380 (0000e000) _TestMbox3
0000e018 380 (0000e000) _lev_quadr
0000e024 380 (0000e000) _isNumb
0000e025 380 (0000e000) _quaLamp
0000e02a 380 (0000e000) _isMask
0000e02c 380 (0000e000) _Lonely
0000e02e 380 (0000e000) _ext_diag
0000e036 380 (0000e000) _ext_temp
0000e018 380 (0000e000) _powK
0000e02a 380 (0000e000) _isNumb
0000e02b 380 (0000e000) _quaLamp
0000e030 380 (0000e000) _isMask
0000e032 380 (0000e000) _Lonely
0000e034 380 (0000e000) _ext_diag
0000e03c 380 (0000e000) __cleanup_ptr
0000e03e 380 (0000e000) __dtors_ptr
0000e040 381 (0000e040) _zer_count
0000e048 381 (0000e040) _lev_count
0000e04e 381 (0000e040) _readr
0000e053 381 (0000e040) _errno
0000e054 381 (0000e040) __cleanup_ptr
0000e056 381 (0000e040) __dtors_ptr
0000e05a 381 (0000e040) _low_count
0000e040 381 (0000e040) _ext_temp
0000e048 381 (0000e040) _zer_count
0000e050 381 (0000e040) _lev_count
0000e056 381 (0000e040) _readr
0000e05f 381 (0000e040) _low_count
0000e063 381 (0000e040) _errno
00200000 8000 (00200000) _logs_block
@@ -939,27 +939,27 @@ GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name
page address name
---- ------- ----
0 00008000 .text
0 0000b81d C$$EXIT
0 00009e00 FS$$DIV
0 0000aecb L$$DIV
0 0000aeda L$$MOD
0 0000ba3d U$$DIV
0 0000ba42 U$$MOD
0 0000aee8 UL$$DIV
0 0000aeef UL$$MOD
0 0000b19b _ADCINT_ISR
0 0000b86d C$$EXIT
0 00009e2c FS$$DIV
0 0000af41 L$$DIV
0 0000af50 L$$MOD
0 0000ba8d U$$DIV
0 0000ba92 U$$MOD
0 0000af5e UL$$DIV
0 0000af65 UL$$MOD
0 0000b1eb _ADCINT_ISR
0 00380080 _ADC_cal
1 0000df06 _ADC_table
0 0000c39c _ADDR_ANSWER
1 0000ddbc _ADDR_FOR_ALL
1 0000de3c _ADDR_FOR_ALL
0 0000c39d _ADDR_TERMINAL
1 00000b00 _AdcMirror
1 00007100 _AdcRegs
0 0000ac61 _Answer
0 0000a6ae _CAN_send
0 0000a61b _CANa_handler
0 0000aea0 _CANa_reset_err
1 0000ddbd _CNTRL_ADDR
0 0000acd7 _Answer
0 0000a726 _CAN_send
0 0000a64a _CANa_handler
0 0000af16 _CANa_reset_err
1 0000de3d _CNTRL_ADDR
0 0000c39e _CNTRL_ADDR_UNIVERSAL
1 0000dfb5 _COUNT_DISCHARGE
1 0000dfb4 _COUNT_ONE_CANAL
@@ -968,7 +968,7 @@ page address name
1 0000dd03 _CanGO
1 0000dd02 _CanPowse
1 0000e000 _CanTimeOutErrorTR
0 0000aff9 _ConfigCpuTimer
0 0000b049 _ConfigCpuTimer
1 0000df9c _CpuTimer0
1 00000c00 _CpuTimer0Regs
1 0000dfa4 _CpuTimer1
@@ -979,32 +979,32 @@ page address name
1 00000ae0 _CsmRegs
1 0000dd12 _Curr_Edge
0 00008000 _Current_count
0 0000b940 _DATALOG_ISR
0 0000b1b6 _DINTCH1_ISR
0 0000b1d1 _DINTCH2_ISR
0 0000b1ec _DINTCH3_ISR
0 0000b207 _DINTCH4_ISR
0 0000b222 _DINTCH5_ISR
0 0000b23d _DINTCH6_ISR
1 0000dffc _DIR_GPIO32
1 0000dffd _DIR_GPIO48
0 0000ba9f _DSP28x_usDelay
0 00009586 _Default_params
1 0000dff1 _Desk
0 0000b990 _DATALOG_ISR
0 0000b206 _DINTCH1_ISR
0 0000b221 _DINTCH2_ISR
0 0000b23c _DINTCH3_ISR
0 0000b257 _DINTCH4_ISR
0 0000b272 _DINTCH5_ISR
0 0000b28d _DINTCH6_ISR
1 0000dabc _DIR_GPIO32
1 0000dabd _DIR_GPIO48
0 0000baef _DSP28x_usDelay
0 0000959a _Default_params
1 0000dab1 _Desk
1 00000880 _DevEmuRegs
1 0000dffe _DigErr
0 0000ba81 _DisableDog
1 0000dabe _DigErr
0 0000bad1 _DisableDog
1 00001000 _DmaRegs
0 0000b258 _ECAN0INTA_ISR
0 0000b273 _ECAN0INTB_ISR
0 0000b28e _ECAN1INTA_ISR
0 0000b2a9 _ECAN1INTB_ISR
0 0000b2c4 _ECAP1_INT_ISR
0 0000b2df _ECAP2_INT_ISR
0 0000b2fa _ECAP3_INT_ISR
0 0000b315 _ECAP4_INT_ISR
0 0000b330 _ECAP5_INT_ISR
0 0000b34b _ECAP6_INT_ISR
0 0000b2a8 _ECAN0INTA_ISR
0 0000b2c3 _ECAN0INTB_ISR
0 0000b2de _ECAN1INTA_ISR
0 0000b2f9 _ECAN1INTB_ISR
0 0000b314 _ECAP1_INT_ISR
0 0000b32f _ECAP2_INT_ISR
0 0000b34a _ECAP3_INT_ISR
0 0000b365 _ECAP4_INT_ISR
0 0000b380 _ECAP5_INT_ISR
0 0000b39b _ECAP6_INT_ISR
1 00006040 _ECanaLAMRegs
1 000060c0 _ECanaMOTORegs
1 00006080 _ECanaMOTSRegs
@@ -1026,30 +1026,30 @@ abs 00007ffe _EEPROM_PARAMS_END_BYTE
abs 00007efc _EEPROM_PARAMS_START_BYTE
abs 00003f7e _EEPROM_PARAMS_START_WORD
abs 00008000 _EEPROM_TOTAL_BYTES
0 0000b98d _EMUINT_ISR
0 0000b366 _EPWM1_INT_ISR
0 0000b381 _EPWM1_TZINT_ISR
0 0000b39c _EPWM2_INT_ISR
0 0000b3b7 _EPWM2_TZINT_ISR
0 0000b3d2 _EPWM3_INT_ISR
0 0000b3ed _EPWM3_TZINT_ISR
0 0000b408 _EPWM4_INT_ISR
0 0000b423 _EPWM4_TZINT_ISR
0 0000b43e _EPWM5_INT_ISR
0 0000b459 _EPWM5_TZINT_ISR
0 0000b474 _EPWM6_INT_ISR
0 0000b48f _EPWM6_TZINT_ISR
0 0000b9dd _EMUINT_ISR
0 0000b3b6 _EPWM1_INT_ISR
0 0000b3d1 _EPWM1_TZINT_ISR
0 0000b3ec _EPWM2_INT_ISR
0 0000b407 _EPWM2_TZINT_ISR
0 0000b422 _EPWM3_INT_ISR
0 0000b43d _EPWM3_TZINT_ISR
0 0000b458 _EPWM4_INT_ISR
0 0000b473 _EPWM4_TZINT_ISR
0 0000b48e _EPWM5_INT_ISR
0 0000b4a9 _EPWM5_TZINT_ISR
0 0000b4c4 _EPWM6_INT_ISR
0 0000b4df _EPWM6_TZINT_ISR
1 00006800 _EPwm1Regs
1 00006840 _EPwm2Regs
1 00006880 _EPwm3Regs
1 000068c0 _EPwm4Regs
1 00006900 _EPwm5Regs
1 00006940 _EPwm6Regs
0 0000b4aa _EQEP1_INT_ISR
0 0000b4c5 _EQEP2_INT_ISR
0 0000b4fa _EQEP1_INT_ISR
0 0000b515 _EQEP2_INT_ISR
1 00006b00 _EQep1Regs
1 00006b40 _EQep2Regs
0 0000ba66 _EnableInterrupts
0 0000bab6 _EnableInterrupts
1 0000e00a _ErrorCount
1 0000dfb7 _FILTER_CLIP
1 00000a80 _FlashRegs
@@ -1057,150 +1057,150 @@ abs 00008000 _EEPROM_TOTAL_BYTES
1 00006fc0 _GpioDataRegs
1 00006fe0 _GpioIntRegs
1 0000dc7e _HSPCLK
0 0000a10f _Handlai
0 0000b4e0 _I2CINT1A_ISR
0 0000b4fb _I2CINT2A_ISR
0 0000a13b _Handlai
0 0000b530 _I2CINT1A_ISR
0 0000b54b _I2CINT2A_ISR
1 00007900 _I2caRegs
0 0000b998 _ILLEGAL_ISR
0 0000b9e8 _ILLEGAL_ISR
1 0000deba _IMPowse
0 0000b94d _INT13_ISR
0 0000b95a _INT14_ISR
0 0000ba48 _INT_NOTUSED_ISR
1 0000dff8 _INcount0
1 0000dff9 _INcount1
0 0000b7d2 _InitAdc
0 000098a1 _InitCan
0 0000aa5f _InitCpuTimers
0 00009e88 _InitPeripheralClocks
0 0000b05a _InitPieCtrl
0 0000b967 _InitPieVectTable
0 0000a015 _InitPll
0 0000aef5 _InitSeeprom
0 0000ba6f _InitSysCtrl
0 0000a39b _InitXintf16Gpio
0 0000b12b _Init_DAC
0 00009bc6 _Init_packMask
0 00009022 _Init_sensors
0 0000a339 _Init_sensors_more
0 0000b99d _INT13_ISR
0 0000b9aa _INT14_ISR
0 0000ba98 _INT_NOTUSED_ISR
1 0000dab8 _INcount0
1 0000dab9 _INcount1
0 0000b822 _InitAdc
0 000098cc _InitCan
0 0000aad4 _InitCpuTimers
0 00009eb4 _InitPeripheralClocks
0 0000b0aa _InitPieCtrl
0 0000b9b7 _InitPieVectTable
0 0000a041 _InitPll
0 0000af6b _InitSeeprom
0 0000babf _InitSysCtrl
0 0000a3c7 _InitXintf16Gpio
0 0000b17b _Init_DAC
0 00009bf0 _Init_packMask
0 00009036 _Init_sensors
0 0000a365 _Init_sensors_more
1 0000dd1e _K100
1 0000dd20 _K_50
1 0000dd22 _K_T1
1 0000dd24 _K_T2
1 0000dff6 _Kalibro
1 0000dff5 _Kurrent
1 0000dab6 _Kalibro
1 0000dab5 _Kurrent
1 0000dc7c _LSPCLK
0 0000b516 _LUF_ISR
0 0000b531 _LVF_ISR
0 0000b098 _Load_control_init
0 0000a9e1 _Load_params
0 0000a2d0 _Load_protection_prepare
0 00008c31 _Load_runner
0 0000aa9a _Load_voltage_can
0 0000b566 _LUF_ISR
0 0000b581 _LVF_ISR
0 0000b0e8 _Load_control_init
0 0000aa18 _Load_params
0 0000a2fc _Load_protection_prepare
0 00008d97 _Load_runner
0 0000ab0f _Load_voltage_can
1 0000dea0 _Log
1 0000e02c _Lonely
0 0000b54c _MRINTA_ISR
0 0000b567 _MRINTB_ISR
1 0000dffa _MUX_GPIO32
1 0000dffb _MUX_GPIO48
0 0000b582 _MXINTA_ISR
0 0000b59d _MXINTB_ISR
1 0000d8f0 _Maska
1 0000e032 _Lonely
0 0000b59c _MRINTA_ISR
0 0000b5b7 _MRINTB_ISR
1 0000daba _MUX_GPIO32
1 0000dabb _MUX_GPIO48
0 0000b5d2 _MXINTA_ISR
0 0000b5ed _MXINTB_ISR
1 0000d730 _Maska
1 00005000 _McbspaRegs
1 00005040 _McbspbRegs
1 0000e00c _MessageReceivedCount
1 0000e00e _MessageTransivedCount
1 0000dff0 _Mode
0 0000b9a3 _NMI_ISR
1 0000dff7 _Owen
0 0000ba52 _PIE_RESERVED
1 0000dab0 _Mode
0 0000b9f3 _NMI_ISR
1 0000dab7 _Owen
0 0000baa2 _PIE_RESERVED
1 00380090 _PartIdRegs
1 00000ce0 _PieCtrlRegs
1 00000d00 _PieVectTable
0 0000c274 _PieVectTableInit
0 0000948d _Power_count
0 000094a1 _Power_count
1 0000dd04 _READY
0 0000b84f _RESET
0 0000a73d _RSA_RX_Handler
0 0000a783 _RSA_TX_Handler
0 0000a7c9 _RSB_RX_Handler
0 0000a80f _RSB_TX_Handler
0 0000abf3 _RS_BSend
0 0000ad8f _RS_FifoTick1ms
0 0000b8e8 _RS_FifoWait
0 0000b89f _RESET
0 0000a7b5 _RSA_RX_Handler
0 0000a7fb _RSA_TX_Handler
0 0000a841 _RSB_RX_Handler
0 0000a887 _RSB_TX_Handler
0 0000ac68 _RS_BSend
0 0000ae05 _RS_FifoTick1ms
0 0000b938 _RS_FifoWait
1 0000dec0 _RS_Len
0 00008d8d _RS_RX_Handler
0 0000a5d0 _RS_Send
0 0000b79e _RS_SetBitMode
0 0000ae1a _RS_SetLineMode
0 0000af45 _RS_SetLineSpeed
0 0000a262 _RS_TX_Handler
0 0000b974 _RTOSINT_ISR
0 00008c38 _RS_RX_Handler
0 0000a5ff _RS_Send
0 0000b7ee _RS_SetBitMode
0 0000ae90 _RS_SetLineMode
0 0000aa58 _RS_SetLineSpeed
0 0000a28e _RS_TX_Handler
0 0000b9c4 _RTOSINT_ISR
0 0000c000 _RamfuncsLoadEnd
0 0000c000 _RamfuncsLoadStart
0 0000c000 _RamfuncsRunStart
0 0000ac2a _ReceiveAnswerModbus4
0 000099f6 _ReceiveCommandModbus3
0 0000a44b _ReceiveCommandModbus6
0 0000b5b8 _SCIRXINTA_ISR
0 0000b5d3 _SCIRXINTB_ISR
0 0000b5ee _SCIRXINTC_ISR
0 0000b609 _SCITXINTA_ISR
0 0000b624 _SCITXINTB_ISR
0 0000b63f _SCITXINTC_ISR
0 0000b0b6 _SENDBIT
0 0000b65a _SEQ1INT_ISR
0 0000b675 _SEQ2INT_ISR
0 0000b690 _SPIRXINTA_ISR
0 0000ba90 _SPISE2P_DRV_csclr
0 0000ba95 _SPISE2P_DRV_csset
0 0000acfa _SPISE2P_DRV_init
0 0000914b _SPISE2P_DRV_tick
0 0000b6ab _SPITXINTA_ISR
0 0000aca0 _ReceiveAnswerModbus4
0 00009a20 _ReceiveCommandModbus3
0 0000a477 _ReceiveCommandModbus6
0 0000b608 _SCIRXINTA_ISR
0 0000b623 _SCIRXINTB_ISR
0 0000b63e _SCIRXINTC_ISR
0 0000b659 _SCITXINTA_ISR
0 0000b674 _SCITXINTB_ISR
0 0000b68f _SCITXINTC_ISR
0 0000b106 _SENDBIT
0 0000b6aa _SEQ1INT_ISR
0 0000b6c5 _SEQ2INT_ISR
0 0000b6e0 _SPIRXINTA_ISR
0 0000bae0 _SPISE2P_DRV_csclr
0 0000bae5 _SPISE2P_DRV_csset
0 0000ad70 _SPISE2P_DRV_init
0 0000915f _SPISE2P_DRV_tick
0 0000b6fb _SPITXINTA_ISR
1 0000dc7a _SYSCLKOUT
0 0000af6b _Save_params
0 0000afbb _Save_params
1 00007050 _SciaRegs
1 00007750 _ScibRegs
1 00007770 _ScicRegs
0 0000a91e _Seeprom_read
0 0000a95f _Seeprom_write
0 0000ab83 _SendCommandModbus4
0 0000b896 _ServiceDog
0 0000b01a _Setup_DAC_time
0 0000a955 _Seeprom_read
0 0000a996 _Seeprom_write
0 0000abf8 _SendCommandModbus4
0 0000b8e6 _ServiceDog
0 0000b06a _Setup_DAC_time
1 00007040 _SpiaRegs
1 00007010 _SysCtrlRegs
0 0000b6c6 _TINT0_ISR
0 0000b716 _TINT0_ISR
1 0000dd05 _TPL_CANS
0 00008437 _Temper_count
1 0000dff2 _TermoAD
1 0000dff3 _TermoRS
1 0000dff4 _TermoSW
1 0000dab2 _TermoAD
1 0000dab3 _TermoRS
1 0000dab4 _TermoSW
1 0000e010 _TestMbox1
1 0000e012 _TestMbox2
1 0000e014 _TestMbox3
0 0000994d _UMP_CAN_service
0 0000b9ae _USER10_ISR
0 0000b9b9 _USER11_ISR
0 0000b9c4 _USER12_ISR
0 0000b9cf _USER1_ISR
0 0000b9da _USER2_ISR
0 0000b9e5 _USER3_ISR
0 0000b9f0 _USER4_ISR
0 0000b9fb _USER5_ISR
0 0000ba06 _USER6_ISR
0 0000ba11 _USER7_ISR
0 0000ba1c _USER8_ISR
0 0000ba27 _USER9_ISR
0 00009978 _UMP_CAN_service
0 0000b9fe _USER10_ISR
0 0000ba09 _USER11_ISR
0 0000ba14 _USER12_ISR
0 0000ba1f _USER1_ISR
0 0000ba2a _USER2_ISR
0 0000ba35 _USER3_ISR
0 0000ba40 _USER4_ISR
0 0000ba4b _USER5_ISR
0 0000ba56 _USER6_ISR
0 0000ba61 _USER7_ISR
0 0000ba6c _USER8_ISR
0 0000ba77 _USER9_ISR
1 0000dfbc _WAKE
0 0000b6e1 _WAKEINT_ISR
0 0000b731 _WAKEINT_ISR
1 0000dfbe _WAKE_TIME
1 0000deb8 _WAKEpowse
0 0000b7eb _XINT1_ISR
0 0000b804 _XINT2_ISR
0 0000b6fc _XINT3_ISR
0 0000b717 _XINT4_ISR
0 0000b732 _XINT5_ISR
0 0000b74d _XINT6_ISR
0 0000b768 _XINT7_ISR
0 0000b83b _XINT1_ISR
0 0000b854 _XINT2_ISR
0 0000b74c _XINT3_ISR
0 0000b767 _XINT4_ISR
0 0000b782 _XINT5_ISR
0 0000b79d _XINT6_ISR
0 0000b7b8 _XINT7_ISR
1 00007070 _XIntruptRegs
1 00000b20 _XintfRegs
1 000007f0 __STACK_END
@@ -1211,141 +1211,141 @@ abs ffffffff ___TI_prof_data_start
abs ffffffff ___binit__
abs ffffffff ___c_args__
0 0000c000 ___cinit__
0 0000baa7 ___etext__
0 0000baf7 ___etext__
abs ffffffff ___pinit__
0 00008000 ___text__
0 0000b783 __args_main
1 0000e054 __cleanup_ptr
1 0000e056 __dtors_ptr
1 0000de3e __lock
0 0000ba80 __nop
0 0000ba7c __register_lock
0 0000ba78 __register_unlock
0 0000b7d3 __args_main
1 0000e03c __cleanup_ptr
1 0000e03e __dtors_ptr
1 0000dffe __lock
0 0000bad0 __nop
0 0000bacc __register_lock
0 0000bac8 __register_unlock
1 00000400 __stack
1 0000de3c __unlock
0 0000b81d _abort
1 0000dffc __unlock
0 0000b86d _abort
1 0000d740 _adc_filter
0 0000825a _adc_isr
1 0000d73c _adc_table_lem
0 0000a855 _c_int00
1 0000ddbc _adc_table_lem
0 0000a8cd _c_int00
1 0000dd07 _cal_addr
0 000097f3 _calc_sensor_koef
0 0000981e _calc_sensor_koef
1 0000df80 _ccc
1 0000dd0b _chk
0 0000b87f _clear_mem
1 0000ddbe _cntr_addr_c
1 0000ddbf _cntr_addr_c_all
0 00008edf _cpu_timer1_isr_PULT
0 00008aad _cpu_timer1_isr_SENS
0 0000ab4a _cpu_timer2_isr
0 0000b8cf _clear_mem
1 0000de3e _cntr_addr_c
1 0000de3f _cntr_addr_c_all
0 00008ef3 _cpu_timer1_isr_PULT
0 00008ab4 _cpu_timer1_isr_SENS
0 0000abbf _cpu_timer2_isr
1 0000dac0 _crc_16_tab
0 0000b7b8 _create_uart_vars
0 0000ad5e _dSEND
0 0000b808 _create_uart_vars
0 0000add4 _dSEND
1 0000dd28 _def_FILTERBAT
1 0000df40 _def_cal
1 0000dab0 _digits
1 0000d70a _din_count
0 0000b981 _epilog_c28x_1
0 0000b985 _epilog_c28x_2
0 0000b8c0 _er_anal
1 0000d8f0 _digits
1 0000d710 _din_count
0 0000b9d1 _epilog_c28x_1
0 0000b9d5 _epilog_c28x_2
0 0000b910 _er_anal
1 0000dd3a _err_count
1 0000e053 _errno
0 0000b81f _exit
1 0000e02e _ext_diag
1 0000e036 _ext_temp
0 00009f0d _extendbios
0 0000adbe _filterbat
1 0000e063 _errno
0 0000b86f _exit
1 0000e034 _ext_diag
1 0000e040 _ext_temp
0 00009f39 _extendbios
0 0000ae34 _filterbat
1 0000dc41 _flag_DEBUG
1 0000de8a _flog
0 000085de _get_Buttons
0 0000926d _get_Mode
0 0000a3f4 _get_command
0 0000af1e _get_crc16
0 0000b90e _get_crc_16
0 0000ae74 _get_crc_16b
0 0000b147 _im_calc
0 000099f5 _init
0 0000aa21 _init_zone7
0 0000a6f6 _initload
1 0000e02a _isMask
1 0000e024 _isNumb
0 00009382 _kanal_Send
1 0000e048 _lev_count
1 0000e018 _lev_quadr
0 0000a665 _load
0 00008784 _get_Buttons
0 00009281 _get_Mode
0 0000a420 _get_command
0 0000af94 _get_crc16
0 0000b95e _get_crc_16
0 0000aeea _get_crc_16b
0 0000b197 _im_calc
0 00009fbd _init
0 0000aa96 _init_zone7
0 0000a76e _initload
1 0000e030 _isMask
1 0000e02a _isNumb
0 00009396 _kanal_Send
1 0000e050 _lev_count
1 0000dff0 _lev_quadr
0 0000a6dd _load
1 00200000 _logs_block
1 0000e05a _low_count
0 00008781 _main
0 0000ba89 _memset
1 0000e05f _low_count
0 000085de _main
0 0000bad9 _memset
1 0000dbc0 _modbus
1 0000de89 _never_write
1 0000de88 _no_write
1 0000dd13 _okay
1 0000d900 _out_filter
1 0000dc80 _param
0 0000b920 _pause_us
0 0000a097 _peek
0 0000b970 _pause_us
0 0000a0c3 _peek
1 0000dd0a _period_blink
1 0000dea8 _period_dac
1 0000dd09 _period_ready
0 0000ab10 _poke
1 0000d72a _powK
0 0000ab85 _poke
1 0000e018 _powK
1 0000dd08 _pow_addr
1 0000df22 _prev_ok
0 0000b836 _prolog_c28x_1
0 0000b83a _prolog_c28x_2
0 0000b842 _prolog_c28x_3
1 0000e025 _quaLamp
1 0000e04e _readr
0 0000b079 _reset_errs
0 0000b886 _prolog_c28x_1
0 0000b88a _prolog_c28x_2
0 0000b892 _prolog_c28x_3
1 0000e02b _quaLamp
1 0000e056 _readr
0 0000b0c9 _reset_errs
1 0000d040 _rs_a
1 0000d3c0 _rs_b
0 0000ba5c _rsvd_ISR
0 00009f91 _run
0 0000afb3 _select_tpl_255
0 00009a93 _select_tpl_canal
0 0000baac _rsvd_ISR
0 0000ac9f _run
0 0000b003 _select_tpl_255
0 00009abd _select_tpl_canal
1 0000dc42 _sens_count
1 0000dfc0 _sens_pair
1 0000dfd8 _sens_type
0 0000ba9a _set_cntrl_addr
0 00008920 _setup_adc
0 0000a9a0 _setup_arr_cmd_length
0 0000afd7 _setup_leds_line
0 00009672 _setup_uart
0 0000baea _set_cntrl_addr
0 00008927 _setup_adc
0 0000a9d7 _setup_arr_cmd_length
0 0000b027 _setup_leds_line
0 00009686 _setup_uart
1 0000dd0c _sig
0 0000b03a _sqrt
0 0000baa6 _tflash
0 0000b08a _sqrt
0 0000baf6 _tflash
1 0000dd0d _time_1_5sec
1 0000dd0f _time_3sec
1 0000dd0e _time_5msec
1 0000dd10 _time_5sec
1 0000dea9 _time_dac
0 0000ae47 _timer_Init
0 0000aebd _timer_Init
1 0000dd06 _tpl_cans
0 0000aad5 _ump_can_fragment
0 0000b163 _ump_crc
0 0000a89b _ump_log_can
0 0000b0d4 _ump_log_init
0 0000adec _ump_log_io
0 00009740 _ump_log_read
0 0000ba32 _ump_log_rs
0 0000b867 _ump_log_tick
0 0000a1f2 _ump_log_write
0 0000a537 _ump_prepare
0 00009f92 _ump_rtu_encode
0 0000b17f _ump_tms28335_capture
0 0000abbb _ump_tms28335_fragment
0 0000b0f1 _ump_tms28335_prepare
0 0000a181 _ump_validate
0 0000ad2c _unsetup_leds_line
0 00009b2f _upload
0 0000ab4a _ump_can_fragment
0 0000b1b3 _ump_crc
0 0000a913 _ump_log_can
0 0000b124 _ump_log_init
0 0000ae62 _ump_log_io
0 0000976b _ump_log_read
0 0000ba82 _ump_log_rs
0 0000b8b7 _ump_log_tick
0 0000a21e _ump_log_write
0 0000a5b2 _ump_prepare
0 00009fbe _ump_rtu_encode
0 0000b1cf _ump_tms28335_capture
0 0000ac30 _ump_tms28335_fragment
0 0000b141 _ump_tms28335_prepare
0 0000a1ad _ump_validate
0 0000ada2 _unsetup_leds_line
0 00009b59 _upload
1 0000e001 _wait
0 0000b10e _what_is
1 0000e040 _zer_count
0 0000b15e _what_is
1 0000e048 _zer_count
1 0000de40 _zer_filter
abs ffffffff binit
0 0000c000 cinit
0 0000baa7 etext
0 0000baf7 etext
abs ffffffff pinit
@@ -1358,224 +1358,224 @@ page address name
0 00008000 ___text__
0 0000825a _adc_isr
0 00008437 _Temper_count
0 000085de _get_Buttons
0 00008781 _main
0 00008920 _setup_adc
0 00008aad _cpu_timer1_isr_SENS
0 00008c31 _Load_runner
0 00008d8d _RS_RX_Handler
0 00008edf _cpu_timer1_isr_PULT
0 00009022 _Init_sensors
0 0000914b _SPISE2P_DRV_tick
0 0000926d _get_Mode
0 00009382 _kanal_Send
0 0000948d _Power_count
0 00009586 _Default_params
0 00009672 _setup_uart
0 00009740 _ump_log_read
0 000097f3 _calc_sensor_koef
0 000098a1 _InitCan
0 0000994d _UMP_CAN_service
0 000099f5 _init
0 000099f6 _ReceiveCommandModbus3
0 00009a93 _select_tpl_canal
0 00009b2f _upload
0 00009bc6 _Init_packMask
0 00009e00 FS$$DIV
0 00009e88 _InitPeripheralClocks
0 00009f0d _extendbios
0 00009f91 _run
0 00009f92 _ump_rtu_encode
0 0000a015 _InitPll
0 0000a097 _peek
0 0000a10f _Handlai
0 0000a181 _ump_validate
0 0000a1f2 _ump_log_write
0 0000a262 _RS_TX_Handler
0 0000a2d0 _Load_protection_prepare
0 0000a339 _Init_sensors_more
0 0000a39b _InitXintf16Gpio
0 0000a3f4 _get_command
0 0000a44b _ReceiveCommandModbus6
0 0000a537 _ump_prepare
0 0000a5d0 _RS_Send
0 0000a61b _CANa_handler
0 0000a665 _load
0 0000a6ae _CAN_send
0 0000a6f6 _initload
0 0000a73d _RSA_RX_Handler
0 0000a783 _RSA_TX_Handler
0 0000a7c9 _RSB_RX_Handler
0 0000a80f _RSB_TX_Handler
0 0000a855 _c_int00
0 0000a89b _ump_log_can
0 0000a91e _Seeprom_read
0 0000a95f _Seeprom_write
0 0000a9a0 _setup_arr_cmd_length
0 0000a9e1 _Load_params
0 0000aa21 _init_zone7
0 0000aa5f _InitCpuTimers
0 0000aa9a _Load_voltage_can
0 0000aad5 _ump_can_fragment
0 0000ab10 _poke
0 0000ab4a _cpu_timer2_isr
0 0000ab83 _SendCommandModbus4
0 0000abbb _ump_tms28335_fragment
0 0000abf3 _RS_BSend
0 0000ac2a _ReceiveAnswerModbus4
0 0000ac61 _Answer
0 0000acfa _SPISE2P_DRV_init
0 0000ad2c _unsetup_leds_line
0 0000ad5e _dSEND
0 0000ad8f _RS_FifoTick1ms
0 0000adbe _filterbat
0 0000adec _ump_log_io
0 0000ae1a _RS_SetLineMode
0 0000ae47 _timer_Init
0 0000ae74 _get_crc_16b
0 0000aea0 _CANa_reset_err
0 0000aecb L$$DIV
0 0000aeda L$$MOD
0 0000aee8 UL$$DIV
0 0000aeef UL$$MOD
0 0000aef5 _InitSeeprom
0 0000af1e _get_crc16
0 0000af45 _RS_SetLineSpeed
0 0000af6b _Save_params
0 0000afb3 _select_tpl_255
0 0000afd7 _setup_leds_line
0 0000aff9 _ConfigCpuTimer
0 0000b01a _Setup_DAC_time
0 0000b03a _sqrt
0 0000b05a _InitPieCtrl
0 0000b079 _reset_errs
0 0000b098 _Load_control_init
0 0000b0b6 _SENDBIT
0 0000b0d4 _ump_log_init
0 0000b0f1 _ump_tms28335_prepare
0 0000b10e _what_is
0 0000b12b _Init_DAC
0 0000b147 _im_calc
0 0000b163 _ump_crc
0 0000b17f _ump_tms28335_capture
0 0000b19b _ADCINT_ISR
0 0000b1b6 _DINTCH1_ISR
0 0000b1d1 _DINTCH2_ISR
0 0000b1ec _DINTCH3_ISR
0 0000b207 _DINTCH4_ISR
0 0000b222 _DINTCH5_ISR
0 0000b23d _DINTCH6_ISR
0 0000b258 _ECAN0INTA_ISR
0 0000b273 _ECAN0INTB_ISR
0 0000b28e _ECAN1INTA_ISR
0 0000b2a9 _ECAN1INTB_ISR
0 0000b2c4 _ECAP1_INT_ISR
0 0000b2df _ECAP2_INT_ISR
0 0000b2fa _ECAP3_INT_ISR
0 0000b315 _ECAP4_INT_ISR
0 0000b330 _ECAP5_INT_ISR
0 0000b34b _ECAP6_INT_ISR
0 0000b366 _EPWM1_INT_ISR
0 0000b381 _EPWM1_TZINT_ISR
0 0000b39c _EPWM2_INT_ISR
0 0000b3b7 _EPWM2_TZINT_ISR
0 0000b3d2 _EPWM3_INT_ISR
0 0000b3ed _EPWM3_TZINT_ISR
0 0000b408 _EPWM4_INT_ISR
0 0000b423 _EPWM4_TZINT_ISR
0 0000b43e _EPWM5_INT_ISR
0 0000b459 _EPWM5_TZINT_ISR
0 0000b474 _EPWM6_INT_ISR
0 0000b48f _EPWM6_TZINT_ISR
0 0000b4aa _EQEP1_INT_ISR
0 0000b4c5 _EQEP2_INT_ISR
0 0000b4e0 _I2CINT1A_ISR
0 0000b4fb _I2CINT2A_ISR
0 0000b516 _LUF_ISR
0 0000b531 _LVF_ISR
0 0000b54c _MRINTA_ISR
0 0000b567 _MRINTB_ISR
0 0000b582 _MXINTA_ISR
0 0000b59d _MXINTB_ISR
0 0000b5b8 _SCIRXINTA_ISR
0 0000b5d3 _SCIRXINTB_ISR
0 0000b5ee _SCIRXINTC_ISR
0 0000b609 _SCITXINTA_ISR
0 0000b624 _SCITXINTB_ISR
0 0000b63f _SCITXINTC_ISR
0 0000b65a _SEQ1INT_ISR
0 0000b675 _SEQ2INT_ISR
0 0000b690 _SPIRXINTA_ISR
0 0000b6ab _SPITXINTA_ISR
0 0000b6c6 _TINT0_ISR
0 0000b6e1 _WAKEINT_ISR
0 0000b6fc _XINT3_ISR
0 0000b717 _XINT4_ISR
0 0000b732 _XINT5_ISR
0 0000b74d _XINT6_ISR
0 0000b768 _XINT7_ISR
0 0000b783 __args_main
0 0000b79e _RS_SetBitMode
0 0000b7b8 _create_uart_vars
0 0000b7d2 _InitAdc
0 0000b7eb _XINT1_ISR
0 0000b804 _XINT2_ISR
0 0000b81d C$$EXIT
0 0000b81d _abort
0 0000b81f _exit
0 0000b836 _prolog_c28x_1
0 0000b83a _prolog_c28x_2
0 0000b842 _prolog_c28x_3
0 0000b84f _RESET
0 0000b867 _ump_log_tick
0 0000b87f _clear_mem
0 0000b896 _ServiceDog
0 0000b8c0 _er_anal
0 0000b8e8 _RS_FifoWait
0 0000b90e _get_crc_16
0 0000b920 _pause_us
0 0000b940 _DATALOG_ISR
0 0000b94d _INT13_ISR
0 0000b95a _INT14_ISR
0 0000b967 _InitPieVectTable
0 0000b974 _RTOSINT_ISR
0 0000b981 _epilog_c28x_1
0 0000b985 _epilog_c28x_2
0 0000b98d _EMUINT_ISR
0 0000b998 _ILLEGAL_ISR
0 0000b9a3 _NMI_ISR
0 0000b9ae _USER10_ISR
0 0000b9b9 _USER11_ISR
0 0000b9c4 _USER12_ISR
0 0000b9cf _USER1_ISR
0 0000b9da _USER2_ISR
0 0000b9e5 _USER3_ISR
0 0000b9f0 _USER4_ISR
0 0000b9fb _USER5_ISR
0 0000ba06 _USER6_ISR
0 0000ba11 _USER7_ISR
0 0000ba1c _USER8_ISR
0 0000ba27 _USER9_ISR
0 0000ba32 _ump_log_rs
0 0000ba3d U$$DIV
0 0000ba42 U$$MOD
0 0000ba48 _INT_NOTUSED_ISR
0 0000ba52 _PIE_RESERVED
0 0000ba5c _rsvd_ISR
0 0000ba66 _EnableInterrupts
0 0000ba6f _InitSysCtrl
0 0000ba78 __register_unlock
0 0000ba7c __register_lock
0 0000ba80 __nop
0 0000ba81 _DisableDog
0 0000ba89 _memset
0 0000ba90 _SPISE2P_DRV_csclr
0 0000ba95 _SPISE2P_DRV_csset
0 0000ba9a _set_cntrl_addr
0 0000ba9f _DSP28x_usDelay
0 0000baa6 _tflash
0 0000baa7 ___etext__
0 0000baa7 etext
0 000085de _main
0 00008784 _get_Buttons
0 00008927 _setup_adc
0 00008ab4 _cpu_timer1_isr_SENS
0 00008c38 _RS_RX_Handler
0 00008d97 _Load_runner
0 00008ef3 _cpu_timer1_isr_PULT
0 00009036 _Init_sensors
0 0000915f _SPISE2P_DRV_tick
0 00009281 _get_Mode
0 00009396 _kanal_Send
0 000094a1 _Power_count
0 0000959a _Default_params
0 00009686 _setup_uart
0 0000976b _ump_log_read
0 0000981e _calc_sensor_koef
0 000098cc _InitCan
0 00009978 _UMP_CAN_service
0 00009a20 _ReceiveCommandModbus3
0 00009abd _select_tpl_canal
0 00009b59 _upload
0 00009bf0 _Init_packMask
0 00009e2c FS$$DIV
0 00009eb4 _InitPeripheralClocks
0 00009f39 _extendbios
0 00009fbd _init
0 00009fbe _ump_rtu_encode
0 0000a041 _InitPll
0 0000a0c3 _peek
0 0000a13b _Handlai
0 0000a1ad _ump_validate
0 0000a21e _ump_log_write
0 0000a28e _RS_TX_Handler
0 0000a2fc _Load_protection_prepare
0 0000a365 _Init_sensors_more
0 0000a3c7 _InitXintf16Gpio
0 0000a420 _get_command
0 0000a477 _ReceiveCommandModbus6
0 0000a5b2 _ump_prepare
0 0000a5ff _RS_Send
0 0000a64a _CANa_handler
0 0000a6dd _load
0 0000a726 _CAN_send
0 0000a76e _initload
0 0000a7b5 _RSA_RX_Handler
0 0000a7fb _RSA_TX_Handler
0 0000a841 _RSB_RX_Handler
0 0000a887 _RSB_TX_Handler
0 0000a8cd _c_int00
0 0000a913 _ump_log_can
0 0000a955 _Seeprom_read
0 0000a996 _Seeprom_write
0 0000a9d7 _setup_arr_cmd_length
0 0000aa18 _Load_params
0 0000aa58 _RS_SetLineSpeed
0 0000aa96 _init_zone7
0 0000aad4 _InitCpuTimers
0 0000ab0f _Load_voltage_can
0 0000ab4a _ump_can_fragment
0 0000ab85 _poke
0 0000abbf _cpu_timer2_isr
0 0000abf8 _SendCommandModbus4
0 0000ac30 _ump_tms28335_fragment
0 0000ac68 _RS_BSend
0 0000ac9f _run
0 0000aca0 _ReceiveAnswerModbus4
0 0000acd7 _Answer
0 0000ad70 _SPISE2P_DRV_init
0 0000ada2 _unsetup_leds_line
0 0000add4 _dSEND
0 0000ae05 _RS_FifoTick1ms
0 0000ae34 _filterbat
0 0000ae62 _ump_log_io
0 0000ae90 _RS_SetLineMode
0 0000aebd _timer_Init
0 0000aeea _get_crc_16b
0 0000af16 _CANa_reset_err
0 0000af41 L$$DIV
0 0000af50 L$$MOD
0 0000af5e UL$$DIV
0 0000af65 UL$$MOD
0 0000af6b _InitSeeprom
0 0000af94 _get_crc16
0 0000afbb _Save_params
0 0000b003 _select_tpl_255
0 0000b027 _setup_leds_line
0 0000b049 _ConfigCpuTimer
0 0000b06a _Setup_DAC_time
0 0000b08a _sqrt
0 0000b0aa _InitPieCtrl
0 0000b0c9 _reset_errs
0 0000b0e8 _Load_control_init
0 0000b106 _SENDBIT
0 0000b124 _ump_log_init
0 0000b141 _ump_tms28335_prepare
0 0000b15e _what_is
0 0000b17b _Init_DAC
0 0000b197 _im_calc
0 0000b1b3 _ump_crc
0 0000b1cf _ump_tms28335_capture
0 0000b1eb _ADCINT_ISR
0 0000b206 _DINTCH1_ISR
0 0000b221 _DINTCH2_ISR
0 0000b23c _DINTCH3_ISR
0 0000b257 _DINTCH4_ISR
0 0000b272 _DINTCH5_ISR
0 0000b28d _DINTCH6_ISR
0 0000b2a8 _ECAN0INTA_ISR
0 0000b2c3 _ECAN0INTB_ISR
0 0000b2de _ECAN1INTA_ISR
0 0000b2f9 _ECAN1INTB_ISR
0 0000b314 _ECAP1_INT_ISR
0 0000b32f _ECAP2_INT_ISR
0 0000b34a _ECAP3_INT_ISR
0 0000b365 _ECAP4_INT_ISR
0 0000b380 _ECAP5_INT_ISR
0 0000b39b _ECAP6_INT_ISR
0 0000b3b6 _EPWM1_INT_ISR
0 0000b3d1 _EPWM1_TZINT_ISR
0 0000b3ec _EPWM2_INT_ISR
0 0000b407 _EPWM2_TZINT_ISR
0 0000b422 _EPWM3_INT_ISR
0 0000b43d _EPWM3_TZINT_ISR
0 0000b458 _EPWM4_INT_ISR
0 0000b473 _EPWM4_TZINT_ISR
0 0000b48e _EPWM5_INT_ISR
0 0000b4a9 _EPWM5_TZINT_ISR
0 0000b4c4 _EPWM6_INT_ISR
0 0000b4df _EPWM6_TZINT_ISR
0 0000b4fa _EQEP1_INT_ISR
0 0000b515 _EQEP2_INT_ISR
0 0000b530 _I2CINT1A_ISR
0 0000b54b _I2CINT2A_ISR
0 0000b566 _LUF_ISR
0 0000b581 _LVF_ISR
0 0000b59c _MRINTA_ISR
0 0000b5b7 _MRINTB_ISR
0 0000b5d2 _MXINTA_ISR
0 0000b5ed _MXINTB_ISR
0 0000b608 _SCIRXINTA_ISR
0 0000b623 _SCIRXINTB_ISR
0 0000b63e _SCIRXINTC_ISR
0 0000b659 _SCITXINTA_ISR
0 0000b674 _SCITXINTB_ISR
0 0000b68f _SCITXINTC_ISR
0 0000b6aa _SEQ1INT_ISR
0 0000b6c5 _SEQ2INT_ISR
0 0000b6e0 _SPIRXINTA_ISR
0 0000b6fb _SPITXINTA_ISR
0 0000b716 _TINT0_ISR
0 0000b731 _WAKEINT_ISR
0 0000b74c _XINT3_ISR
0 0000b767 _XINT4_ISR
0 0000b782 _XINT5_ISR
0 0000b79d _XINT6_ISR
0 0000b7b8 _XINT7_ISR
0 0000b7d3 __args_main
0 0000b7ee _RS_SetBitMode
0 0000b808 _create_uart_vars
0 0000b822 _InitAdc
0 0000b83b _XINT1_ISR
0 0000b854 _XINT2_ISR
0 0000b86d C$$EXIT
0 0000b86d _abort
0 0000b86f _exit
0 0000b886 _prolog_c28x_1
0 0000b88a _prolog_c28x_2
0 0000b892 _prolog_c28x_3
0 0000b89f _RESET
0 0000b8b7 _ump_log_tick
0 0000b8cf _clear_mem
0 0000b8e6 _ServiceDog
0 0000b910 _er_anal
0 0000b938 _RS_FifoWait
0 0000b95e _get_crc_16
0 0000b970 _pause_us
0 0000b990 _DATALOG_ISR
0 0000b99d _INT13_ISR
0 0000b9aa _INT14_ISR
0 0000b9b7 _InitPieVectTable
0 0000b9c4 _RTOSINT_ISR
0 0000b9d1 _epilog_c28x_1
0 0000b9d5 _epilog_c28x_2
0 0000b9dd _EMUINT_ISR
0 0000b9e8 _ILLEGAL_ISR
0 0000b9f3 _NMI_ISR
0 0000b9fe _USER10_ISR
0 0000ba09 _USER11_ISR
0 0000ba14 _USER12_ISR
0 0000ba1f _USER1_ISR
0 0000ba2a _USER2_ISR
0 0000ba35 _USER3_ISR
0 0000ba40 _USER4_ISR
0 0000ba4b _USER5_ISR
0 0000ba56 _USER6_ISR
0 0000ba61 _USER7_ISR
0 0000ba6c _USER8_ISR
0 0000ba77 _USER9_ISR
0 0000ba82 _ump_log_rs
0 0000ba8d U$$DIV
0 0000ba92 U$$MOD
0 0000ba98 _INT_NOTUSED_ISR
0 0000baa2 _PIE_RESERVED
0 0000baac _rsvd_ISR
0 0000bab6 _EnableInterrupts
0 0000babf _InitSysCtrl
0 0000bac8 __register_unlock
0 0000bacc __register_lock
0 0000bad0 __nop
0 0000bad1 _DisableDog
0 0000bad9 _memset
0 0000bae0 _SPISE2P_DRV_csclr
0 0000bae5 _SPISE2P_DRV_csset
0 0000baea _set_cntrl_addr
0 0000baef _DSP28x_usDelay
0 0000baf6 _tflash
0 0000baf7 ___etext__
0 0000baf7 etext
0 0000c000 _RamfuncsLoadEnd
0 0000c000 _RamfuncsLoadStart
0 0000c000 _RamfuncsRunStart
@@ -1638,13 +1638,26 @@ page address name
1 00007900 _I2caRegs
1 0000d040 _rs_a
1 0000d3c0 _rs_b
1 0000d70a _din_count
1 0000d72a _powK
1 0000d73c _adc_table_lem
1 0000d710 _din_count
1 0000d730 _Maska
1 0000d740 _adc_filter
1 0000d8f0 _Maska
1 0000d8f0 _digits
1 0000d900 _out_filter
1 0000dab0 _digits
1 0000dab0 _Mode
1 0000dab1 _Desk
1 0000dab2 _TermoAD
1 0000dab3 _TermoRS
1 0000dab4 _TermoSW
1 0000dab5 _Kurrent
1 0000dab6 _Kalibro
1 0000dab7 _Owen
1 0000dab8 _INcount0
1 0000dab9 _INcount1
1 0000daba _MUX_GPIO32
1 0000dabb _MUX_GPIO48
1 0000dabc _DIR_GPIO32
1 0000dabd _DIR_GPIO48
1 0000dabe _DigErr
1 0000dac0 _crc_16_tab
1 0000dbc0 _modbus
1 0000dc41 _flag_DEBUG
@@ -1677,12 +1690,11 @@ page address name
1 0000dd24 _K_T2
1 0000dd28 _def_FILTERBAT
1 0000dd3a _err_count
1 0000ddbc _ADDR_FOR_ALL
1 0000ddbd _CNTRL_ADDR
1 0000ddbe _cntr_addr_c
1 0000ddbf _cntr_addr_c_all
1 0000de3c __unlock
1 0000de3e __lock
1 0000ddbc _adc_table_lem
1 0000de3c _ADDR_FOR_ALL
1 0000de3d _CNTRL_ADDR
1 0000de3e _cntr_addr_c
1 0000de3f _cntr_addr_c_all
1 0000de40 _zer_filter
1 0000de88 _no_write
1 0000de89 _never_write
@@ -1708,21 +1720,9 @@ page address name
1 0000dfbe _WAKE_TIME
1 0000dfc0 _sens_pair
1 0000dfd8 _sens_type
1 0000dff0 _Mode
1 0000dff1 _Desk
1 0000dff2 _TermoAD
1 0000dff3 _TermoRS
1 0000dff4 _TermoSW
1 0000dff5 _Kurrent
1 0000dff6 _Kalibro
1 0000dff7 _Owen
1 0000dff8 _INcount0
1 0000dff9 _INcount1
1 0000dffa _MUX_GPIO32
1 0000dffb _MUX_GPIO48
1 0000dffc _DIR_GPIO32
1 0000dffd _DIR_GPIO48
1 0000dffe _DigErr
1 0000dff0 _lev_quadr
1 0000dffc __unlock
1 0000dffe __lock
1 0000e000 _CanTimeOutErrorTR
1 0000e001 _wait
1 0000e00a _ErrorCount
@@ -1731,20 +1731,20 @@ page address name
1 0000e010 _TestMbox1
1 0000e012 _TestMbox2
1 0000e014 _TestMbox3
1 0000e018 _lev_quadr
1 0000e024 _isNumb
1 0000e025 _quaLamp
1 0000e02a _isMask
1 0000e02c _Lonely
1 0000e02e _ext_diag
1 0000e036 _ext_temp
1 0000e040 _zer_count
1 0000e048 _lev_count
1 0000e04e _readr
1 0000e053 _errno
1 0000e054 __cleanup_ptr
1 0000e056 __dtors_ptr
1 0000e05a _low_count
1 0000e018 _powK
1 0000e02a _isNumb
1 0000e02b _quaLamp
1 0000e030 _isMask
1 0000e032 _Lonely
1 0000e034 _ext_diag
1 0000e03c __cleanup_ptr
1 0000e03e __dtors_ptr
1 0000e040 _ext_temp
1 0000e048 _zer_count
1 0000e050 _lev_count
1 0000e056 _readr
1 0000e05f _low_count
1 0000e063 _errno
1 00200000 _logs_block
1 0033fff8 _CsmPwl
1 00380090 _PartIdRegs

View File

@@ -3,6 +3,7 @@ static char size_cmd15; /* Моделирует локальную настро
/* Продолжает список аргументов, полей или выражение volatile struct SCI_REGS SciaRegs,ScibRegs;; порядок элементов сохраняется. */
volatile struct SCI_REGS SciaRegs,ScibRegs;
long LSPCLK=60000000L; /* Моделирует частоту SCI 60 МГц из текущего проекта, чтобы проверять настоящий расчёт BRR. */
/* Описывает структуру ; порядок полей определяет расположение данных. */
struct { struct { struct { unsigned ACK9; } bit; } PIEACK; } PieCtrlRegs;
/* Описывает структуру ; порядок полей определяет расположение данных. */
@@ -112,6 +113,7 @@ static void reset(void)
rs_a.commnumber=1;rs_b.commnumber=2;rs_a.SciRegs=&SciaRegs;rs_b.SciRegs=&ScibRegs;
/* Записывает SciaRegs.SCICTL2.bit.TXEMPTY значением ScibRegs.SCICTL2.bit.TXEMPTY=1; данные TXEMPTY. */
SciaRegs.SCICTL2.bit.TXEMPTY=ScibRegs.SCICTL2.bit.TXEMPTY=1;
SciaRegs.SCICTL1.bit.RXERRINTENA=1; /* Повторяет штатное разрешение ошибок SCI-A, чтобы проверить их фактическое отключение на время TX и последующее включение. */
/* Записывает rs_a.RS_Flag9bit значением rs_b.RS_Flag9bit=1; RS флаг 9 бит. */
rs_a.RS_Flag9bit=rs_b.RS_Flag9bit=1;
/* Записывает RS_Len[3] значением 8;RS_Len[6]=8;RS_Len[16]=13;RS_Len[51]=12; таблица ожидаемых длин команд последовательного протокола. */
@@ -151,6 +153,30 @@ int main(void)
assert(memcmp(&rs_a, &expected, sizeof(rs_a)) == 0); /* Проверяет все поля и оба буфера первого порта, включая флаги готовности. */
expected.commnumber = COM_2; /* Подготавливает ожидаемое состояние второго порта. */
assert(memcmp(&rs_b, &expected, sizeof(rs_b)) == 0 && size_cmd15 == 17); /* Проверяет второй порт и сохранение настройки длины команды. */
reset(); /* Назначает регистры портов после проверки полного сброса RAM. */
RS_SetLineSpeed(&rs_a,115200UL); /* Воспроизводит установку скорости RS232, на которой наблюдались ошибки приёма. */
assert(SciaRegs.SCIHBAUD==0 && SciaRegs.SCILBAUD==64 && rs_a.curr_baud==115200UL); /* Проверяет BRR=64 по формуле LSPCLK/(8*baud)-1; прежний код ошибочно записывал 65. */
RS_SetLineSpeed(&rs_b,9600UL); /* Проверяет общую функцию на выбранной пользователем скорости второго порта. */
assert(ScibRegs.SCIHBAUD==3 && ScibRegs.SCILBAUD==12 && rs_b.curr_baud==9600UL); /* Проверяет округлённый BRR=780=0x030C для 60 МГц и 9600 бод. */
RS_SetLineSpeed(&rs_a,57600UL); /* Проверяет альтернативную стандартную скорость без дробных операций. */
assert(SciaRegs.SCIHBAUD==0 && SciaRegs.SCILBAUD==129); /* Проверяет BRR=129, соответствующий отношению 130,2083, округлённому до 130. */
RS_SetLineSpeed(&rs_a,19200UL); /* Проверяет округление вверх при дробной части отношения 0,625. */
assert(SciaRegs.SCIHBAUD==1 && SciaRegs.SCILBAUD==134); /* Проверяет BRR=390=0x0186 после округления отношения 390,625 до 391. */
RS_SetLineSpeed(&rs_a,0UL); /* Передаёт ошибочную нулевую скорость для проверки защиты от деления на ноль. */
RS_SetLineSpeed(&rs_a,0xFFFFFFFFUL); /* Проверяет защиту 32-битного произведения baud*8 от переполнения. */
assert(SciaRegs.SCIHBAUD==1 && SciaRegs.SCILBAUD==134 && rs_a.curr_baud==19200UL); /* Неверные аргументы не должны изменять регистры и диагностическую скорость. */
RS_SetLineSpeed(&rs_a,1UL); /* Проверяет ограничение слишком большого делителя, не представимого в 16-битном BRR. */
assert(SciaRegs.SCIHBAUD==255 && SciaRegs.SCILBAUD==255); /* Ограничение должно дать BRR=65535, а не обёрнутое значение младших битов. */
RS_SetLineSpeed(&rs_a,4000000UL); /* Проверяет ограничение скорости выше аппаратного максимума LSPCLK/16=3750000 бод. */
assert(SciaRegs.SCIHBAUD==0 && SciaRegs.SCILBAUD==1); /* Проверяет минимальный обычный BRR=1, соответствующий аппаратному пределу. */
reset(); /* Подготавливает ошибку BREAK при пустом FIFO, которая не вызывает RX-прерывание по уровню. */
SciaRegs.SCIRXST.all=0xA0U; /* Устанавливает RXERROR в бите 7 и BRKDT в бите 5 по карте регистра TI SPRUI07. */
RS_RX_Handler(&rs_a); /* Вызывает настоящий обработчик общей ошибки без чтения отсутствующего байта. */
assert(rs_a.fifo_rx_errors==1 && rs_a.fifo_rx_bytes==0 && rs_a.fifo_rx_last_status==0xA0U); /* Подтверждает сохранение BREAK до SWRESET и отсутствие фиктивного чтения FIFO. */
assert(!SciaRegs.SCIRXST.all && !rs_a.fifo_rx_last_error_word); /* Подтверждает сброс аппаратного состояния и отсутствие повреждённого слова при пустом FIFO. */
for(i=0;i<4;i++) RS_FifoTick1ms(); /* Выдерживает защитную паузу 3–4 мс после ошибки перед новым адресом. */
feed(&rs_a,request,8); /* Передаёт корректную восьмибайтную команду после восстановления приёмника. */
assert(rs_a.RS_DataReady && rs_a.fifo_rx_bytes==8); /* Проверяет реальное восстановление обработки команд после BREAK. */
/* Цикл for(mode=0;mode<2;mode++)for(a=0;a<sizeof(sizes)/sizeof(sizes[0]);a++) ; задаёт начальное значение, условие продолжения и шаг перебора. */
for(mode=0;mode<2;mode++)for(a=0;a<sizeof(sizes)/sizeof(sizes[0]);a++) {
@@ -160,10 +186,12 @@ int main(void)
if(mode==0 && n>4200)continue;
/* Вызывает assert с аргументами ((mode ? RS_BSend(&rs_a,data,n):RS_Send(&rs_a,data,n))==0) в текущей последовательности операций. */
assert((mode ? RS_BSend(&rs_a,data,n):RS_Send(&rs_a,data,n))==0);
if (rs_a.fifo_tx_active) assert(!SciaRegs.SCICTL1.bit.RXERRINTENA); /* Во время активной передачи шум RX не должен сбрасывать SCI через прерывание ошибки. */
/* Проверяет if(n и rs_a.fifo_tx_active)assert(rs_a.RS_Flag9bit==0); последующий оператор выполняется только при истинном условии. */
if(n && rs_a.fifo_tx_active)assert(rs_a.RS_Flag9bit==0);
/* Вызывает RS_FifoWait. Ожидает завершения аппаратной передачи FIFO и сдвигового регистра SCI. */
RS_FifoWait(&rs_a);assert(!rs_a.fifo_tx_active && wire_count[0]==n);
if (n) assert(SciaRegs.SCICTL1.bit.RXERRINTENA); /* После любого непустого блока защита от BREAK должна возвращаться вместе с приёмом FIFO. */
/* Цикл for(i=0;i<n;i++)assert(wire[0][i]==(mode?((i&1)?LOBYTE(data[i/2]):HIBYTE(data[i/2])):LOBYTE(data[i])));; задаёт начальное значение, условие продолжения и шаг перебора. */
for(i=0;i<n;i++)assert(wire[0][i]==(mode?((i&1)?LOBYTE(data[i/2]):HIBYTE(data[i/2])):LOBYTE(data[i])));
assert(GpioDataRegs.GPBDAT.bit.GPIO34==1); /* RS232 never touches DE */ /* Вызывает assert с аргументами (GpioDataRegs.GPBDAT.bit.GPIO34==1) в текущей последовательности операций. */
@@ -208,6 +236,7 @@ int main(void)
reset();request[3]=0xC000;feed(&rs_a,request,8);
/* Вызывает assert с аргументами (!rs_a.RS_DataReady && rs_a.fifo_rx_errors==1 && rs_a.fifo_rx_guard) в текущей последовательности операций. */
assert(!rs_a.RS_DataReady && rs_a.fifo_rx_errors==1 && rs_a.fifo_rx_guard);
assert(rs_a.fifo_rx_last_error_word==0xC000U && rs_a.fifo_rx_bytes==4); /* Ошибка четвёртого байта должна сохранить оба признака FE/PE и точное число чтений. */
/* Записывает request[3] значением 0;feed(&rs_a,request,8);assert(!rs_a.RS_DataReady); данные request. */
request[3]=0;feed(&rs_a,request,8);assert(!rs_a.RS_DataReady);
/* Цикл for(i=0;i<4;i++)RS_FifoTick1ms();; задаёт начальное значение, условие продолжения и шаг перебора. */

View File

@@ -23,7 +23,7 @@ def read(path):
# Задаёт source по выражению справа; значение используется последующими операциями.
source=read(root/'Source/Internal/RS485.c')
# Извлекает инициализацию и обработчики UART, чтобы проверить старт на неочищенной RAM вместе с обменом.
names=['create_uart_vars','RS_RX_Handler','RS_TX_Handler','RS_Send','RS_BSend','RS_SetBitMode',
names=['create_uart_vars','RS_SetLineSpeed','RS_RX_Handler','RS_TX_Handler','RS_Send','RS_BSend','RS_SetBitMode', # Проверяет настоящий расчёт делителя SCI вместе с обработчиками приёма и передачи.
# Продолжает текущий вызов, список или выражение: 'RS_FifoWait','RS_FifoTx','RS_FifoStart','RS_FifoAbort','RS_FifoTick1ms']; порядок аргументов сохраняется.
'RS_FifoWait','RS_FifoTx','RS_FifoStart','RS_FifoAbort','RS_FifoTick1ms']
# Задаёт prototypes по выражению справа; значение используется последующими операциями.