Например TDA7294

Форум РадиоКот • Просмотр темы - Заливка прошивки в ОЗУ STM32 для отладки
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 17, 2024 02:52:10

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


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



Начать новую тему Ответить на тему  [ Сообщений: 72 ]  1, , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Сб дек 01, 2018 22:02:00 
Прорезались зубы

Карма: -3
Рейтинг сообщений: -3
Зарегистрирован: Вт сен 09, 2008 18:17:27
Сообщений: 213
Рейтинг сообщения: 0
Кто пробовал заливать прошивку в ОЗУ чипов STM32 для экономии ресурса флэша, какие результаты?

Например, присматриваюсь к чипу STM32F105RBT6, там 64k оперативки - больше чем бесплатный лимит Keil.

Интересует мнение людей кто реально пробовал так делать, насколько это сложно сделать для ST-link v2 +
Keil 5.26?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Сб дек 01, 2018 23:40:10 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 0
DENIS451 писал(а):
STM32F105RBT6
USB хост нужен? Если нет, лучше взять STM32F103RET6.
Или STM32F407VGT6. Оперативки в нем 192 КБ.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 00:08:40 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 1209
Зарегистрирован: Ср фев 23, 2011 12:12:31
Сообщений: 2352
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
лучше взять

Ты забыл ещё написать, что взять какой то там битц. Ты везде это предлагаешь, даже когда вопрос про мигалку на аттини.

Но ничего что ТС хочет(перехочет) просто сэкономить ресурс флеша(как будто его мало) и заодно обойти ограничение бесплатного использования кейла в 32кб флеша(как будто нет других способов).
Спрашивает как сделать.

_________________
Глупый не задает вопросы. Глупый и так все знает.


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 00:12:59 
Прорезались зубы

Карма: -3
Рейтинг сообщений: -3
Зарегистрирован: Вт сен 09, 2008 18:17:27
Сообщений: 213
Рейтинг сообщения: 0
Я пока не придумал, куда девать 64k памяти прошивки, а просто так покупать -
в Чип-и-Дип
STM32F103RET6 - 300р.
STM32F407VGT6 - 620p.
дорого!


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 00:16:18 
Поставщик валерьянки для Кота

Карма: 20
Рейтинг сообщений: 253
Зарегистрирован: Вс июн 19, 2016 09:32:03
Сообщений: 2090
Рейтинг сообщения: 0
STM32F103RET6 - 300р.

STM32F103RCT6 на ebay по $1.85, реально там тоже 64K RAM.


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

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 00:19:39 
Прорезались зубы

Карма: -3
Рейтинг сообщений: -3
Зарегистрирован: Вт сен 09, 2008 18:17:27
Сообщений: 213
Рейтинг сообщения: 0
Насчёт Keil вы не поняли, я не ради этого делаю, и таким методом обойти ограничение всё равно не получиться!

Просто я осознал, что отладка заливкой в ресурсоограниченый флэш меня неприемлемо нервирует, и доводы типа
можно 2 года заливать по 14 раз в день не помогают!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 03:36:34 
Друг Кота

Карма: 20
Рейтинг сообщений: 228
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6388
Рейтинг сообщения: 1
Серьезные проблемы у вас явно не технического характера.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 05:25:09 
Электрический кот
Аватар пользователя

Карма: 4
Рейтинг сообщений: 135
Зарегистрирован: Сб мар 09, 2013 11:29:22
Сообщений: 1020
Откуда: 40RUS, Жуков
Рейтинг сообщения: 0
:)))

_________________
IVL ex UA6PJ OSC_F303


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 05:50:35 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Кто пробовал заливать прошивку в ОЗУ чипов STM32 для экономии ресурса флэша, какие результаты?
Постоянно так делаю. Не для экономии флэшь, конечно же. Ветка debug в SRAM, а release во флэшь. Главное VTOR не забыть перенастроить (на cortex-m0 ремап сделать). Из подводных камней - скорость работы кода из SRAM отличается от работы из FLASH. А так, что-то быстро попробовать не убивая прошивку чипа - самое то.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 10:42:19 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Пн июл 04, 2016 16:51:22
Сообщений: 196
Откуда: Россия, Омск
Рейтинг сообщения: 0
Не совсем из Keil'а, но тем не менее, успешно работает.
Разве что в linux системах проще собрать проект через Makefile, или подсунуть его же в Eclipse для сборки.
Программирование - через утилиту st-flash. Загрузка почти мгновенная (во всяком случае, проект на 50+кБ кода загружается в RAM очень быстро).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 12:13:16 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2690
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
DENIS451 писал(а):
Кто пробовал заливать прошивку в ОЗУ чипов STM32 для экономии ресурса флэша, какие результаты?

В опициях таргета.
1. Target - выделить под флеш ОЗУ, например первую пловину и само собой тогда откусить размер RAM
2. На закладке LINKER сделать тоже самое, т.е. указать базовые новые адреса или создать свой скаттер-файл.
3. Создать ini файл
Спойлер
Код:
/*----------
 * Name:    Dbg_RAM.ini
 * Purpose: RAM Debug Initialization File
 * Note(s):
 *----------*/

/*----------
  Setup()  configure PC & SP for RAM Debug
 *----------*/
FUNC void Setup (void) {
  SP = _RDWORD(0x20000000);          // Setup Stack Pointer
  PC = _RDWORD(0x20000004);          // Setup Program Counter
  _WDWORD(0xE000ED08, 0x20000000);   // Setup Vector Table Offset Register
}


load %L incremental

Setup();                             // Setup for Running

g, main

4. В закладке Debug подсунуть этот файл проггеру.
5. Там же нажимаем Setting
6. В закладке flash dnld добавляем программин алгоритм и правим у него адреса.
7. И там же указываем область ОЗУ RAM for algoritm например 0x20002800 0x2800 , т.е. область где нет программы.

Не забываем перенести вектора, но для пробы с банальнейшим кодом можно и этого не делать, если не используются прерывания и не делить на ноль ;).

У меня так работает, но такое ощущение не совсем корректно, например если нажать RESET что в IDE, что на реальном на МК, светодиод уже "не мигает". Типа второй раз прошивка не запускается в ОЗУ. Или где-то что-то не допонял или одно из двух.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 12:40:52 
Мучитель микросхем
Аватар пользователя

Карма: 6
Рейтинг сообщений: 87
Зарегистрирован: Вс янв 09, 2011 23:05:37
Сообщений: 450
Откуда: СССР
Рейтинг сообщения: 0
там 64k оперативки - больше чем бесплатный лимит Keil.


Этот недуг излечим :)))

_________________
Иван Сусанин - первый полупроводник :solder:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 12:45:19 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2690
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Myp3ik писал(а):
Этот недуг излечим
У меня анттивирус, собака такая, кейген дезитегрировал куда-то :)

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 13:04:19 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
1. Target - выделить под флеш ОЗУ, например первую пловину и само собой тогда откусить размер RAM
Зачем? У тебя есть один кусок памяти SRAM, просто скажи линкеру, что всё надо размешать в нём. Он всё сам сделает. Дальше. Когда у тебя классическая схема со стартом из FLASH, то глобальные инициализированные переменные инициализируются копированием из FLASH в RAM. Если у тебя всё в RAM, то копия этих данных не нужна, ты просто экономишь в размере прошивки, которая в SRAM и так лезет впритык.

Достаточно правильный скрипт линкера сделать
СпойлерВот классический скрипт линкера IAR для FLASH
Код:
define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__   = 0x08000000;
define symbol __ICFEDIT_region_ROM_end__     = 0x0801FFFF;
define symbol __ICFEDIT_region_RAM_start__   = 0x20000000;
define symbol __ICFEDIT_region_RAM_end__     = 0x20004FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__   = 0x400;
define symbol __ICFEDIT_size_heap__     = 0x000;

define memory mem with size = 4G;
define region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];
define region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];

define block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };
define block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };

initialize by copy { readwrite };
do not initialize  { section .noinit };

place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };

place in ROM_region   { readonly };
place in RAM_region   { readwrite, block CSTACK, block HEAP };

А вот он же для SRAM
Код:
define symbol __ICFEDIT_intvec_start__ = 0x20000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__   = 0x08000000;
define symbol __ICFEDIT_region_ROM_end__     = 0x0801FFFF;
define symbol __ICFEDIT_region_RAM_start__   = 0x20000000;
define symbol __ICFEDIT_region_RAM_end__     = 0x20004FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__   = 0x400;
define symbol __ICFEDIT_size_heap__     = 0x000;

define memory mem with size = 4G;
//define region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];
define region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];

define block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };
define block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };

//initialize by copy { readwrite };
do not initialize  { section .noinit };

place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };

place in RAM_region   { readonly, readwrite, block CSTACK, block HEAP };

Как говорится, найди 10 отличий. У других линкеров язык скриптов отличается, но смысл от этого не меняется.

У меня так работает
Как-то перемудрено.

например если нажать RESET что в IDE, что на реальном на МК, светодиод уже "не мигает".
Ну а что бы ему мигать, если проц с FLASH стартует?


Последний раз редактировалось VladislavS Вс дек 02, 2018 13:07:48, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 13:06:45 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2690
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
VladislavS писал(а):
проц с FLASH стартует?
Нет.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 13:18:22 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 155
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Myp3ik писал(а):
Этот недуг излечим
У меня анттивирус, собака такая, кейген дезитегрировал куда-то :)

Сообщи CID завтра сгенерю. И весьма странно дрвеб не ругаеться на кейген, хотя это еще тот параноик.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 13:23:50 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2690
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
dosikus писал(а):
Сообщи CID завтра сгенерю.
Спасибо, не надо. Скачать не проблема вроде. Я так, поболтать... Если вдруг не найду при необходимости, обращусь.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 16:28:29 
Родился

Зарегистрирован: Вт авг 02, 2016 22:21:42
Сообщений: 6
Рейтинг сообщения: 0
Может чем поможет:
http://kazus.ru/forums/showthread.php?t ... %F3&page=4


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 17:09:36 
Прорезались зубы

Карма: -3
Рейтинг сообщений: -3
Зарегистрирован: Вт сен 09, 2008 18:17:27
Сообщений: 213
Рейтинг сообщения: 0
Спасибо за ответы, закажу STM32F105RBT6, дождусь с али макетные платы, попробую применить на практике.

Цитата:
Этот недуг излечим

Я знаю, лекарство от Keil 5.24a подходит для 5.26 :wink:

Я кстати, придумал ещё один повод научится отлаживать код в оперативке - можно же ведь забацать проект который загружает
c SDHC карточки хексы в память, и передаёт им управление.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Заливка прошивки в ОЗУ STM32 для отладки
СообщениеДобавлено: Вс дек 02, 2018 17:19:35 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 0
AndTer писал(а):
Ты забыл ещё написать, что взять какой то там битц.
В теме пишут не про него, но он поддерживает отладку в ОЗУ.
СпойлерИзображение

DENIS451 писал(а):
Я пока не придумал, куда девать 64k памяти прошивки, а просто так покупать -
в Чип-и-Дип
STM32F103RET6 - 300р.
В Китае стоит 115 рублей (1.7$). https://ru.aliexpress.com/item/1PCS-STM ... 93591.html

DENIS451 писал(а):
забацать проект который загружает c SDHC карточки хексы в память
Отлаживать как собираетесь? Подключаясь к работающей программе?


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

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


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

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


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

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


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