STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: STM32 новичку в ARM что к чему

Сообщение Reflector »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704316#p3704316"]Я именно это и писал, что в SPL и CMSIS стандартные переферийные драйвера идентичны, но в CMSIS так же есть RTE драйвера, RTOS, DSP и NN.[/uquote]
Стандартные периферийные драйвера(Standard Peripherals Library Drivers) - это по сути и есть Standard Peripheral Libraries(SPL), потому что кроме этих драйверов в SPL ничего больше и нет. Соответственно в папке StdPeriph_Driver находится SPL, если скачать SPL от ST, то в архиве эта папка будет на одном уровне с папкой CMSIS. Это две разные либы, внутри CMSIS никакой SPL нет.
Реклама
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: STM32 новичку в ARM что к чему

Сообщение ПростоНуб »

Reflector, распакуйте CMSIS, например, Keil.STM32F1xx_DFP.2.3.0.pack, архиватором и увидите в папке Device\StdPeriph_Driver будут директории inc и src идентичные одноименным директориям из STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver
Сама же CMSIS предлагает к использованию уж RTE драйвера (директория RTE_Driver в CMSIS), которые я и назвал "более высокоуровневыми", чем SPL.
Реклама
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: STM32 новичку в ARM что к чему

Сообщение VladislavS »

Библиотека CMSIS включает в себя следующие компоненты:

CMSIS-CORE: API для ядра Cortex-M и периферии. Стандартизированный интерфейс доступен для Cortex-M0, Cortex-M3, Cortex-M4, SC000, и SC300. Включает дополнительные SIMD-инструкции для Cortex-M4.
CMSIS-Driver: определяет основные драйверы интерфейсов периферии. Содержит API для операционных систем реального времени (ОСРВ, или англ. Real-Time operating systems — RTOS) и соединяет микроконтроллер с промежуточным ПО (стек коммуникации, файловая система или графический интерфейс).
CMSIS-DSP: коллекция из более чем 60 функций для различных типов данных (относятся к обработке сигналов): с фиксированной точкой и с плавающей точкой (одинарной точности, 32 бита). Библиотека доступна для Cortex-M0, Cortex-M3, и Cortex-M4. Реализация библиотеки для Cortex-M4 оптимизирована c использованием SIMD-инструкций.
CMSIS-RTOS API: общий API для систем реального времени. Используя функции данного интерфейса вы можете отойти от конкретной реализации операционной системы.
CMSIS-DAP (Debug Access Port): стандартизованное программное обеспечение для отладчика (Debug Unit).
Вторую часть делает производитель чипа. В случае с STM те самые пресловутые индусы. И её можно смело выкинуть, оставив только заголовочный файл, описывающий регистры микроконтроллера.
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: STM32 новичку в ARM что к чему

Сообщение ПростоНуб »

VladislavS, а потом начинаются вопросы о том, что не работает. Потому что человек не заглянул в какой-то ERRATA или пропустил сноску в даташит, а рабочий пример из SPL он, следуя подобным рекомендациям удалил. И заголовочные файлы SPL тоже нередко полезны и богаты комментариями.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
afz
Опытный кот
Сообщения: 744
Зарегистрирован: Сб дек 22, 2012 08:17:42
Откуда: Караганда, Казахстан

Re: STM32 новичку в ARM что к чему

Сообщение afz »

Коллеги, вы не забыли, что SPL "сняты с вооружения"? Для старых чипов они еще есть (сохранились), а к новым нет, и не будет. Производитель рекомендует собирать софтину из кубиков и пользовать дровишки HAL/LL. Нет, конечно, CMSIS никто не отменял, но даже банальный запуск тактирования всего, что нужно, напоминает закат Солнца вручную - коллега dosikus публиковал с подробностями этот кусок для F407, я думаю, он напомнит...
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
Реклама
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: STM32 новичку в ARM что к чему

Сообщение VladislavS »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704433#p3704433"]VladislavS, а потом начинаются вопросы о том, что не работает.[/uquote]Только почему-то, почитаешь форум и 9 из 10 вопросов имеет классический вид: вот моя грязная портянка на HAL/SPL/LL (нужное подчеркнуть) почему-то не работает.

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704433#p3704433"]Потому что человек не заглянул в какой-то ERRATA[/uquote]При этом о существовании errata и вовсе не подозревают. Да я и не припомню на форуме хоть одну тему, где проблема вопрошающего была бы из errata.

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704433#p3704433"]или пропустил сноску в даташит,[/uquote]Такое бывает, но с опытом обычно проходит. Намного чаще попадаются не читавшие RM вовсе.

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704433#p3704433"]а рабочий пример из SPL он, следуя подобным рекомендациям удалил.[/uquote]Я краем глаза видел код Reflector. От рекомендации ему пользоваться SPL я чуть со смеху не умер.

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704433#p3704433"]И заголовочные файлы SPL тоже нередко полезны и богаты комментариями.[/uquote]Лишней информации, конечно, не бывает, но лучше потратить время на RM и отладчик.

Добавлено after 1 hour 45 minutes 36 seconds:
[uquote="afz",url="/forum/viewtopic.php?p=3704491#p3704491"]но даже банальный запуск тактирования всего, что нужно, напоминает закат Солнца вручную -[/uquote]Вообще изи. Заходишь в куб, там есть схема тактирования, натыкиваешь в ней нужную конфигурацию
СпойлерИзображение
Untitled.png
(149.99 КБ) 467 скачиваний
Затем открываешь RM и пишешь по типовому шаблону.
Например, для F427
Спойлер

Код: Выделить всё

  // Настройка FLASH
  FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_5WS;  
  // ------------------ Тактирование -------------------------
  RCC->CR = _VAL2FLD(RCC_CR_HSITRIM,16) | RCC_CR_HSION | RCC_CR_HSEON; //Включаем HSE = 8 MHz
  while(!(RCC->CR & RCC_CR_HSERDY));  //Ждём включения HSE
  //Задаём источники тактирования и прескалеры  SYSCLK = 168 МГц  USB = 48 МГц
  RCC->PLLCFGR = _VAL2FLD(RCC_PLLCFGR_PLLQ,7) | RCC_PLLCFGR_PLLSRC_HSE | RCC_PLLCFGR_PLLP_div2 | 
                 _VAL2FLD(RCC_PLLCFGR_PLLN,168) | _VAL2FLD(RCC_PLLCFGR_PLLM,4);
  RCC->CFGR = RCC_CFGR_MCO2_HSE | RCC_CFGR_MCO2PRE_div1 | RCC_CFGR_MCO1PRE_div1 | RCC_CFGR_I2SSRC_PLLI2S | RCC_CFGR_MCO1_HSE | 
              RCC_CFGR_PPRE2_DIV2 | RCC_CFGR_PPRE1_DIV4 | RCC_CFGR_HPRE_DIV1 | RCC_CFGR_SW_HSI;
  RCC->CR = _VAL2FLD(RCC_CR_HSITRIM,16) | RCC_CR_HSION | RCC_CR_HSEON | RCC_CR_PLLON; //Включаем PLL
  while(!(RCC->CR & RCC_CR_PLLRDY));  //Ждём включения PLL
  //Переключаемся на PLL с установленнными ранее прескалерами
  RCC->CFGR = RCC_CFGR_MCO2_HSE | RCC_CFGR_MCO2PRE_div1 | RCC_CFGR_MCO1PRE_div1 | RCC_CFGR_I2SSRC_PLLI2S | RCC_CFGR_MCO1_HSE | 
              RCC_CFGR_PPRE2_DIV2 | RCC_CFGR_PPRE1_DIV4 | RCC_CFGR_HPRE_DIV1 | RCC_CFGR_SW_PLL;
  RCC->CR = _VAL2FLD(RCC_CR_HSITRIM,16) | RCC_CR_HSEON | RCC_CR_PLLON; //Выключаем HSI
Или для F303
Спойлер

Код: Выделить всё

  // Настройка FLASH
  FLASH->ACR = FLASH_ACR_PRFTBE | _VAL2FLD(FLASH_ACR_LATENCY,2);  
  // ------------------ Тактирование -------------------------
  RCC->CR = _VAL2FLD(RCC_CR_HSITRIM,16) | RCC_CR_HSION | RCC_CR_HSEON; //Включим HSE
  while(!(RCC->CR & RCC_CR_HSERDY)); //Ждём включения HSE
  //Задаём источники тактирования и прескалеры
  RCC->CFGR = RCC_CFGR_MCO_NOCLOCK | RCC_CFGR_I2SSRC_SYSCLK | RCC_CFGR_USBPRE_DIV1_5 | RCC_CFGR_PLLMUL9 |
              RCC_CFGR_PLLXTPRE_HSE_PREDIV_DIV2 |  //Раскомментировать для кварца 16 МГц
              RCC_CFGR_PLLSRC_HSE_PREDIV | RCC_CFGR_PPRE2_DIV1 | RCC_CFGR_PPRE1_DIV2 | RCC_CFGR_HPRE_DIV1 | RCC_CFGR_SW_HSE;
  RCC->CR = _VAL2FLD(RCC_CR_HSITRIM,16) | RCC_CR_PLLON | RCC_CR_HSEON; //Включим PLL, выключим HSI
  while(!(RCC->CR & RCC_CR_PLLRDY)); //Ждём включения PLL
  //Переключаемся на PLL с установленнными ранее прескалерами  
  RCC->CFGR = RCC_CFGR_MCO_NOCLOCK | RCC_CFGR_I2SSRC_SYSCLK | RCC_CFGR_USBPRE_DIV1_5 | RCC_CFGR_PLLMUL9 | 
              RCC_CFGR_PLLXTPRE_HSE_PREDIV_DIV2 | //Раскомментировать для кварца 16 МГц
              RCC_CFGR_PLLSRC_HSE_PREDIV | RCC_CFGR_PPRE2_DIV1 | RCC_CFGR_PPRE1_DIV2 | RCC_CFGR_HPRE_DIV1 | RCC_CFGR_SW_PLL;
Или зтёртый до дыр F103
Спойлер

Код: Выделить всё

  // Настройка FLASH
  FLASH->ACR = FLASH_ACR_PRFTBE | _VAL2FLD(FLASH_ACR_LATENCY,2);    
  // ------------------ Тактирование -------------------------
  RCC->CR = _VAL2FLD(RCC_CR_HSITRIM,16) | RCC_CR_HSION | RCC_CR_HSEON; //Включаем HSE
  while(!(RCC->CR & RCC_CR_HSERDY));       //Ждём пока запустится HSE
  //Задаём источники тактирования и прескалеры 
  // SYSCLK = 72 МГц, USB = 48 МГц, PCLK1 = 36 МГц, PCLK2 = 72 МГц,  ADC = 12 МГц  
  RCC->CFGR = RCC_CFGR_MCO_NOCLOCK | RCC_CFGR_USBPRE_1d5 | RCC_CFGR_PLLMULL9 | RCC_CFGR_PLLSRC_HSE | RCC_CFGR_ADCPRE_DIV6 |  
              //RCC_CFGR_PLLXTPRE | // Раскомментировать для кварца 16 МГц
              RCC_CFGR_PPRE2_DIV1 | RCC_CFGR_PPRE1_DIV2 | RCC_CFGR_HPRE_DIV1 | RCC_CFGR_SW_HSE;
  RCC->CR = _VAL2FLD(RCC_CR_HSITRIM,16) | RCC_CR_HSEON | RCC_CR_PLLON; // Включаем PLL, выключаем HSI
  while(!(RCC->CR & RCC_CR_PLLRDY));            // Ждём пока запустится PLL
  //Переключаемся на PLL с установленнными ранее прескалерами
  RCC->CFGR = RCC_CFGR_MCO_NOCLOCK | RCC_CFGR_USBPRE_1d5 | RCC_CFGR_PLLMULL9 | RCC_CFGR_PLLSRC_HSE | RCC_CFGR_ADCPRE_DIV6 | 
              //RCC_CFGR_PLLXTPRE | // Раскомментировать для кварца 16 МГц
              RCC_CFGR_PPRE2_DIV1 | RCC_CFGR_PPRE1_DIV2 | RCC_CFGR_HPRE_DIV1 | RCC_CFGR_SW_PLL;
Или простенький L053
Спойлер

Код: Выделить всё

  // Настройка FLASH  
  FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_LATENCY;  
  // ------------------ Тактирование -------------------------
  RCC->CR = RCC_CR_MSION | RCC_CR_HSION;  //Включим HSI16
  while(!(RCC->CR&RCC_CR_HSIRDY));  
  RCC->CFGR = RCC_CFGR_MCOPRE_DIV1 | RCC_CFGR_MCO_NOCLOCK | RCC_CFGR_PLLDIV2 | RCC_CFGR_PLLMUL4 | RCC_CFGR_PLLSRC_HSI |
              RCC_CFGR_PPRE2_DIV1 | RCC_CFGR_PPRE1_DIV1 | RCC_CFGR_HPRE_DIV1 | RCC_CFGR_SW_HSI;
  RCC->CR = RCC_CR_HSION | RCC_CR_PLLON;  //Включим PLL, выключим MSI
  while(!(RCC->CR&RCC_CR_PLLRDY));
  RCC->CFGR = RCC_CFGR_MCOPRE_DIV1 | RCC_CFGR_MCO_NOCLOCK | RCC_CFGR_PLLDIV2 | RCC_CFGR_PLLMUL4 | RCC_CFGR_PLLSRC_HSI |
              RCC_CFGR_PPRE2_DIV1 | RCC_CFGR_PPRE1_DIV1 | RCC_CFGR_HPRE_DIV1 | RCC_CFGR_SW_PLL;
и т.д. ...

Всё по одному принципу. Делается один раз для нового чипа, а потом CTRL-C CTRL-V из проекта в проект.
Реклама
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: STM32 новичку в ARM что к чему

Сообщение ПростоНуб »

VladislavS, всего месяц назад обсуждали способы обхода баги в некоторых stm8, возникающей в первой операции деления, если операция деления была прервана дважды. Сначала в основной программе, затем в предыдущем обработчике прерывания.

А с Вашим чисто теоретическим подходом к обучению ни один методист не согласится. Эффективность обучения возрастает в разы, если чтение теории совмещается с разбором практических примеров использования этой теории.
Ну и несмотря на индийский код SPL, он все же соответствует определенным стандартам. И уж лучше начинающему использовать эти стандарты, чем лепить свой код мусорного и неоднозначного вида.

afz, а разве для новых чипов SPL перестали включать в CMSIS? Только RTE драйвера с оверхедом предлагают?
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: STM32 новичку в ARM что к чему

Сообщение VladislavS »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704558#p3704558"]VladislavS, всего месяц назад обсуждали способы обхода баги в некоторых stm8, возникающей в первой операции деления, если операция деления была прервана дважды. Сначала в основной программе, затем в предыдущем обработчике прерывания.[/uquote]Каким образом SPL поможет это обойти?

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704558#p3704558"]А с Вашим чисто теоретическим подходом к обучению ни один методист не согласится.[/uquote]Это у меня то чисто теоретический подход? Я под столом второй раз :) Это не я в прошлом сообщении рекомендовал сесть за отладчик вместо чтения индусского кода? Под спойлером кода тоже не видно?

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704558#p3704558"]Эффективность обучения возрастает в разы, если чтение теории совмещается с разбором практических примеров использования этой теории.[/uquote]Разбирайте, ктож не даёт. Только разбирать HAL это мазохизм.

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704558#p3704558"]Ну и несмотря на индийский код SPL, он все же соответствует определенным стандартам. И уж лучше начинающему использовать эти стандарты, чем лепить свой код мусорного и неоднозначного вида.[/uquote]Начинающему надо начинать с азов. Мусор неоднозначного вида можно писать и с библиотеками, какими бы кошерными они ни были.

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704558#p3704558"]а разве для новых чипов SPL перестали включать в CMSIS? Только RTE драйвера с оверхедом предлагают?[/uquote]Хм, после этого я теоретик. Ну, ну...
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: STM32 новичку в ARM что к чему

Сообщение ПростоНуб »

VladislavS, так код обхода этой баги и был обнаружен в SPL. А потом уже я отыскал соответствующую ERRATA

Вы предлагаете приступать к практике без изучения примеров кода, ориентируясь только на теорию. Это и есть чисто теоретическая методология, неприемлемая в педагогике.

И не углублялась в демагогию, пожалуйста. Речь была исключительно об изучении кода SPL. Об использовании SPL в качестве библиотеки, а тем более о HAL, я однозначно высказал свое мнение выше.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: STM32 новичку в ARM что к чему

Сообщение VladislavS »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704584#p3704584"]VladislavS, так код обхода этой баги и был обнаружен в SPL. А потом уже я отыскал соответствующую ERRATA[/uquote]Лишнее подтверждение ошибочности подхода. Errata изучается до рисования схемы на этапе выбора чипа. Там и написано как обходить. Никакой SPL для этого не нужен.
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: STM32 новичку в ARM что к чему

Сообщение ПростоНуб »

VladislavS, "кто из вас без греха, первый брось на неё камень" (с)
Хорошо, что такого ангела, как Вы, тогда там не оказалось )))

Методология стандартна:
1. Изучение теории
2. Изучение практических примеров применения этой теории
3. Практика.

Вы же исключаете второй пункт, предлагая приступать к практике сразу после теории. Я ни разу еще не встречал человека, который мог изучить теорию так, чтобы он усвоил ее в стопроцентном объеме. Вы, видимо, будете первым )))

Разбор практических примеров применения теории позволяет намного лучше эту теорию понимать и усваивать. Я даже не представляю, насколько медленно Вы обучаетесь, исключая для себя этот этап.

Заметьте, что путь:
1. Обнаружение баги
2. Изучение кода, в котором эта бага не проявляется
3. Поиск теории, описывающей наличие и способы обхода этой баги

оказался существенно короче и эффективней, чем повтороное изучение всей теории, без понимания, в каких же случаях результат работы обработчика прерывания неправильный. Особенно, когда это возникает при очень редком стечении обстоятельств и поймать его в дебагере мало реально.
Reflector
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Re: STM32 новичку в ARM что к чему

Сообщение Reflector »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704355#p3704355"]Reflector, распакуйте CMSIS, например, Keil.STM32F1xx_DFP.2.3.0.pack, архиватором и увидите в папке Device\StdPeriph_Driver будут директории inc и src идентичные одноименным директориям из STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver[/uquote]
Cама ST в доках к SPL позиционирует его как нечто находящееся уровнем выше CMSIS.

Изображение

Формально SPL мог бы быть частью CMSIS Driver, но там универсальный API, а у SPL/HAL/LL свои с ним не совместимые API.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: STM32 новичку в ARM что к чему

Сообщение VladislavS »

ПростоНуб, бред какой-то. Сам можешь хоть в туалет по методичке ходить, а на меня свои фантазии не распространяй.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 новичку в ARM что к чему

Сообщение dosikus »

ПростоНуб, Vladislav , уже подсказал что вам нужно осознать - сходите на сайт арм, там увидите что первостепенно и архиважно. Индусы из стм просто неуспевают исправлять ошибки, в то время как CMSIS незыблема.
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: STM32 новичку в ARM что к чему

Сообщение ПростоНуб »

dosikus, нравится Вам изучать работу с периферией по RTE драйверам CMSIS, написанными теми же индусами - пожалуйста. Мазохизм не запрещен)))
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Eddy_Em »

ПростоНуб, зачем ковыряться в индусокоде SPL или кала, если есть сниппеты? Они, понятное дело, только под STM32F0, но путем несложного чтения даташита и мануала можно под нужную линейку переделать.
И хватит уже путать SMSIS и кал! Базовый SMSIS — просто набор хидеров для ARM'яней! Для поддержки конкретных камней нужно откуда-нибудь (хоть из того же SPL) выдрать заголовочные файлы с определениями регистров. Здесь у меня можно увидеть, что я именно так и поступил: заголовочные файлы под конкретные камни выдрал из SPL, добавив туда заголовочники для определенных линеек и базовые макросы для ногодрыга.
Ах, да: забыл еще про стартап (который был выдран из opencm3 и малость подправлен) и ld-скрипт (оттуда же, но тоже иной раз приходится новые секции добавлять для возможности эмуляции EEPROM во флеш-памяти).
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 новичку в ARM что к чему

Сообщение dosikus »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3704833#p3704833"]dosikus, нравится Вам изучать работу с периферией по RTE драйверам CMSIS, написанными теми же индусами - пожалуйста. Мазохизм не запрещен)))[/uquote]
Ну во первых изучать работу периферии по чьей-то писанине , само по себе полный бред.
Это прерогатива выходцев с ПС кодинга.
Периферия изучается по документации производителя....
Кстати RTE драйвера это блажь кайло чисто...
А CMSIS это и не драйвера и не либа, это стандарт для писателей дров. Ощутите разницу...
Последний раз редактировалось dosikus Сб сен 21, 2019 18:48:38, всего редактировалось 1 раз.
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: STM32 новичку в ARM что к чему

Сообщение ПростоНуб »

Eddy_Em, поясните связь между RTE драйверами CMSIS и HAL. И изучать МК переделевыя то, что написано для одного МК под другой - это уже практика, до которой и следует разобрать теорию на примерах. А у Вас какой-то замкнутый круг получается: сначала переделать, а потом изучать )))
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: STM32 новичку в ARM что к чему

Сообщение dosikus »

ПростоНуб, у вас каша в голове.
CMSIS это стандарт описания работы с периферией.
RTE это либы и прерогатива кайла.
То что вы называете практикой - повсеместно -глупое тырканье с такими же глупыми ошибками и вопросами.
Если индивидиум не знает периферии он и в спл и калокубе будет только тыкаться ...
Аватара пользователя
ПростоНуб
Собутыльник Кота
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Re: STM32 новичку в ARM что к чему

Сообщение ПростоНуб »

dosikus, простите, но каша в голове у Вас. Почитайте внимательно, что входит в состав CMSIS. Там далеко не только CMSIS-Core. На данный момент обсуждается Driver компонент, который по утверждению многих, чем то лучше в CMSIS, чем в SPL для STM32. Для конкретики я рассматриваю STM32F10x. И вижу в CMSIS только два варианта драйверов. Один когруэнтный SPL, а второй - RTE. Так о каких драйверах тогда речь?

А обсуждать различие заголовочных файлов в CMSIS и SPL вообще бессмысленно, так как SPL пользуется заголовочными файлами CMSIS
Ответить

Вернуться в «ARM»