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

 

3 минуты назад, codenamehawk сказал:

А если так:

вопрос был "Как вызывать из main.c, если в main.c ни чего не писать?". И вы предлагаете решение этого вопроса - писать в main.c.   

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


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

50 минут назад, razrab83 сказал:

"Как вызывать из main.c, если в main.c ни чего не писать?"

Ну, мне не кажется, что кто задал такой вопрос - не подумал или ему нечего делать.

Если что, я показал как сделать, чтобы не затерался код, после изменения конфигурации.

Изменено пользователем makc
убрано потенциальное нарушение правил форума

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


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

3 hours ago, razrab83 said:

вопрос был "Как вызывать из main.c, если в main.c ни чего не писать?". И вы предлагаете решение этого вопроса - писать в main.c. 

Нет вопрос был как отключить функцию удаления кода из main.c файла ,если код расположен не между BEGIN END коментариями ?

Как располагать код чтобы он не был очередной раз стерт, я разобрался. Но сам факт того что ide решает за меня где мне вставлять свой код, мне не понравился. Сначала я думал что если убрать все комменты с бегин-эндами то код-генератор ничего удалять не будет, но это не прокатило. 

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


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

2 часа назад, MaxiMuz сказал:

Нет

вот моё предложение:

8 часов назад, razrab83 сказал:

По хорошему, так вообще не следует ни чего писать в сгенерированных файлах. 

Это не ответ на ваш первичный вопрос, это просто моё предложение. На это предложение вы озвучили вопрос:

Цитата

вызывать свой код как функцию из main ?

На этот вопрос я ответил

Цитата

Ни как.

Т.е. вопрос полностью: Как вызывать свой код как функцию из main, если в сгенерированные файлы, в том числе и в маин, ни чего не писать? Ответ полный: При таком подходе, т.е. если в сгенерировнные файлы ни чего не писать, то из майна ни как ни чего не вызвать. Можно вызвать из др. места свою функцию.

На что codenamehawk предлагает решение писать между begin-end в сгенерированные файлы.

5 часов назад, codenamehawk сказал:

А если так

Если вы отвечает на первый вопрос, "как писать между бегин-енд?", то зачем меня цитировать?

 

2 часа назад, MaxiMuz сказал:

Но сам факт того что ide решает за меня где мне вставлять свой код, мне не понравился.

Вообще когда 2 автора (ide и вы, или вы и ваш коллега) лезут редактировать один файл - это источник проблем. Вы либо сами пишите main, либо доверьте генератору. Если доверили генератору - то не следует туда соваться. Если сами хотите писать - то запретите генератору генерить. Если вообще не хотите, чтобы ide вам что-то генерировала - не используйте ide (ну или не используйте генератор кода).

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

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


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

Цитата

Но сам факт того что ide решает за меня где мне вставлять свой код, мне не понравился.

Обычно генераторы кода в начале файла пишут комент "Do not edit". В этом генераторе более демократичный подход и вам позволено писать вместе с генератором, но в секциях бегин-енд.

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


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

...и если эта секция (user code begin/end) затирается, то наверно в результате правок были затерты некоторые ключевые строки или символы разметки участков кода.

Одним словом, вероятно, повреждена первоначальная текстовая разметка файла с кодом.

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


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

16 hours ago, EdgeAligned said:

Одним словом, вероятно, повреждена первоначальная текстовая разметка файла с кодом.

Как оказалось первоначальную разметку не возможно повредить или стереть. 

Каждый раз хитрый кот-генератор восстанавливает все BEGIN - END и все по новой.

Раз это отключить нельзя, буду както мириться с этим.

Возникла проблем. Как залить прогу с помощью IDE в STM32VLDISCOVERY. 

Я не обнаружил встроенной поддержки ST-Link. Посему скачал STM32 ST-Link Utility ver.3.3.0.  НО там нет поддержки hex-файлов.

Как заставить ide генерить hex-файлы ?

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


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

2 hours ago, MaxiMuz said:

Я не обнаружил встроенной поддержки ST-Link. Посему скачал STM32 ST-Link Utility ver.3.3.0.  НО там нет поддержки hex-файлов.

 

Скачайте  STM32 ST-Link Utility ver.4.6.0.   https://www.st.com/en/development-tools/stsw-link004.html#get-software

она поддерживает

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


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

2 hours ago, Vasil_Riabko said:

Скачайте  STM32 ST-Link Utility ver.4.6.0.

к сожалению ресурс для меня не доступен.

Так а всетаки CubeIDE не умеет генерить хексы ?

или может быть есть легкая альтернатива STM32 ST-Link Utility ?

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

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


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

STM32VLDISCOVERY - старенькая отладочная плата, по-моему, даже первая из линейки STM32. Её даже рассылали бесплатно в качестве рекламных образцов, было такое лет 10 назад. У меня до сих пор пара этих плат лежит. И поскольку в ней зашита одна из первых версий ST-Link, то у нее уже давно появилась проблема с прошивкой и отладкой из-под IDE. Из утилиты она нормально видится (если на память не ошибаюсь). Вообще, давно эту плату не доставал.

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


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

Тут есть: https://st.alx52.ru/ 

31 минуту назад, MaxiMuz сказал:

Так а всетаки CubeIDE не умеет генерить хексы ?

Умеет. В настройках проекта есть галки для формирования: bin, hex и srec. 

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


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

В 25.08.2023 в 21:13, MaxiMuz сказал:

Так а всетаки CubeIDE не умеет генерить хексы ?

image.thumb.png.32286132fc69975ddfe5acea1b78f4bd.png

В 25.08.2023 в 15:46, MaxiMuz сказал:

Возникла проблем. Как залить прогу с помощью IDE в STM32VLDISCOVERY. 

Я не обнаружил встроенной поддержки ST-Link.

она там есть "изкоробки"

Project->Propertias->Debug As->Debug configurations...  2Clik по STM32 C/C++ Application появится новая конфигурация отладки. По умолчанию ST-LINK

image.thumb.png.a336ac719b1cc8516b3e818619f7b496.png

 

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


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

On 8/25/2023 at 7:16 PM, EdgeAligned said:

STM32VLDISCOVERY - старенькая отладочная плата, по-моему, даже первая из линейки STM32. Её даже рассылали бесплатно в качестве рекламных образцов, было такое лет 10 назад. У меня до сих пор пара этих плат лежит. И поскольку в ней зашита одна из первых версий ST-Link, то у нее уже давно появилась проблема с прошивкой и отладкой из-под IDE. Из утилиты она нормально видится (если на память не ошибаюсь). Вообще, давно эту плату не доставал.

Я бы не сказал что с ней какие то проблемы возникали. 

Благодаря совету @razrab83 нашел таки где включаются хексы. С помощью STM32 ST-Link Utility залил прошивку. Вот CubeIDE эту платку почемуто не видит. Странно почему он не видит ST-Link ... может с настройками чтото.

В Keil проблем с этой платой не возникло.

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


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

у меня кстати тоже проблема с этими вашими хексами((( куб пихает в хекс данные начиная с адреса 0x20020000 хотя это область ОЗУ. как можно это исправить?

MEMORY
{
FLASH_ISR (rx)		: ORIGIN = 0x8000000,  LENGTH = 32K
FLASH_OPTIONS (rx)	: ORIGIN = 0x08008000, LENGTH = 64K
FLASH (rx)       	: ORIGIN = 0x08080000, LENGTH = 256K
RAM (xrw)        	: ORIGIN = 0x20000000, LENGTH = 128K /* основное ОЗУ*/
Memory_B0(xrw)		: ORIGIN = 0x20020000, LENGTH = 128K /* участок для данных от SPI */
Memory_B1(xrw)   	: ORIGIN = 0x20040000, LENGTH = 0x100
Memory_B2(xrw)   	: ORIGIN = 0x20040100, LENGTH = 0x100
Memory_B3(xrw)   	: ORIGIN = 0x20040200, LENGTH = 0x2FA0 
Memory_B4(xrw)   	: ORIGIN = 0x200431A0, LENGTH = 0x2FA0
}

 

STM32F746NGHx_FLASH.ld

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


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

3 часа назад, RusikOk сказал:

как можно это исправить?

добавьте (NOLOAD) в определение bss

.bss (NOLOAD):
{

 

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


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

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

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

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

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

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

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

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

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

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