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

CubeIDE

23.09.2020, 13:39. Показов 3674. Ответов 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
Эксперт по электронике
6858 / 3282 / 339
Регистрация: 28.10.2011
Сообщений: 12,823
Записей в блоге: 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
13205 / 7733 / 1681
Регистрация: 25.05.2015
Сообщений: 23,575
Записей в блоге: 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
13205 / 7733 / 1681
Регистрация: 25.05.2015
Сообщений: 23,575
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru