ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1072957
evgeniy1294 (29.01.2021 12:51, просмотров: 843)
Покопался в кишках CubeMX, теперь могу генерировать шаблон для конфигурации pll stm-ок, а заодно проверять параметры в compile-time. Всю работу выполняет питонячий скрипт, его ещё нужно доработать, но результат примерно следующий: 
[name: kHsiFrequencyHz, type: fixed_src, signal: HSI, input: None, output: ['SysClkSource', 'PLLSource', 'MCO1Mult', 'FMPI2C1Mult', 'LPTIM1Mult']]

[name: kHseFrequencyHz, type: varied_src, signal: HSE, input: None, output: ['SysClkSource', 'HSERTCDevisor', 'PLLSource', 'MCO1Mult', 'MCO2Mult']]

[name: kLsiFrequencyHz, type: fixed_src, signal: LSI, input: None, output: ['IWDGOutput', 'RTCClkSource', 'LPTIM1Mult']]

[name: kLseFrequencyHz, type: varied_src, signal: LSE, input: None, output: ['RTCClkSource', 'MCO1Mult', 'LPTIM1Mult']]

[name: kRtcClkSource, type: mux, signal: RTCCLK, input: ['HSERTCDevisor', 'LSEOSC', 'LSIRC'], output: ['RTCOutput']]

[name: kRtcClkHz, type: out, signal: None, input: ['RTCClkSource'], output: None] 

[name: kIwdgClkHz, type: out, signal: None, input: ['LSIRC'], output: None]


Как видно из выхлопа скрипта, я строю дерево, по которому, двигаясь от вершины, генерируется код.