Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: stm32cubemx регенерация кода
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
-= Александр =-
Добрый день!
Недавно начал ковыряться с 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.gif
Огурцов
Цитата(-= Александр =- @ Nov 17 2017, 18:23) *
Естественно все мои допиливания были выкинуты. Как тут правильно поступить?

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

DASM
Git.
Lagman
В каждом исходном файле сгенерированным кубом есть места обозначенные USER CODE BEGIN и USER CODE END, вот между ними и можно писать свой код, в остальных местах он затрется при изменении и сборки проекта из cube.
krick
Возможно, что для сохранении вы нажимаете на "Save the Project in a new file " - иконка с двумя дискетами
Lmx2315
Цитата(Огурцов @ Nov 17 2017, 22:15) *
выкинуть куб, однозначно

..а что вместо него? не самому же все регистры и функции описывать?
-= Александр =-
Ну когда-то я начинал осваивать LPC какой-то древний, там все руками писал. Но он в сто раз проще был, так что ну его нафиг)))
Эдди
Цитата(Огурцов @ Nov 17 2017, 22:15) *
выкинуть куб, однозначно

Поддерживаю!
А то продолжением будет нытье ТС по поводу того, что "ой, SPI не работает" или "не могу настроить CAN" и т.д., и т.п.
Цитата(Lmx2315 @ Nov 29 2017, 15:22) *
..а что вместо него? не самому же все регистры и функции описывать?

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

laughing.gif
jcxz
Цитата(-= Александр =- @ Nov 29 2017, 14:41) *
Ну когда-то я начинал осваивать LPC какой-то древний, там все руками писал. Но он в сто раз проще был, так что ну его нафиг)))

Из всех известных мне Cortex-ов, STM32 обладают самой простой периферией - рассчитана на низкий уровень входа. Читается и изучается на раз.
Как раз в МК LPC периферия более сложная.
_Thomas_
Цитата(-= Александр =- @ Nov 17 2017, 19:23) *
Это сейчас их с десяток, а как уследить потом, когда их станет сильно больше?

Универсальный ответ - это система контроля версий и ревью кода.
ryabikin
Цитата(Эдди @ Nov 29 2017, 16:25) *
Зато куб сам по себе удобен для распределения ролей по ногам МК на стадии планирования. Генерируется удобный pdf, по которому потом можно развести в кикаде плату и выполнить инициализацию МК.


А также настроить делители для тактирования, чтоб вручную не считать и посмотреть потребление (примерное).
ViKo
_Pasha правильно сказал, была птичка, и есть. Тогда не должно выкидывать, что юзер насочинял.
Эдди
Цитата(ryabikin @ Jan 13 2018, 19:59) *
А также настроить делители для тактирования, чтоб вручную не считать и посмотреть потребление (примерное).

Не пробовал. Проще по даташиту.
ViKo
Цитата(Эдди @ Jan 14 2018, 10:57) *
Не пробовал. Проще по даташиту.

Проще по тому и по другому одновременно. rolleyes.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.