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

VladislavS

Свой
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

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

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

Контакты

  • Сайт
    http://vsagunovs@gmail.com
  • ICQ
    0

Информация

  • Город
    Москва

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

2 029 просмотров профиля
  1. MK10DN512 IAR проект

    Заголовочный файл на сайте nxp качается. Стартап стандартный кортексовский взять и вектора прерываний из заголовочного файла вставить. Конфиги линкера и отладчика в последних версиях IAR есть. Дел на 10 мин с перекуром.
  2. Странная проблема при оптимизации

    А когда-то можно было не объявлять?
  3. Электрическая надежность STM32.

    Можете ёрничать сколько угодно, но строгое следование документации избавляет от большинства проблем.
  4. Электрическая надежность STM32.

    На даташит и референс мануал. Один начинающий программист не хотел изучать железо и генерил код в CubeMX. За это опытные программисты смеялись над ним и показывали пальцем вслед. И однажды... Если руки не оттуда растут, то ни одна супернадёжная микросхема не поможет.
  5. Так любом знакомым вам XML-редактором.
  6. Отладка программы под бутлоадер.

    Да любой отладчик или загрузчик, знающий что такое кортекс, должен иметь скрипт устанавливающий стек и точку входа. А VTOR я обычно в самом приложении устанавливаю значением, которое линкер подставляет. Так надёжнее, мало ли откуда загрузиться придётся.
  7. Cortex A8 L1 Cache mode

    Кэш плюc DMA - хардкор, но попробовать стоит, в худшем случае экспириенс получите :)
  8. Хотел промолчать, но не буду. У человека, который с помощью функции по указателю осуществляет из прерывания доступ к глобальной булевой по сути переменной большие проблемы. Это в будущем первый кандидат в секту "пресвятого инлайна".
  9. Не надо нас лечить, лучше принимайте советы к исполнению.
  10. Строго по существу - в вашем примере volatile вообще нигде не нужен! Но мы люди опытные и понимаем, что дальше вы наговнокодите прерывание, которое флаги будет менять. Поэтому и посоветовали поставить volatile в единственно верное место - определение переменных MyFlag. Дожились, каждый говнокодер ещё и поучать будет...
  11. Форма записи это всё шелуха и вкусовщина. Главное в using это умение работать с шаблонами. template<typename T> using add_t = typename add_template<T>::type; Теперь можно вместо typename add_template<T>::type использовать add_t<T>
  12. А если ещё вспомнить, что typedef уже заменили на using :) PS: Краткость - сестра таланта. volatile bool MyFlag1, MyFlag2; int main () { MyFlag1 = true; MyFlag2 = MyFlag1; for(;;); }
  13. Добавлю лишь, что в C++ для объявления типа перечисления не нужен typedef. Вот так будет достаточно. enum Flag_State_t { FLAG_STATE_OFF = 0, // Флаг события сброшен FLAG_STATE_ON = 1 // Флаг события взведён };
  14. Добавил в проект ADC. Линкер ругается.

    В дереве проекта правой пипкой мыши на таргете. В контекстном меню - Manage Project Items...
  15. Добавил в проект ADC. Линкер ругается.

    Очевидно же, добавить в список компиляции файл stm32l1xx_hal_adc.c Если бы вы указали среду разработки, кто-нибудь даже подсказал как.