31 uint8_t*
reg = (uint8_t*)0x20004;
36 unsigned int Memtest_Addr_inner(
unsigned int addr_start,
unsigned int addr_stop,
unsigned int mask)
39 unsigned int errors = 0;
40 volatile uint32_t i=0;
43 for (addr = addr_start; addr < addr_stop; addr += 4)
47 *(
unsigned int*)addr = mask;
56 for (addr = addr_start; addr < addr_stop; addr += 4)
63 PRINT(
"Address (0x%x) read: 0x%x wr:0x%x",addr,*(
unsigned int*)addr,mask);
90 unsigned int errors = 0;
91 volatile uint32_t i=0;
94 for (addr = 0x10000; addr < 0x20000; addr += 4)
98 *(
unsigned int*)addr = (i)*0x12345678;
107 for (addr = 0x10000; addr < 0x20000; addr += 4)
109 a = *(uint32_t*)addr;
113 for (
int k = 0; k < 100; k += 1);
117 if ((
a!=(j*0x12345678))&&(addr!=0x4))
146 uint32_t* err7,
Answer* common_out )
149 PRINT(
"Тестирование IN_Memmory");
172 if ((*err>0)|(*err2>2)|(*err3>3)|(*err4>4)|(*err5>5)|(*err6>6)|(*err7>7))
182 PRINT(
"Тестирование counter");
184 for (
int i=0;i<=31;i++)
186 PRINT(
"Тестирование страницы %d",i);
194 for (
int i=0;i<=31;i++)
211 PRINT(
"Тестирование памяти");
225 PRINT(
"Тест памяти MEM_SRAM: Тест-счетчик");
226 PRINT(
"Тестируется страница: %d",Page);
233 PRINT(
"Тест завершен с ошибками!");
237 PRINT(
"Тест завершен успешно!");
252 PRINT(
"Тестируется страница: %d",Page);
259 PRINT(
"Тест завершен с ошибками!");
263 PRINT(
"Тест завершен успешно!");
277 PRINT(
"Тест памяти SRAM: Маршевый Тест");
278 PRINT(
"Тестируется страница: %d",Page);
285 PRINT(
"Тест завершен с ошибками!");
289 PRINT(
"Тест завершен успешно!");
#define PRINT(...)
Макросы для использования отладочного выхода
int TestPage()
Тестирование модуля памяти
Этот файл содержит тестовую программу для аппаратного модуля памяти.
void Mem_Test()
Тестирование модуля памяти
unsigned int Memtest_Addr_inner(unsigned int addr_start, unsigned int addr_stop, unsigned int mask)
Структура с отчетом об ошибках
const uint32_t sys_freq
Системная частота
void MEM_SetPage(uint8_t NumPage)
Установка страницы памяти
структура Результатов теста памяти
bool MEMTEST_generic(PTEST_MEM pMEMTest)
Чтение байтного слова
void Memtest_Addr(unsigned int mask)
void DBG_TX_Flush(void)
Вывод всех данных, накопленных в кольцевом буфере, в отладочный UART.
Структура для проведения тестирования памяти
uint32_t Test_inner(uint32_t *err, uint32_t *err2, uint32_t *err3, uint32_t *err4, uint32_t *err5, uint32_t *err6, uint32_t *err7, Answer *common_out)
char dbg_buffer[256]
Отладочный буфер
void MEM_SetChip(MEMORY_CHIP MemChip)
Выбор микросхемы памяти