Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Микроконтроллеры других производителей

Микроконтроллеры других производителей Все, что касается микроконтроллеров и НЕ подошло в раздел Microchip.

Ответ
 
Опции темы Опции просмотра
Старый 20.07.2020, 16:28   #1
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 47
Сообщений: 1,965
Вес репутации: 2596/91
DimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond repute
По умолчанию SCB->VTOR - нет его в G0!

Возник тут вопрос - а как свой бутлоадер делеть, точнее как основная программа работать будет, если в G0 нет регистра адреса, где находится таблица векторов?!


Никто не сталкивался с подобной проблемой?
DimaS вне форума   Ответить с цитированием
Старый 20.07.2020, 17:42   #2
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,519
Вес репутации: 4677/102
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SCB->VTOR - нет его в G0!

DimaS
не сталкивался.

гугол сходу говорит:
Because there is no SCB->VTOR register, the vector table remapping under the M0 architecture is troublesome. The original APP must add a piece of code, copy the interrupt vector table from the internal FLASH to the SRAM and then execute REMAP to the SRAM

https://community.st.com/s/question/...n-on-cortex-m0
besogon вне форума   Ответить с цитированием
Старый 20.07.2020, 17:47   #3
Greg
Super Moderator
 
Регистрация: 25.02.2007
Адрес: Moscow, ODBS
Сообщений: 7,063
Вес репутации: 6158/182
Greg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond reputeGreg has a reputation beyond repute
По умолчанию Re: SCB->VTOR - нет его в G0!

Цитата:
Сообщение от DimaS Посмотреть сообщение
Возник тут вопрос - а как свой бутлоадер делеть, точнее как основная программа работать будет, если в G0 нет регистра адреса, где находится таблица векторов?!Никто не сталкивался с подобной проблемой?
говорят, есть...


https://community.st.com/s/question/...og-reset-error
Greg вне форума   Ответить с цитированием
Старый 20.07.2020, 17:47   #4
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,519
Вес репутации: 4677/102
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SCB->VTOR - нет его в G0!

ну или расположите в скрипте линкера сразу такое расположение памяти, чтобы у Вас по 0 адресу располагался RAM, а в startup расположите только заглушку, которая меняет местами память так, чтобы можно было обычным образом работать имея при этом возможность явным образом модифицировать таблицу векторов.
besogon вне форума   Ответить с цитированием
Старый 20.07.2020, 18:33   #5
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 47
Сообщений: 1,965
Вес репутации: 2596/91
DimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond repute
По умолчанию Re: SCB->VTOR - нет его в G0!

Да, можно релокацию в SRAM.
А если в самом бутлоадере, перед прыжком в аппликаций установить какой-нибудь флаг, а потом в обработчиках прерываний бутлоадера, при взведенном флаге прыгать в обработчик апаликации?
Понятно что небольшая потеря времени, но у меня в аппликации что сейчас вожусь, прерывания только от систика, уарта и и2ц, что ИМХО несколько тактов не критично.
DimaS вне форума   Ответить с цитированием
Старый 20.07.2020, 20:06   #6
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,519
Вес репутации: 4677/102
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SCB->VTOR - нет его в G0!

DimaS
прерывания только от систика, уарта и и2ц - это сейчас. потом может стать больше.
besogon вне форума   Ответить с цитированием
Старый 20.07.2020, 20:38   #7
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,519
Вес репутации: 4677/102
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: SCB->VTOR - нет его в G0!

DimaS
по поводу флага.

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

если несколько инструкций не утянут, то Вы вполне можете сделать внутри каждого вектора прыжок выбранный обработчик, а сам обработчик менять.
besogon вне форума   Ответить с цитированием
Старый 20.07.2020, 21:03   #8
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 47
Сообщений: 1,965
Вес репутации: 2596/91
DimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond repute
По умолчанию Re: SCB->VTOR - нет его в G0!

Цитата:
Сообщение от besogon Посмотреть сообщение
DimaS
прерывания только от систика, уарта и и2ц - это сейчас. потом может стать больше.

Вряд ли, там больше просто ничего нет
DimaS вне форума   Ответить с цитированием
Старый 20.07.2020, 22:11   #9
AleksBak
Senior Member
 
Аватар для AleksBak
 
Регистрация: 27.02.2007
Адрес: г. Баку
Сообщений: 3,189
Вес репутации: 2934/111
AleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond reputeAleksBak has a reputation beyond repute
По умолчанию Re: SCB->VTOR - нет его в G0!

На электрониксе буквально вчера человек писал как решал эту проблему.
AleksBak вне форума   Ответить с цитированием
Старый 21.07.2020, 00:03   #10
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 47
Сообщений: 1,965
Вес репутации: 2596/91
DimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond repute
По умолчанию Re: SCB->VTOR - нет его в G0!

Я уже увидел, он через ремап делал. А проблема у него совсем в другом.
DimaS вне форума   Ответить с цитированием
Старый 21.07.2020, 23:28   #11
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 59
Сообщений: 2,942
Вес репутации: 4193/116
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: SCB->VTOR - нет его в G0!

Цитата:
Сообщение от Greg Посмотреть сообщение
говорят, есть...
Да вроде как действительно есть...
Код:
void SystemInit(void)
{
  /* Configure the Vector Table location add offset address ------------------*/
#ifdef VECT_TAB_SRAM
  SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
#else
  SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
#endif
}
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 22.07.2020, 00:18   #12
DimaS
Senior Member
 
Регистрация: 05.04.2008
Адрес: Israel
Возраст: 47
Сообщений: 1,965
Вес репутации: 2596/91
DimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond reputeDimaS has a reputation beyond repute
По умолчанию Re: SCB->VTOR - нет его в G0!

Хм, и в самом деле есть. А в RM не нашел.
DimaS вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +3, время: 20:35.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot