|
mob7272
|
|
stm32f103c8 и стек01.05.2017, 10:31. Показов 5495. Ответов 15
Метки нет (Все метки)
Доброго всем времени.
Какой размер стека указывается в stortup-файле? Так в статье "ASM в STM32 Начало" автор определяет размер стека stack_size equ 0x100 в Reference manual на stm32f100xx указано в пункте 2.3.1 SROM = 32K. Keil при автоматическом включении stortup-файла пишет Stack_Size EQU 0x00000400. Для stm32f103c8 RM сказано SROM = 96K. Keil пишет в stortup-файле Stack_Size EQU 0x00000400. Так вот вопрос как увязать данные из RM и stortup-файла, какой размер указывать? Заранее спасибо. |
|
| 01.05.2017, 10:31 | |
|
Ответы с готовыми решениями:
15
stm32f103c8 цап Обвязка stm32f103c8 stm32f103c8 usb проблема |
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
|
|
| 01.05.2017, 11:38 | |
|
0x400 всегда хватало. А в чем проблема собственно?
0
|
|
|
mob7272
|
|
| 01.05.2017, 11:44 | |
|
Я начинающий, и фраза "всегда хватало" мне непонятна так как в AVR стек начинался с конца, а в STM как-то подругому? И как определить хватит или нет? Как я заранее могу определить скока надо, не проще указать в конец и все? Спасибо.
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
|
|
| 01.05.2017, 12:05 | |
|
Не важно как стек расположен ибо вы его сами можете расположить как хочется (но зачем?), важно сколько под него выделено места.
Так вот 0x400 этого размера более чем достаточно для приложений. Если вам нужно до байта высчитать то смотрите сколько у вас вызовов вложенных и сколько инициализируется переменных внутри. Сможете посчитать - отлично, нет - оставили поумолчанию и работаем дальше.
0
|
|
|
mob7272
|
|
| 01.05.2017, 12:11 | |
|
Спасибо за ответ. Но всеже почему не указать конец SROM и забыть про него? Если это не трудно, можете обьяснить?
Для начала и обучения (изучения) указываю 0x400 и незаморачиваюсь. |
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
|
|
| 01.05.2017, 12:21 | |
|
Если стек будет расти с конца то можно его перекрыть динамически выделяемыми переменными и не понять что происходит, а так он идет сразу за статическими и вы туда не попадете. Ну или же свалитесь в hard fault
Смотрите MAP файл который Keil компилит.
0
|
|
|
mob7272
|
|
| 01.05.2017, 12:26 | |
|
О как, так почему этого не делали в AVR, из-зи малых размеров?
Где на эту тему почитать, желательно на русском. А то нет четкого понимания что где расположено, куда помещается/распределяется автоматически и так далее. Еще раз спасибо. а про map файл можно поподробнее, где он и что в нем отражено или литературу какую. |
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
|
|
| 01.05.2017, 12:34 | |
|
С АВР не знаком, так что не могу сказать почему так.
После первой компиляции проекта в папке проекта появляются *.map файл с именем проекта. Найдите его и откройте любым текстовым редактором. Там будет много интересного, но все достаточно понятно и есть заголовки какая секция что содержит. Там будет видно как расположены переменные, сколько под них места, по каким адресам идут вызовы функции и т.д. почитать на русском... не знаю. гуглить нужно :)
0
|
|
|
mob7272
|
|
| 01.05.2017, 12:45 | |
|
Спасибо огромное.
Пошел изучать, искать, новые вопросы готовить. |
|
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 225
|
|||
| 01.05.2017, 13:27 | |||
|
Доброго времени суток !
Давайте разбираться. stm32f103c8 - 48pin 64kB - flash; 20kB - ROM; Глянем как в .ld файлах задается стек. Первый файл mem.ld - здесь распределяется адресное пространство и задается режимы доступа к ней
0
|
|||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
|
||||||
| 01.05.2017, 13:51 | ||||||
|
У ТС Keil. Вот примерно что будет в map файле:
0
|
||||||
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 225
|
|
| 01.05.2017, 14:23 | |
|
Keil один раз поставил, глянул - корявая поделка, вернулся назад на гнутый Си
0
|
|
|
0 / 0 / 0
Регистрация: 15.04.2016
Сообщений: 237
|
|||
| 01.05.2017, 15:46 | |||
Там случайно не написано что в этом МК несколько терабайт флеша частота 100 ГГц?
0
|
|||
|
mob7272
|
|
| 01.05.2017, 16:45 | |
|
Moyk
1. В указанной выше статье был рассмотрен пример конкретно на F100, а у меня F103. Поэтому связи никакой, разве только ядрышко. 2. А это скрин из RM на F103. Может я неправильно понял эту запись, буду рад разьяснению. |
|
|
1 / 1 / 0
Регистрация: 08.05.2015
Сообщений: 225
|
|
| 01.05.2017, 16:52 | |
|
Здесь сказано что в контроллерах stm32f10x может быть до 96кБ ОЗУ. К которому может быть 16 битный или 32-х битный доступ и начинается эта память с адреса 0x2000 0000. В микросхеме stm32f103c8 конкретно 20кБ ОЗУ
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
|
|
| 01.05.2017, 16:52 | |
|
RM он же по несколько разных МК на одном ядре. А запись "up to 96" означает что старшие МК из этого семейства могут иметь до 96 КБ, нужно смотреть на конкретный камень который у вас в руках.
Для этого хорошо подходит CubeMX. Но не более :) P.s. там и флеша на самом деле мегабайты ;)
0
|
|
| 01.05.2017, 16:52 | |
|
Помогаю со студенческими работами здесь
16
Кажется спалил STM32F103C8 Чем заменить Stm32f103C8? Stm32F103C8 встроенный термодатчик STM32F103C8 SPI SDcard Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|