Easyelectronics.ru

Электроника для всех
Текущее время: 21 июл 2018, 04:52

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Keil STM32L4 SRAM2
СообщениеДобавлено: 29 дек 2017, 04:31 
Заглядывает иногда

Зарегистрирован: 22 авг 2014, 12:29
Сообщения: 85
Мне надо одну из функций поместить в sram2 . Я не понимаю, как это должно работать. Если можно объясните поподробней для кейла. Я выделил функцию в отдельный файл . Задаю в скрет фале регион для записи функции . Указываю при компиляции, что функция должна быть в SRAM2. А вот дальше непонимание кто при старте программы поместит эту функцию в SRAM2. И будет ли основная программа знать о этих функции и константах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil STM32L4 SRAM2
СообщениеДобавлено: 29 дек 2017, 05:23 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 560
Не знаю как там в кейл, но в gcc я просто соответствующий атрибут указываю, стартап правил только когда нужно было объекты в CCM разместить:
Код:
void __attribute__((section(".data"))) TIM3_IRQHandler()
{
}

Хотя если нужно именно SRAM2, а стартап при копировании данных рассматривает ОЗУ как одно целое, то править все-таки придется...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil STM32L4 SRAM2
СообщениеДобавлено: 29 дек 2017, 11:47 
Старожил
Аватара пользователя

Зарегистрирован: 01 авг 2016, 10:47
Сообщения: 222
Откуда: Таганрог
достаточно в настройках для файла указать куда размещать, при этом не забыв разрешить эту область памяти в меню настроек проекта.


Вложения:
2.png
2.png [ 20.37 Кб | Просмотров: 1021 ]
1.png
1.png [ 25.2 Кб | Просмотров: 1021 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil STM32L4 SRAM2
СообщениеДобавлено: 29 дек 2017, 13:48 
Заглядывает иногда

Зарегистрирован: 22 авг 2014, 12:29
Сообщения: 85
Эти два действия я делаю и третье в линкере указываю область ,вопрос в том кто будет помещать мою функцию туда ? в SRAM2 она же при выключении питания пропадает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil STM32L4 SRAM2
СообщениеДобавлено: 29 дек 2017, 13:53 
Заглядывает иногда

Зарегистрирован: 22 авг 2014, 12:29
Сообщения: 85
Reflector писал(а):
Не знаю как там в кейл, но в gcc я просто соответствующий атрибут указываю, стартап правил только когда нужно было объекты в CCM разместить:
Код:
void __attribute__((section(".data"))) TIM3_IRQHandler()
{
}

Хотя если нужно именно SRAM2, а стартап при копировании данных рассматривает ОЗУ как одно целое, то править все-таки придется...


Странно ССМ в F4 не позволяет выполнять код. А что вы указывали в линковочном файле потому как .data по умолчанию во FLASH. Для переменных в ССМ именно так и поступал .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil STM32L4 SRAM2
СообщениеДобавлено: 29 дек 2017, 14:04 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 560
EugenPKH писал(а):
Странно ССМ в F4 не позволяет выполнять код. А что вы указывали в линковочном файле потому как .data по умолчанию во FLASH. Для переменных в ССМ именно так и поступал .

Я и не говорил, что выполнял код из CCM на F4, это было на F3. Для SRAM я ничего нигде не менял, .data по умолчанию - это SRAM, а флеш - это .text, по крайней мере у меня.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil STM32L4 SRAM2
СообщениеДобавлено: 29 дек 2017, 14:40 
Старожил
Аватара пользователя

Зарегистрирован: 01 авг 2016, 10:47
Сообщения: 222
Откуда: Таганрог
EugenPKH писал(а):
Эти два действия я делаю и третье в линкере указываю область ,вопрос в том кто будет помещать мою функцию туда ? в SRAM2 она же при выключении питания пропадает.


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil STM32L4 SRAM2
СообщениеДобавлено: 29 дек 2017, 19:35 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1957
Зачем вам исполняемый код в RAM????


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil STM32L4 SRAM2
СообщениеДобавлено: 29 дек 2017, 22:50 
Старожил
Аватара пользователя

Зарегистрирован: 01 авг 2016, 10:47
Сообщения: 222
Откуда: Таганрог
BusMaster писал(а):
Зачем вам исполняемый код в RAM????


если вопрос мне, то там функции по записи во встроенную флешку. согласно RM должен быть в ОЗУ, вот и пихаем две функции тудава


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Keil STM32L4 SRAM2
СообщениеДобавлено: 30 дек 2017, 00:26 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 1337
Для этого впиха есть пример готовый.
Под все известные компиляторы.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB