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

stm32cubemx регенерация кода

Добрый день!

Недавно начал ковыряться с CubeMX. Создал проект, сгенерил код, немного его поковырял... Вспомнил что надо еще пару пинов задействовать - решил вернуться в Куб и сгенерить проект заново. Естественно все мои допиливания были выкинуты. Как тут правильно поступить?

 

Вот например надо мне после инициализации GPIO и до запуска LWIP поднять линию сброса PHY. Делаю я это так:

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  
  HAL_GPIO_WritePin(GPIOE, GPIO_PIN_14, GPIO_PIN_SET); //PHY Reset HI
  HAL_Delay(10);

  ...............
  ...............
  MX_LWIP_Init();

 

Как бы заставить его не выкидывать мои строчки каждый раз? Это сейчас их с десяток, а как уследить потом, когда их станет сильно больше? Уже пробовал до и после сделать комменты вида /* USER CODE BEGIN bla-bla-bla */ - один фиг выкидывает. :smile3046:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Естественно все мои допиливания были выкинуты. Как тут правильно поступить?

выкинуть куб, однозначно

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В каждом исходном файле сгенерированным кубом есть места обозначенные USER CODE BEGIN и USER CODE END, вот между ними и можно писать свой код, в остальных местах он затрется при изменении и сборки проекта из cube.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможно, что для сохранении вы нажимаете на "Save the Project in a new file " - иконка с двумя дискетами

Изменено пользователем krick

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

выкинуть куб, однозначно

..а что вместо него? не самому же все регистры и функции описывать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну когда-то я начинал осваивать LPC какой-то древний, там все руками писал. Но он в сто раз проще был, так что ну его нафиг)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

выкинуть куб, однозначно

Поддерживаю!

А то продолжением будет нытье ТС по поводу того, что "ой, SPI не работает" или "не могу настроить CAN" и т.д., и т.п.

..а что вместо него? не самому же все регистры и функции описывать?

Нужные заголовочные файлы можно и из SPL взять, но не пользоваться SPL, а писать по-человечески. Постепенно пополнять коллекцию сниппетов и все будет хорошо.

Калокуб не годится ни для чего, серьезней мигалки светодиодом.

Зато куб сам по себе удобен для распределения ролей по ногам МК на стадии планирования. Генерируется удобный pdf, по которому потом можно развести в кикаде плату и выполнить инициализацию МК.

Изменено пользователем Эдди

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну когда-то я начинал осваивать LPC какой-то древний, там все руками писал. Но он в сто раз проще был, так что ну его нафиг)))

Из всех известных мне Cortex-ов, STM32 обладают самой простой периферией - рассчитана на низкий уровень входа. Читается и изучается на раз.

Как раз в МК LPC периферия более сложная.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это сейчас их с десяток, а как уследить потом, когда их станет сильно больше?

Универсальный ответ - это система контроля версий и ревью кода.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зато куб сам по себе удобен для распределения ролей по ногам МК на стадии планирования. Генерируется удобный pdf, по которому потом можно развести в кикаде плату и выполнить инициализацию МК.

 

А также настроить делители для тактирования, чтоб вручную не считать и посмотреть потребление (примерное).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

_Pasha правильно сказал, была птичка, и есть. Тогда не должно выкидывать, что юзер насочинял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А также настроить делители для тактирования, чтоб вручную не считать и посмотреть потребление (примерное).

Не пробовал. Проще по даташиту.

Изменено пользователем Эдди

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не пробовал. Проще по даташиту.

Проще по тому и по другому одновременно. :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...