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

 
 
6 страниц V  < 1 2 3 4 5 > »   
Reply to this topicStart new topic
> Освоение ARM контроллеров
den1s
сообщение Apr 1 2016, 19:24
Сообщение #31


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 17-03-11
Пользователь №: 63 677



Цитата(jcxz @ Apr 1 2016, 21:18) *
Вменяемые? Мне тут на днях отладку на Nuvoton предлагали, который 300МГц и 64МБ внутри и LQFP и на плате куча разъёмов и дип-переключателей - судя по всему удобная плата.
И всего 10$ за отладку.

Нувотон трудно по цене перебить и камушки у них интересные встречаются часто. Но работать с ними в России тяжелова-то. Требуются большие объемы заявлять - по мелочи они не размениваются, документация под NDA.


--------------------
"Одной мотивации недостаточно: если у вас есть идиот и вы его мотивировали, то в результате вы получите мотивированного идиота." - Джим Рон
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 2 2016, 08:19
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Документация вроде нормально к ним находится в инете. Глубоко правда не разбирался, но NUC970 Family Programming Guide (типа юзермануал) найти в инете можно.
Go to the top of the page
 
+Quote Post
den1s
сообщение Apr 2 2016, 14:50
Сообщение #33


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 17-03-11
Пользователь №: 63 677



Цитата(jcxz @ Apr 2 2016, 12:19) *
Документация вроде нормально к ним находится в инете. Глубоко правда не разбирался, но NUC970 Family Programming Guide (типа юзермануал) найти в инете можно.

Возможно, такая ситуация не со всеми семействами. Но, например, для NUC976 даташит распространяется под NDA. Ну и некоторые документы, возможно, можно найти благодаря "добрым людям", которые их выкладывают после получения.


--------------------
"Одной мотивации недостаточно: если у вас есть идиот и вы его мотивировали, то в результате вы получите мотивированного идиота." - Джим Рон
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 2 2016, 17:29
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(den1s @ Apr 2 2016, 20:50) *
Возможно, такая ситуация не со всеми семействами. Но, например, для NUC976 даташит распространяется под NDA. Ну и некоторые документы, возможно, можно найти благодаря "добрым людям", которые их выкладывают после получения.

Вы читаете невнимательно. Я же пишу, что NUC970 Family Programming Guide находится за минуту. Это юзермануал с описанием периферии на всё семейство NUC97x.
Описание периферии правда (на поверхностный взгляд) не фонтан - у всяких NXP, STM и т.п. более объёмное описание.
Go to the top of the page
 
+Quote Post
maxntf
сообщение Apr 4 2016, 12:51
Сообщение #35


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 13-05-09
Пользователь №: 49 008



Продолжаем разбираться. Получил железо, просмотрел несколько уроков, помигал светодиодами, передал в UART. Все вроде не особо сложно, так как сотни примеров есть. Начал разбираться с чего же все начинается. Тут уже инфы меньше и полез смотреть в мануал. Просьба поправить меня если я что то не так понял:
- Все начинается с адреса 0000 0000 (собственно это регистр syscfg_memrmp), который принимает значения состояния штырьков boot;
- У него только младшие 2 байта, которые указывают с какого места продолжить загрузку;
- Есть 3 варианта flash, SRAM и System memory. Во Flash наша основная программа, в System memory заводской бутлоадер, а в SRAM может быть любая временная программа (возможно даже свой бутлоадер, пока еще толком не понял).
- Из Flash мы запускаемся когда мы выполняем основной алгоритм работы.
- Из System memory если хотим обновить прошивку (не совсем понятно зачем это нужно, на сколько я понял у него нет шифрования данных, то есть прошивка должна иметься открытая). Ну возможно для каких то целей отладочных и пригодится.
- Из SRAM мы не можем загрузиться с первого раза, так как в нем будет бяка после подачи питания. Нужно первый раз загрузится нормально, записать в SRAM код программы которую нужно выполнить из SRAM, программно установить syscfg_memrmp для загрузки из SRAM и выполнить программный reset.

Сообщение отредактировал maxntf - Apr 4 2016, 12:53
Go to the top of the page
 
+Quote Post
RadiatoR
сообщение Apr 4 2016, 14:12
Сообщение #36


Местный
***

Группа: Свой
Сообщений: 270
Регистрация: 8-08-15
Из: Москва
Пользователь №: 87 901



Адрес 0x00 не принимает никакого значения boot. Туда записывается указатель стека.
Зачем вы лезете в дебри, которые вам не нужны? Отработали переферию - делайте логику.

а вот уже на 2 слове идет адрес старта кода (и скорее всего это не main, а код инициализации тактирования. Создается что в кокосе, что в кейле)
Go to the top of the page
 
+Quote Post
maxntf
сообщение Apr 4 2016, 16:23
Сообщение #37


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 13-05-09
Пользователь №: 49 008



Цитата(ЯadiatoR @ Apr 4 2016, 17:12) *
Адрес 0x00 не принимает никакого значения boot. Туда записывается указатель стека.

Точно, спасибо. Не правильно перевел мануал, регистр SYSCFG как и положено находится в структуре регистров.
Цитата(ЯadiatoR @ Apr 4 2016, 17:12) *
а вот уже на 2 слове идет адрес старта кода (и скорее всего это не main, а код инициализации тактирования. Создается что в кокосе, что в кейле)

Этот адрес устанавливается по состоянию регистра SYSCFG (состояние ножки boot)?
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Apr 4 2016, 19:33
Сообщение #38


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

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Нет. Значение SYSCFG определяет, на какую область памяти будет отображаться адрес 0.
Т.е., выставляем в одно значение - и содержимое памяти по адресам 0x00000000 и 0x08000000 будет одинаковое (и так же одинаковым будут следующие N килобайт, цифирку за ненадобностью не помню). Выставляем другое значение - будут одинаковыми 0x00000000 и 0x20000000 и т.д.

Но вот правда - бросайте Вы эти глупости. Мне кажется, этим ремапом никто толком и не пользуется. Разве что штатный загрузчик, да отладчики в режиме "загружать код в RAM" (этакий быстрый режим отладки для маленьких программ, чтобы флеш каждый раз не стирать).


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
x893
сообщение Apr 4 2016, 19:52
Сообщение #39


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

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



Ремапом приходится пользоваться в STM32F0 серии так как нет VTOR
Все загрузчики используют
Go to the top of the page
 
+Quote Post
AVI-crak
сообщение Apr 5 2016, 04:17
Сообщение #40


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894



Цитата(esaulenka @ Apr 5 2016, 02:33) *
Но вот правда - бросайте Вы эти глупости. Мне кажется, этим ремапом никто толком и не пользуется.


Ремамп - единственный корректный способ залить код в внешнюю sdram из внешней 25qxx, и запустить ну очень жирную прошивку в нативном режиме - с поддержкой отладки. А на новых чипах от st этот режим уже часть периферии - исполняется самостоятельно, без ручных бутов.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 5 2016, 08:37
Сообщение #41


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(esaulenka @ Apr 5 2016, 01:33) *
Нет. Значение SYSCFG определяет, на какую область памяти будет отображаться адрес 0.
Т.е., выставляем в одно значение - и содержимое памяти по адресам 0x00000000 и 0x08000000 будет одинаковое (и так же одинаковым будут следующие N килобайт, цифирку за ненадобностью не помню). Выставляем другое значение - будут одинаковыми 0x00000000 и 0x20000000 и т.д.

Интересно - и как это тут все определили о каком именно МК автор ведёт речь? Что он имеет в виду под "Получил железо ..."?
И уже прямо кучу советов понадавали. И тоже непонятно - по какому именно МК советы.
Прям экстрасенсы одни вокруг...... laughing.gif
Go to the top of the page
 
+Quote Post
maxntf
сообщение Apr 5 2016, 09:06
Сообщение #42


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 13-05-09
Пользователь №: 49 008



STM32F407VG.
Как в программе выполнить reset?
В PIC можно было функцией RESET();
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 5 2016, 09:29
Сообщение #43


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(maxntf @ Apr 5 2016, 12:06) *
STM32F407VG.
Как в программе выполнить reset?
В PIC можно было функцией RESET();

NVIC_SystemReset();
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 5 2016, 09:38
Сообщение #44


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(maxntf @ Apr 5 2016, 15:06) *
STM32F407VG.
Как в программе выполнить reset?
В PIC можно было функцией RESET();

Универсально (для любого МК) - через встроенный WDT.
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 5 2016, 10:15
Сообщение #45


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(jcxz @ Apr 5 2016, 12:38) *
Универсально (для любого МК) - через встроенный WDT.

А ещё можно соединить GPIO и RESET и дёргать этот сигнал yeah.gif
Go to the top of the page
 
+Quote Post

6 страниц V  < 1 2 3 4 5 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 22:38
Рейтинг@Mail.ru


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