реклама на сайте
подробности

 
 
> LPC2103 -> LPC1751, переход
toweroff
сообщение Jul 10 2012, 18:54
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Добрый вечер!
Хотелось бы узнать, есть ли какие-то принципиальные камни при переходе от ARM7 к CM3
Так-то оно, вроде как, все понятно, но не хотелось бы по первым шагам биться об стену
В принципе, пока интересует базовая схемотехника и стартап

Прошу прощения за введение в заблуждение
Не LPC2000 -> LPC1700, а, конечно, младшие модели, то есть LPC210x->LPC1751,52

Просто предложили по неплохой цене и есть интерес все-таки переползти в это ядро, благо и скорость выше (хотя надо ли оно - другой вопрос), и периферия богаче, да и питание от одного источника

Я понимаю, что только надо начать, а там уже... но
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
toweroff
сообщение Aug 3 2012, 18:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Подниму еще раз, теперь вопрос про NVIC, дабы сомнений уж не осталось

Далее все "утверждения" с оговоркой "я так понимаю"

Pending
Выставляется, если во время прерывания, - прервали с более высоким приоритетом... Нужно сбрасывать/проверять при выходе из прерывания?

Перенос векторов в RAM, VTOR
Просто резервируем область в SRAM под таблицу (с размерностью под свой кристалл), копируем свои вектора
Нужно ли как-то еще неиспользуемые вектора модифицировать? Выравнивание к границе 256 байт, правильно?

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

В связи с чем вопрос. Во всех примерах пока для меня куча кода, хотя бы просто на пальцах работу NVIC и 90% вопросов просто не возникнет, да и оставшиеся 10 не захочется задавать sm.gif

Спасибо!
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Aug 5 2012, 05:51
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(toweroff @ Aug 3 2012, 21:42) *
Перенос векторов в RAM, VTOR


Вопрос - а зачем их переносить в RAM? Если у Вас стоит задача вызвать приложение из загрузчика, то наверняка в приложении вектора прерываний будут расположены во flash и я предполагаю что они также будут выравнены на границу сектора.
Процедура перехода вызова приложения из загрузчика:
Код
typedef void (* func)(void);
void boot_jump(void)
{
  
  
  VTOR = 0x2000; //расположение векторов прерываний в приложении

  register func user_code_entry;
    
  /* Set stack pointer with the first world of the user progrtam
         sp = *((Int32U *) USER_PROGRAM_START);*/
  asm("mov sp,#0x2000");
  asm("ldr sp,[sp,#0]");
    
  user_code_entry = * ((func *)0x2000+1);
  user_code_entry();
}

Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th August 2025 - 06:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.02066 секунд с 7
ELECTRONIX ©2004-2016