Например TDA7294

Форум РадиоКот • Просмотр темы - ITCM stm32h7
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб апр 27, 2024 18:01:33

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: ITCM stm32h7
СообщениеДобавлено: Ср янв 24, 2024 21:29:37 
Открыл глаза

Зарегистрирован: Вт фев 15, 2022 21:28:35
Сообщений: 59
Рейтинг сообщения: 0
Всем привет. Кто ни будь догадался как в принципе использовать ITCM?
Как я понял это обычный Executable SRAM с быстрым доступом (0 wait state).
Как я предполагаю-у, я должен скомпилировать код под область ITCM, но залить его как Data блок во Flash,
затем моё пользовательское приложение должно перенести этот Data блок из Flash в ITCM и... передать управление?
Или я чо-то недопер?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ITCM stm32h7
СообщениеДобавлено: Пн мар 25, 2024 10:19:45 
Грызет канифоль

Карма: 4
Рейтинг сообщений: 33
Зарегистрирован: Чт ноя 29, 2012 08:27:22
Сообщений: 295
Рейтинг сообщения: 0
Помощь зала попрошу.
Проц. STM32H750. Во флеш расположен только свой загрузчик и больше ничего.
Загрузчик принимает рабочую прошивку по UART и кладет её в RAM D1.

Рабочая программа - отдельный проект, подразумевается работа без флеш.
Собирается с STM32H750VBTX_RAM.ld и в отладчике работает.

Всё в сборе - не работает переход от загрузчика к рабочей программе.
Где виснет непонятно, отладку запускаю в проекте загрузчика,
загрузчик свое отрабатывает и после перехода в основную программу все виснет.
Адрес запуска основной программы беру из её HEX , типа такого :
#define APPLICATION_ADDRESS 0x24003500UL
В отладке видно, что PC и SP изменились, но дальше пошаговая не работает.

Может, у кого есть работающий вариант перехода для H7?


Вложения:
STM32H750VBTX_RAM.ld.txt [4.65 KiB]
Скачиваний: 10
jmp.txt [1.01 KiB]
Скачиваний: 9
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ITCM stm32h7
СообщениеДобавлено: Пн мар 25, 2024 18:28:37 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Программа скомпилирована с того адреса куда её загружают и пытаются запустить?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: ITCM stm32h7
СообщениеДобавлено: Пн мар 25, 2024 18:44:26 
Грызет канифоль

Карма: 4
Рейтинг сообщений: 33
Зарегистрирован: Чт ноя 29, 2012 08:27:22
Сообщений: 295
Рейтинг сообщения: 0
в ld файле RAM_EXEC (xrw) : ORIGIN = 0x24000000, LENGTH = 512K
всё там сейчас - и программа и все данные.
Стек в DTCMRAM.
Если запускаю отладчиком в RAM, то всё работает.
Если загружаю загрузчиком HEX ->BIM и в ОЗУ с 0x24000000, и запускаю с адреса старта программы, то не работает
Когда запускаю отладчиком в RAM, потом выхожу из отладки и подключаюсь отладкой в конфигурации "БЕЗ ЗАГРУЗКИ"
то работает.
Если подключусь отладкой без загрузки к тому , ч то флеш загрузчик перенес, то отладка тоже не то показыват.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: ITCM stm32h7
СообщениеДобавлено: Вт мар 26, 2024 07:17:48 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Посмотрите листинг во что компилируется вызов JumpToApplication(); Былт недавно. После того как вы стек передвинули он продолжал использоваться и всё падало.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: ITCM stm32h7
СообщениеДобавлено: Ср мар 27, 2024 08:39:16 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 97
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1156
Рейтинг сообщения: 0
Если подключусь отладкой без загрузки к тому , ч то флеш загрузчик перенес, то отладка тоже не то показыват.
Не понимаю проблемы... Отладчик вроде имеется. Почему тогда просто не отладить им - не найти где именно стопорится? Зачем без толку продолжать пинать колёса? :dont_know:
Скорее всего (имхо) ваша рабочая программа начинает работать с периферией (инитить её) в расчёте на то, что регистры периферии содержат дефолтные значения (послесбросовые). А ваш загрузчик уже что-то записал в какой-то регистр и не восстановил дефолтное.
С помощью отладчика такое находится на раз.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ITCM stm32h7
СообщениеДобавлено: Ср мар 27, 2024 15:19:16 
Грызет канифоль

Карма: 4
Рейтинг сообщений: 33
Зарегистрирован: Чт ноя 29, 2012 08:27:22
Сообщений: 295
Рейтинг сообщения: 0
дело за малым - подключить отладчик после загрузки кода загрузчиком.

/*
* ARM clearly says that changing the VTOR requires a DSB after it
* and changing the stack pointer requires an ISB after it.
*/
Вот с этим вроде как заработало.

__set_MSP(*(__IO uint32_t*) startToProgramAddress);
__ISB(); /* Instruction Synchronization Barrier */

и вот это еще:
// Make sure, the CPU is in privileged mode.
#define EnablePrivilegedMode() __asm("SVC #0");
if( CONTROL_nPRIV_Msk & __get_CONTROL( ) )
{ /* not in privileged mode */
EnablePrivilegedMode();
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ITCM stm32h7
СообщениеДобавлено: Чт мар 28, 2024 14:41:56 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 97
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1156
Рейтинг сообщения: 0
Вот с этим вроде как заработало.

__set_MSP(*(__IO uint32_t*) startToProgramAddress);
__ISB(); /* Instruction Synchronization Barrier */
Ну так и есть, как я и говорил - проблема в вашем "загрузчике". Кривой он. Загрузчик, перед передачей управления загруженной программе, должен ВСЕ регистры CPU и периферии перевести в начальное (послесбросовое) состояние. Ваш загрузчик значит этого не делает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ITCM stm32h7
СообщениеДобавлено: Пт мар 29, 2024 10:24:10 
Открыл глаза

Зарегистрирован: Вт фев 15, 2022 21:28:35
Сообщений: 59
Рейтинг сообщения: 0
попробуйте против шерсти. скорее всего выбрасывает на исключение или прирывание. зажги в обработчике светодиод и захалтуй проц. отладчик для обезьян. :hunger:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ITCM stm32h7
СообщениеДобавлено: Пт мар 29, 2024 14:20:42 
Грызет канифоль

Карма: 4
Рейтинг сообщений: 33
Зарегистрирован: Чт ноя 29, 2012 08:27:22
Сообщений: 295
Рейтинг сообщения: 0
__ISB - это не про обнуление регистров.


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

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


Кто сейчас на форуме

Сейчас этот форум просматривают: mab72 и гости: 29


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

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


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y