Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 46

CubeIDE

23.09.2020, 13:39. Показов 3644. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Подскажите пожалуйста как в CubeIDE при прошивке контроллера сместить стартовый адрес что бы моя программа начиналась с 0х8004000, так как у меня в 0х8000000 записан bootloader. В Keil все работает замечательно. Заранее благодарен.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.09.2020, 13:39
Ответы с готовыми решениями:

CubeIDE
Портировал старый проект под EWARM на CubeIDE. В CMSIS в DSP_Lib не хвататает файла arm_math.h. Как и откуда взять ? Причем файлы на...

CubeIDE комментарии
Доброго дня! Изучаю CubeIDE, и первое мне захотелось избавиться от комментариев создающихся автоматически при создании проекта. Да и...

CubeIDE и Linux Mint
Установил CubeIDE, работает, но как-то странно. Проект создается, отлаживается, но иногда не открывается файл .ioc. Иногда открывается, но...

14
 Аватар для _SayHello
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
23.09.2020, 15:19
phantom85, в структуре проекта найди линкерный файл *.ld поменй там строчку
C
1
ROM    (rx)    : ORIGIN = 0x8000000,   LENGTH = 64K
на
C
1
ROM    (rx)    : ORIGIN = 0x8004000,   LENGTH = 48K
1
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 46
23.09.2020, 15:27  [ТС]
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K
FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 128K


Я так понимаю нужно сделать так?

RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K
FLASH (rx) : ORIGIN = 0x8004000, LENGTH = 128K

Добавлено через 1 минуту
_SayHello,
я пробовал так делать, только потом у меня не стартует плата
0
Эксперт по электронике
6831 / 3255 / 338
Регистрация: 28.10.2011
Сообщений: 12,722
Записей в блоге: 7
23.09.2020, 15:35
LENGTH уменьшайте на столько же сколько увеличили ORIGIN.

Цитата Сообщение от phantom85 Посмотреть сообщение
не стартует плата
Загрузчик прошит? Запускает прошивку по адресу 0x8004000?
0
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 46
23.09.2020, 15:45  [ТС]
locm, нет

Добавлено через 1 минуту
locm,
Memory Programming ...
Opening and parsing file: ST-LINK_GDB_server_HOXl93.srec
File : ST-LINK_GDB_server_HOXl93.srec
Size : 111432 Bytes
Address : 0x08004000

Erasing memory corresponding to segment 0:
Erasing internal memory sectors [1 4]
Download in Progress:

File download complete
Time elapsed during download operation: 00:00:02.167

Verifying ...

Download verified successfully

Error! Failed to read target status
Debugger connection lost.
Shutting down...

Добавлено через 4 минуты
locm,
если я проверяю в этом секторе прошивку через CubeProgrammer, то она не совпадает с бинарником, если прошиваю через кейл то все хорошо ложиться куда нужно
0
 Аватар для _SayHello
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
23.09.2020, 15:50
phantom85, а как будет что-то работать если у вас бутлоадер не зашит? Программа стартанет с ресет вектора, дальше прыгнет на 0x8000000, а там пусто
0
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 46
23.09.2020, 15:54  [ТС]
_SayHello,
бутлоадер зашит по адресу 0x8000000 и после чего прижек на 0x8004000

Добавлено через 2 минуты
_SayHello, я же и говорю что если я по 0x8004000 зашиваю свою программу через кейл, то после бутлоадера она нормально стартует и работает, а вот через кубиде не могу победить
0
 Аватар для _SayHello
874 / 535 / 175
Регистрация: 30.07.2015
Сообщений: 1,739
23.09.2020, 15:57
phantom85, попробуй Run конфигурацию поменять
0
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 46
23.09.2020, 16:26  [ТС]
_SayHello, блин, походу дело в другом, при переносе проекта где то с кодом натупил, буду разбираться, спасибо за помощь, решу отпишусь

Добавлено через 23 минуты
_SayHello, у меня теперь другой вопрос возник, я создал новый проект, почему если в цикле есть хоть строчка кода я получаю

Error! Failed to read target status
Debugger connection lost.
Shutting down...

и соответственно ничего не работает

пытаюсь только по мигать

HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_9);
HAL_Delay(1000);
0
Эксперт .NET
 Аватар для Rius
13228 / 7725 / 1679
Регистрация: 25.05.2015
Сообщений: 23,544
Записей в блоге: 14
23.09.2020, 17:28
Изучайте lst и map файлы. Чем-то прошивки отличаются.

Добавлено через 3 минуты

Не по теме:

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

0
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 46
24.09.2020, 10:51  [ТС]
Rius, проблемы начинаются тогда как только я подключаю HSE на HSI работает,, почему так происходит именно в CubeIDE?
0
 Аватар для Voland_
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
24.09.2020, 11:15
Думаю, проблему надо решать в настройках CubeIDE. Ибо это она должна выставить старт векторов прерываний в нужную позицию. Ну, или бутлоадер
0
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 46
24.09.2020, 12:49  [ТС]
С прошивкой разобрался, у меня был косяк по тактированию. Но сейчас ситуация такая, зашиваю бутлоадер по 0x8000000, запускаю девайс вижу что работает, так как у меня мигает 2 раза светодиод для проверки. После чего прошиваю основную программу по 0x8004000 изменив в файле *.ld
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K
FLASH (rx) : ORIGIN = 0x8004000, LENGTH = 128K
После прошивки девайс запускается и там в основной программе у меня в цикле мигает светодиод, но как только я перезагружаю девайс, вообще ничего не происходит, даже бутлоадер не запускается.
0
Эксперт .NET
 Аватар для Rius
13228 / 7725 / 1679
Регистрация: 25.05.2015
Сообщений: 23,544
Записей в блоге: 14
24.09.2020, 13:05
Цитата Сообщение от phantom85 Посмотреть сообщение
FLASH (rx) : ORIGIN = 0x8004000, LENGTH = 128K
LENGTH это длина, а не верхняя граница.
Если начало смещаете вверх, длину надо обязательно уменьшать.

Цитата Сообщение от phantom85 Посмотреть сообщение
вообще ничего не происходит, даже бутлоадер не запускается.
А отладчиком свой загрузчик смотрели в этот момент?

Добавлено через 3 минуты
Посмотрите STM32F429 USB Mass Storage из внутренней flash , может что найдёте полезного.
0
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 46
24.09.2020, 15:04  [ТС]
Всем спасибо, решено. Да действительно для загрузчика и программы нужно длину выставлять.
вот что получилось может кому пригодиться.
Для bootloader:
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K
FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 32K

а для программы:
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 64K
FLASH (rx) : ORIGIN = 0x8008000, LENGTH = 96K
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.09.2020, 15:04
Помогаю со студенческими работами здесь

Задания в STM32 CubeIDE
Здравствуйте, очень плохо понимаю в программировании, никак не могу выполнить задания связанные с учебой. Есть методичка, но написанная...

Cube mx не видит CubeIDE
Добрый день! Подскажите пожалуйста, в чем может быть дело, когда Cube mx генерирует код и выбран MDK-ARM, то при открытии проекта...

Сломался Debug у CubeIDE
Здравствуйте! Проблема в том, что внезапно сломался дебагер у CubeIDE, хотя я делал все как обычно. Пишет следующие слова: Waiting for...

Отладка программы в CubeIDE
Позабыл, как делать отладку в CubeIDE. Надо потестить две переменные - стринговую str и double i. Жму Run->Debug, а где смотреть...

CubeIDE (MX) не генерирует HAL_CAN_MspInit
Такая проблема: всё работало, HAL_CAN_MspInit был сгенерирован Кубом. Затем понадобилось мне добавить таймер через кубМХ. Перегенерировал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru