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

Распределение памяти, H7, Keil.

5 hours ago, jcxz said:

Да и PUSH/POP-ов внутри подпрограммы тоже может не быть.

Так вроде по АРМ конвенции обязательно " compiler generated code saves and restores r4-r11" и их в стек запихивают. Это можно как то запретить?

По поводу двух стеков MSP и PSP - вот MSP лучше во внутреннюю память адресовать, а PSP можно и во внешнюю.

зы. а если SystemInit инлайнить она же стек трогать не будет?

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


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

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

Так вроде по АРМ конвенции обязательно " compiler generated code saves and restores r4-r11" и их в стек запихивают. Это можно как то запретить?

Для многих функций (особенно касается тех, которые просто инитят периферию) не вызывающих другие, регистров R0-R3,R12 вполне достаточно. И запрещать ничего не нужно.

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


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

.equiv  RCC_                      , 0x58024400
.equiv  RCC_AHB2ENR               , 0x0DC

/* включение SRAM1, SRAM2, SRAM3 */
    ldr       r0, =RCC_
    ldr       r1, [r0, #RCC_AHB2ENR]
    orr       r1, r1, #((1 << 29) | (1 << 30) | (1 << 31))
    str       r1, [r0, #RCC_AHB2ENR]

включите в стартапе SRAM

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


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

Дык, какие команды написаны такие и выпонятся: лишнего не добавить никому ;-)

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

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


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

AVI-crak Да нет, просто стартап на асме так удобнее потом переносить в другие проекты. 

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


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

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

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

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

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

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

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

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

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

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