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

Muxamor

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Местный
    Местный
  • День рождения 18.03.1983

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

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

2 259 просмотров профиля
  1. ДА не написал реализацию printf. Вывод в порт SWV 0 без участия UART, вот таким способом
  2. Debug SWV не читаемые символы

    При старте МК вывод сообщений через printf и настройке SWV (Core clock = 4 MHz ) работает как положено, то-есть получаю в читабельном виде сообщения Test1 и Test2. Проблема возникает при перенастройке тактирования МК на максимальную частоту 80MHz. После настройки тактирования SystemClock_Config(), через printf и настройке SWV (Core clock = 80MHz ) получаю не читаемые символы, то-есть вместо Test3 и Test4 получаю что попало. int main(void){ LL_Init(); printf("Test1 \r\n"); printf("Test2 \r\n"); SystemClock_Config(); while(1){ printf("Test3 \r\n"); printf("Test4 \r\n"); } } void SystemClock_Config(void){ LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); if(LL_FLASH_GetLatency() != LL_FLASH_LATENCY_4){ Error_Handler(); } LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE1); //Enable HSI LL_RCC_HSI_Enable(); // Wait till HSI is ready while(LL_RCC_HSI_IsReady() != 1); LL_RCC_HSI_SetCalibTrimming(16); // Enable LSI LL_RCC_LSI_Enable(); /* Wait till LSI is ready */ while(LL_RCC_LSI_IsReady() != 1); LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_HSI, LL_RCC_PLLM_DIV_1, 10, LL_RCC_PLLR_DIV_2); LL_RCC_PLL_Enable(); LL_RCC_PLL_EnableDomain_SYS(); /* Wait till PLL is ready */ while(LL_RCC_PLL_IsReady() != 1); LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL); /* Wait till System clock is ready */ while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL); LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1); LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); LL_Init1msTick(80000000); LL_SYSTICK_SetClkSource(LL_SYSTICK_CLKSOURCE_HCLK); LL_SetSystemCoreClock(80000000); LL_RCC_SetUSARTClockSource(LL_RCC_USART1_CLKSOURCE_SYSCLK); LL_RCC_SetI2CClockSource(LL_RCC_I2C1_CLKSOURCE_SYSCLK); /* SysTick_IRQn interrupt configuration */ NVIC_SetPriority(SysTick_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(),0, 0)); } LL_RCC_GetSystemClocksFreq - возвращает значения согласно расчетным = 80MHz По всей видимости где-то не совсем правильно настраивается частота, но не понятно, что именно не так. Есть предположения? Запускаю на NUCLEO-L452RE, среда TrueStudio.
  3. Не могли бы пояснить, в чем Altium хуже Mentor Expedition или Cadence ?
  4. Две полезные книг по трассировке ВЧ. Джонсон Г. Грэхэм М «Конструирование высокоскоростных цифровых устройств. Начальный курс черной магии» Джонсон Г. Грэхэм М «Высокоскоростная передача цифровых данных: высший курс черной магии»
  5. Ну если я правильно понимаю если глобально то не на стеке ?
  6. Отладчиком ничего не увидел. В main бегает по циклу опроса флагов. Вышибает если просто в массив перезаписать один элемент в начале main и дальше этот массив нигде не трогать тоесть: u8 array[16384]; main{ array[0]=1; . . . . while(1){ опрос флагов. } }
  7. МК используется STM32F103 компилятор IAR. Задача. Накапливать за секунду массив данных размером 16 Кбайт (u8 array[16384] )затем отправлять его к другому устройству. Массив объявляется глобально. Столкнулся с такой проблемой, что при объявлении массива размером в 16 Кбайт перестают работать прерывания, при инициализации массива меньшего размера порядка 300 Байт ( u8 array[300] ) все работает как и задумано. При компиляции IAR никаких ошибок не выдает. Как правильно объявлять большой массив данных?
  8. А можно по подробней про переферию сидящих на тех же ногах. В данном случае SPI порт. ТАк сказать что стоит ожидать ? А все понял, сразу не по глазам было. Благодарю за помощь.
  9. STM32F103RF +ST-LINK/V2 (SWD) +IAR

    Связка STM32F103RF +ST-LINK/V2 (SWD) +IAR. НА STM32F103RF планирую использовать три SPI порта, в связи с чем для отладки не могу подключиться по JTAG 5pin. Судя по дкументации можно использовать Serial-Wier (SWD) в таком случае есть возможность юзать три SPI порта. Однако возникает вопрос смогу ли полноценно выполнять пошаговую отладку в IAR по средствам SWD? И есть ли при таком подключении какие-нибудь подводные камни?
  10. Подскажите пожалуйста в каких пределах нужно выравнять шину address/command относительно клока для DDR3?
  11. 1) не пользовал. 2) Да нужна частоат 40.96. Сомнения правильно терзают. Лучше поставить генератор и не имет потом головной боли с подбором емкостей. 3) Если на плате стоит один чип то тогда можно не закорачивать между собой. Та как внутри они уже соединены. 5) Пользуйте транс Pulse BX1194.
  12. Документация на эти чипы вся под NDA. Обратитесь в ЭФО или в Симметрон. Через них заключите NDA c Инфинеон и вам дадут доки. Эвалюшен борд стоят как самолет. В тех же компаниях можете попросить Эвалюшен борд на время. У инфинеона кстати две серии чипов по SHDSL: 1) PEF 21624, PEF 22624, PEF 24624 2) PEF 21628, PEF 22628, PEF 24628
  13. НУ если покет еше не доходит до чипа то чип то тут не виноват. На чем HDLC делаете?
  14. Следующию команду нужно подавать CMD_WR_REG_RS_FWSTART со значением: 0 ТОетсь вот так : CMD_WR_REG_RS_FWSTART со значением: 0 CMD_WR_REG_RS_FWCTRL
×
×
  • Создать...