Перейти к содержанию

Михась

Участник
  • Публикаций

    165
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Михась

  • Звание
    Частый гость
  1. STM32H7 работа с SDRAM. Проблема

    Онлайн - в процессе работы изделия, например раз в минуту. По идее если прибор год без отключения работает, тестировать только после включения - маловато будет.
  2. STM32H7 работа с SDRAM. Проблема

    Да какие обиды. А возможно создание онлайн-теста озу с сложной диагностикой? В свое время искал, но удобоваримого не нашел. До перехода в __main() то понятно. Внутренний дефект ОЗУ в однокристалках достоверно был один раз - 1816ВЕ51. Больше честно сказать не попадалось, но все равно простой тест озу использую.
  3. STM32H7 работа с SDRAM. Проблема

    Да, это простой тест в основном для встроенного ОЗУ. Но может кому пригодится.
  4. STM32H7 работа с SDRAM. Проблема

    Использую такую функцию для он-лайн тестирования ОЗУ /******************************************************************************* * Функции проверки RAM Parameter: Return: счетчик сбойных слов 32b в RAM Пример resTestRAM = sram_test(0x20000000, 0x20000); *******************************************************************************/ #define PATTERN1 0xAAAAAAAA #define PATTERN2 0x55555555 #define PATTERN3 0x00000000 #define PATTERN4 0xFFFFFFFF #pragma push #pragma O0 #pragma Otime uint32_t sram_test(uint32_t startaddress, uint32_t sizeRAM) { uint32_t *base_address = (uint32_t *)(startaddress); register uint32_t temp_val; register uint32_t i = 0, sram_nowrite_count = 0; __disable_irq(); for(i = 0; i < (sizeRAM/4); i++) { temp_val = *base_address; *base_address = PATTERN1; if(*base_address != PATTERN1) { sram_nowrite_count++; } *base_address = PATTERN2; if(*base_address != PATTERN2) { sram_nowrite_count++; } *base_address = PATTERN3; if(*base_address != PATTERN3) { sram_nowrite_count++; } *base_address = PATTERN4; if(*base_address != PATTERN4) { sram_nowrite_count++; } *base_address = temp_val; base_address++; } __enable_irq(); return (sram_nowrite_count / 2); } #pragma pop
  5. https://electronix.ru/forum/index.php?showt...=147712&hl= Просто я смотрю есть огромный спрос на такие системы. Кто-бы взялся.
  6. Это не вы писали в этой теме под ником Вениамин Иосифович? http://iprog.pp.ru/forum/read.php?f=1&...t=74671&v=f
  7. Не мотайте так камерой ради бога, начинает тошнить.
  8. Непонятный рестарт программы

    Есть полезная функция в Кейле http://www.keil.com/support/man/docs/armcc...59124940593.htm 7.136 --protect_stack, --no_protect_stack Inserts a guard variable onto the stack frame for each vulnerable function. The guard variable is inserted between any buffers and the return address entry. A function is considered vulnerable if it contains a vulnerable array. A vulnerable array is one that has: Automatic storage duration. A character type (char or wchar_t). In addition to inserting the guard variable and check, the compiler also moves vulnerable arrays to the top of the stack, immediately preceding the guard variable. The compiler stores a copy of the guard variable's value at another location, and uses the copy to check that the guard has not been overwritten, indicating a buffer overflow. /******************************************************************************* * Функции проверки переполнения стека Parameter: none Return: КЛЮЧ КОМПИЛЯТОРА --protect_stack *******************************************************************************/ void * __stack_chk_guard = (void *)(0xDEADBEEF); // initialize guard variable // Called by stack checking code if guard variable is corrupted void __stack_chk_fail(void) { // переполнение стека } // тестер void teststack(void) { char buf[4]; strcpy(buf, "123456"); // больше размера буфера }
  9. Представил, что вы уволились с предприятия после установки такой системы. Слава богу, такой подход по автоматизации я знаю только на одном предприятии.
  10. Симулятор

    За 20 лет не протер ни одного чипа. Спалил одну AVR и один STM32F373 по невнимательности. Вычислительные алгоритмы отлаживаю в симуляторе. Боевые проекты - с внутрисхемной отладкой. Доступ к памяти и оперативная модификация регистров периферии позволяют не перекомпилировать и перешивать код, а непосредственно управлять из отладчика.
  11. Продам оборудование в формате MicroPC

    Подходим, торгуемся!
  12. Продам оборудование в формате MicroPC

    Цитата(Bulin80 @ Dec 10 2017, 18:45) В каком городе находится оборудование? г.Рубцовск Алтайского края
  13. Продам оборудование в формате MicroPC

    Продам оборудование в формате MicroPC . CPU686E http://swd.ru/files/pdf/start/Fastwel%20CPU686E.pdf Geode GX1 300 MHz SDRAM 32MB(CPC10301) В наличии 2 платы, 5т.р. за штуку CF 32M в подарок CPU686E http://swd.ru/files/pdf/start/Fastwel%20CPU686E.pdf Geode GX1 300 MHz SDRAM 128MB(CPC10302) В наличии 1 платы, 8т.р. за штуку CF 64M в подарок KB686E-3 Плата для подключения FDD и HDD В наличии 1 платы, 500р. за штуку 1 крейт на 12 позиций, без БП, припаян разъем для БП АТ В наличии 1, 2т.р. за штуку 1 крейт на 8 позиций, с БП Octagon 5101 В наличии 1, 4т.р. за штуку Кабель адаптера COM: FCD9M -2шт 100р FCD9F -2шт 100р Плата ввода-вывода UNIO48-5 - 3т.р за шт. В наличии 2 платы https://www.fastwel.com/upload/iblock/76c/D...NIOxx-5)dts.pdf UNIO96-1 (DIC111) - 3т.р за шт. В наличии 4 платы По опыту эксплуатации это надежное и несбойное оборудование. Прекрасно подходит для скоростного ввода-вывода большого количества дискретных сигналов (до 1000!) с нормированными задержками. Вся документация есть на ftp://ftp.prosoft.ru/pub/Hardware/Fastwel/ оборудование (ЗИП стенда) не работало(нет коробок и документов), хранилось на отапливаемом складе. Не можете писать в личку, оставьте контакты.