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

Pridnya

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о Pridnya

  • Звание
    Местный
    Местный

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

2 405 просмотров профиля
  1. Нужно "Прошивка должна быть подписана цифровой подписью в соответствии с X509v3. Другие сертификаты не допускаются". И трафик при обновлении прошивки должен шифроваться. Получается, что прошивка должна иметь цифровую подпись, наверное, для проверки подлинности. Обмен между приложением и девайсом должен быть зашифрован. Похоже, что девайс принимает прошивку, расшифровывает её, проверяет подпись (подлинность прошивки) и обновляется.
  2. Диагностическое приложение для ПК генерирует сертификат X509v3 для пользователя c Login Password (кто запустил на ПК диагностическое приложение) - получили файл сертификата. Как закрытым ключом подписать свой файл bin? И где взять этот закрытый ключ? Предполагается, что открытый ключ известен всем экземплярам (приложениям для ПК). PS: Открытый и закрытый ключ используется в алгоритмах асимметричного шифрования, а в моем случае прошивка шифруется алгоритмом симметричного шифрования - один ключ, закрытый.
  3. Всем привет! Есть прошивка для микроконтроллера - файл *.bin полученный из *.hex, она встраивается в проект диагностического приложение для ПК - как файл ресурса, проект собирается с последней версией прошивки и после запуска диагностического приложения на ПК можно обновить прошивку в девайсе через интерфейс USB. Появилось требование "файл прошивки должен быть подписан сертификатом x509v3". Как это сделать?
  4. А уточнить можете? В данный момент прием пакетов более 64-х байт выполняю склейкой пакетов по 64 байта. 64+64=128, 64+32=96. Каждый раз при вызове функции копирую фрагмент данных в другой массив. #define APP_RX_DATA_SIZE 64 #define APP_TX_DATA_SIZE 128 uint8_t UserRxBufferFS[APP_RX_DATA_SIZE]; uint8_t UserTxBufferFS[APP_TX_DATA_SIZE]; uint8_t UserRxBuffer[256]; uint8_t UserTxBuffer[256]; uint16_t UsbRxCtr = 0; uint16_t UsbLenCtr = 0; static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len) { /* USER CODE BEGIN 6 */ USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &UserRxBufferFS[0]); USBD_CDC_ReceivePacket(&hUsbDeviceFS); memcpy(UserRxBuffer + (64*UsbRxCtr), UserRxBufferFS, *Len); UsbRxCtr++; UsbLenCtr += (*Len); return (USBD_OK); /* USER CODE END 6 */ }
  5. STM32CubeMX USB CDC CDC_Receive_FS

    Здравствуйте, уважаемые разработчики! Функция принимающая данные вызывается каждый раз при приеме 64-х байт. Если принимается пакет из 128 байт, то она вызывается дважды, при этом при второй пакет из 64-х байт записывается с начала буфера UserRxBufferFS. Я предполагал, что APP_RX_DATA_SIZE 128 позволит принимать пакеты до 128 байт. #define APP_RX_DATA_SIZE 128 #define APP_TX_DATA_SIZE 128 uint8_t UserRxBufferFS[APP_RX_DATA_SIZE]; uint8_t UserTxBufferFS[APP_TX_DATA_SIZE]; static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len) { /* USER CODE BEGIN 6 */ USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &UserRxBufferFS[0]); USBD_CDC_ReceivePacket(&hUsbDeviceFS); return (USBD_OK); /* USER CODE END 6 */ } Функция передачи корректно передает 128 байт: memcpy(UserTxBufferFS, "01234567ABCDEFGH01234567ABCDEFGH01234567ABCDEFGH01234567ABCDEFGH01234567ABCDEFGH01234567ABCDEFGH01234567ABCDEFGH01234567ABCDEFGH", 128); Stat = CDC_Transmit_FS((uint8_t*)UserTxBufferFS, 128); Вопрос к функции приёма. Где я косячу?
  6. System Viewer File

    Здравствуйте! Можно ли как-то отредактировать файл STM32***.SFR, чтобы в нем появились недостающие регистры (нет регистров ADC, RCC, FDCAN)?
  7. Вот поэтому я и прошу совета, т.к. в описании на ULINK-и разных версий написано "поддержка Cortex M", "настраиваемые пользователем алгоритмы программирования FLASH...", но это относится к M0,M3,M4, а меня интересует M23. Может, на форуме есть разработчики, использующие ULINK для какого-нибудь Cortex-M23 (а желательно для Renesas RA2L1).
  8. Keil ULINK & Renesas RA2L1 Group (Cortex-M23)

    Здравствуйте, уважаемые разработчики! Интересует вопрос, Keil ULINK поддерживает отладку и программирование микроконтроллеров из серии RA2L1 (Cortex M23)? Renesas E2 Lite поддерживает, но его нет в списке отладчиков, в Keil. На данный момент остается только Segger JLink (версия 7.23). Кто что посоветует?
  9. Здравствуйте, уважаемые разработчики! Интересует вопрос, Keil ULINK поддерживает отладку и программирование микроконтроллеров из серии RA2L1? Renesas E2 Lite поддерживает, но его нет в списке отладчиков, в Keil. На данный момент остается только Segger JLink (версия 7.23). Кто что посоветует?
  10. STM32F4 I2S DMA

    Помоим подсчетам модуль I2S STM32F407 не может выдать частоту MainClock 49.152 MHz из-за ограничений на значения делителя и верхнего значения частоты I2SCLOCK <= 192 MHz. Минимальный делитель равен 4, а верхнее значение частоты I2SCLOCK <= 192 MHz. Или я не прав? Наверное, поэтому нужно использовать внешний генератор MainClock 49.152 MHz.
  11. STM32F4 I2S DMA

    От внешнего кварцевого генератора подаете сигнал на вход mclk I2S Slave?
  12. STM32F4 I2S DMA

    49.152 MHz = 1024 * Fs, где Fs=48kHz, но судя по описанию на STA333W, режим 1024*Fs не поддерживается микросхемой (я приводил таблицу в начале топика), поддерживаются режимы 32-768, поэтому не понятно, какая частота должна подаваться на вход ХTI. Сейчас частота XTI кратна Fs: XTI=256*Fs=12.288 MHz, где Fs=48kHz, но работают два канала из четырех, левый 200 Гц, правый 100 Гц. STM32F407 I2S умеет выдавать Fs*256. А в этом описании есть два термина external clock и internal clock (49.152 MHz for Fs 48 kHz) и еще к чему-то PLL упоминается, что предполагает кратность частот (подаем одну - получаем другую).
  13. STM32F4 I2S DMA

    Внутреннего I2S PLL вполне хватает для некторых комбинаций частот. Не очень понятно, какую частоту нужно подавать на вход XTI STA333W. Работает (два канала из четырех) только от XTI=12.288 MHz = Fs*256, где Fs=48kHz, 16 бит на канал. Т.е. частоты на входах получаются такие: XTI = 12.288 MHz = Fs * 256. BCKI = 1.536 MHz = Fs * 32, где 32 бита на два канала. LRCKI = Fs = 48 kHz. Fpwm = 384kHz = Fs *8. А в документации на STA333W написано, что для Fs = 48 kHz нужна частота 49,152 MHz. Вот здесь совсем не понятно, почему 49.152 MHz и вообще не описаны поддержиаемые частоты XTI, BCLKI. Никто не мешает обрабатывать сэмплы через один, достаточно написать свои обработчики. Если данные приходят не от I2S, то нужно собирать их в буфер.
×
×
  • Создать...