|
|
|
Плата Orange PI one |
|
|
|
Oct 24 2016, 08:40
|
Участник
Группа: Участник
Сообщений: 27
Регистрация: 21-07-15
Пользователь №: 87 652
|
Добрый день! За ранее хочу извиниться, что веду разговор о плате Orange в разделе Raspberry, так как раздела для своего вопроса я не нашел. Меня интересует такой вопрос... Я поставил себе цель научиться программировать процессоры с архитектурой cortex. Для этого приобрел сию плату в надежде, что смогу поработать с самим процессором. После покупки решил посмотреть, что люди вообще с этой штукой делают и обнаружил, что в основном все используют эту плату для установки на нее уже готовых операционных систем. И мне в душу закралось сомнение, смогу ли я с помощью этой платы поработать с самим процессором? Прошу не ругать, если задал дурацкий вопрос) просто до этого работал лишь с msp430 и с такими сложными контроллерами, как этот еще не сталкивался. За ранее благодарен!)
|
|
|
|
|
Oct 24 2016, 08:46
|
Знающий
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050
|
Цитата(Isaev_ivan @ Oct 24 2016, 11:40) Я поставил себе цель научиться программировать процессоры с архитектурой cortex. Для этого приобрел сию плату в надежде, что смогу поработать с самим процессором. После покупки решил посмотреть, что люди вообще с этой штукой делают и обнаружил, что в основном все используют эту плату для установки на нее уже готовых операционных систем. заведомо странный подход.. что мешало сначала погуглить, а потом уже покупать? шансы вроде есть, но глубже не смотрел -> "raspberry pi standalone"
|
|
|
|
|
Oct 24 2016, 09:05
|
Участник
Группа: Участник
Сообщений: 27
Регистрация: 21-07-15
Пользователь №: 87 652
|
Денег просто куры не клюют, вот и решил взять)
|
|
|
|
|
Oct 24 2016, 11:04
|
Гуру
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702
|
Цитата(Isaev_ivan @ Oct 24 2016, 11:40) цель научиться программировать процессоры с архитектурой cortex. Для этой задачи отладки уровня STM32F4-DISCOVERY было бы для начала достаточно. Вместо OrangePi можно было взять ту же Hola-PC у starterkita, там же полистать форум на тему standalone. С OrangePi, особенно One, у меня до сих пор проблемы: то HDMI-DVI переходник не работатет, то нестандартное разрешение не выставить, то штатную камеру не запустить. А тулза, с помощью которой собирать-разбирать конфигурацию капризна к версиям самой себя. У One подкупает цена, но шаг вправо, шаг влево на этой плате мне показались тажелодающимися. Кста, насчет cortex - ядро вы научите исполнять код, но там же основное - периферия. Документация на все есть?
|
|
|
|
|
Oct 24 2016, 19:28
|
Участник
Группа: Участник
Сообщений: 27
Регистрация: 21-07-15
Пользователь №: 87 652
|
Есть даташит на сам процессор (Allwinner H3) ну и все в принципе. Остальное можно найти на сайте arm, я думаю) Может у вас, adnega, что-нибудь имеется?
adnega, что вы мне посоветуете, купить для начала STM32F4-DISCOVERY, или все таки с orange побороться?
И вот еще такой вопрос. Сильно ли отличается программирование, например arm и cortex?
|
|
|
|
|
Oct 24 2016, 20:15
|
Гуру
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702
|
Цитата(Isaev_ivan @ Oct 24 2016, 22:28) Есть даташит на сам процессор (Allwinner H3) ну и все в принципе. Остальное можно найти на сайте arm, я думаю) Может у вас, adnega, что-нибудь имеется? У меня тоже есть даташит, но там... крайне лаконично. Нужны доки по конфигурации, загрузке и т.п. Я дальше не собираюсь копать в этом направлении. Поставил WiringOP - для помахать ножками вполне подходит, но требует root-прав. Цитата(Isaev_ivan @ Oct 24 2016, 22:28) adnega, что вы мне посоветуете, купить для начала STM32F4-DISCOVERY, или все таки с orange побороться? Нужно и то, и то. Но всякие там Pi лучше с нормальной ОСью использовать. Для высокоуровневых вещей, сторонних библиотек и т.п. прекрасное решение. Я тут задачку мучил - распознавание QR-кода с камеры. Со сторонней библиотекой под Linux - минутное дело. Для того же STM32F4 бился две недели, но по скорости, качеству распознавания и поддержке вариантов QR я и на 1% не гожусь. Это я еще БЧХ никак не реализовал, а память и такты уже закончились. Короче, все зависит от задачи. Есть у нас золотое правило - выбирать решение под задачу, а не наоборот. Вам-то что нужно, кроме облегчить кошелек и изучать талмуды на железо? У меня есть совершено определенные задачи, от них и пляшу. После msp430 должна хорошо пойти серия STM32L4 на такой вот досочке STM32L476G-DISCO Цитата(Isaev_ivan @ Oct 24 2016, 22:28) И вот еще такой вопрос. Сильно ли отличается программирование, например arm и cortex? Строго говоря, Cortex (а их много разных) это подмножество arm. Если вопрос задать иначе: что круче ARM7 или Cortex-M в плане программирования на С ? То я однозначно за Cortex-M. Можно весь код писать на ЯВУ без единой asm-вставочки. ARM7 я немного использовал на NXP, затем перешел на Cortex от NXP (пару МК от Luminary не считаются), а с них на STM32 и плотно на последние подсел. Не разобравшись, толком в FIQ, IRQ и VIC (а там довольно непросто сделать вложенность прерываний с asm-обертками обработчиков и разными стандартными хаками), очень рад появлению NVIC как стандартного модуля для Cortex-M. msp430 тоже пробовал, даже проект есть боевой, но выбор делаю в пользу L-серий от STM32. Итого: для дешевых, надежных, реалтаймовых и/или микропотребляющих устройств однозначно никаких Cortex-A8. Для графики, сетевого или USB стека, гигабайт памяти и гигагерц частоты однозначно решение с ОС. По середине очень сложно выбрать, я от таких задачек однозначно отказываюсь.
|
|
|
|
|
Oct 24 2016, 20:21
|
Участник
Группа: Участник
Сообщений: 27
Регистрация: 21-07-15
Пользователь №: 87 652
|
jorikdima, вы хотите сказать, что лучше использовать модуль типа STM32F4-DISCOVERY для первичного изучения arm? Насчет cortex и arm я имел ввиду что есть cortex-a7, cortex-a3, arm9, arm11. Это же все разные вещи, правильно?)
adnega, у меня сейчас есть проект, но он разрабатывается под msp430. Параллельно я бы хотел ознакомиться с еще каким-нибудь контроллером, например семейства arm. И, так как не знаю об этом ничего, пишу вам)
|
|
|
|
|
Oct 24 2016, 20:31
|
Гуру
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448
|
Цитата(Isaev_ivan @ Oct 24 2016, 23:16) Насчет cortex и arm я имел ввиду что есть cortex-a7, cortex-a3, arm9, arm11. Это же все разные вещи, правильно?) Все это разные ядра ARM. Но cortex cortex'у рознь - есть ядра для "микроконтроллерных" задач (ARM7, Cortex-Mx), а есть для задач класса "встраиваемый ПК" (ARM9, ARM11, Cortex-Axx). Если ищется замена MSP430, то это первый вариант, соответственно, логичнее будет осваивать Cortex-M4 в составе DISCOVERY, а не четырехядерный Cortex-A7 из H3. Особенно учитывая объем доступной документации на последний.
|
|
|
|
|
Oct 24 2016, 20:36
|
Знающий
Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390
|
Что discovery, что Pi - все предполагает уже работу с аппартурой через HAL/BSP. Просто в одном случае это будет stm32cube, а в другом - u-boot/linux Непонятно, зачем учить ARM. Имхо, нужно разбираться с инфраструктурой уже имеющихся пакетов применительно к конкретной задаче и по возможности самостоятельно устранять ошибки в них. Цитата(Isaev_ivan @ Oct 24 2016, 11:40) За ранее хочу извиниться, что веду разговор о плате Orange в разделе Raspberry, так как раздела для своего вопроса я не нашел. вот предлагали же модеру: назовите раздел Single Board Computers и засуньте в нее подразделами все RPi, Banana и тп вместе с ардуинами. нет же ж...
|
|
|
|
|
Oct 24 2016, 20:49
|
Гуру
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702
|
Цитата(Isaev_ivan @ Oct 24 2016, 23:21) adnega, у меня сейчас есть проект, но он разрабатывается под msp430. Параллельно я бы хотел ознакомиться с еще каким-нибудь контроллером, например семейства arm. И, так как не знаю об этом ничего, пишу вам) Если msp430 вы используете в микропотребляющих решениях, то рекомендую L-серии от STM32: - STM32L476G-DISCO - очень крутая плата с кучей периферии (ядро Cortex-M4F); - STM32L152C-DISCO - серединка (ядро Cortex-M3); - STM32L0538-DISCO - с e-ink дисплеем (ядро Cortex-M0+). У меня есть все эти платы, но самая ходовая STM32L152C-DISCO. До других просто руки не дошли. Если микропотребление не главное, то хорошие платы: - STM32F4DISCOVERY - самая удачная плата (ядро Cortex-M4F); - STM32F429I-DISCO - есть цветной дисплей и внешняя SDRAM с кучей МБ (ядро Cortex-M4F); - STM32F3DISCOVERY - куча датчиков на плате, и семейство F3 содержит много аналоговой периферии (АЦП, ЦАП, ОУ, компараторы, емкостной сенсор и все это рядом с Cortex-M4F); - STM32F469I-DISCO - круть с MIPI-дисплеем (у меня нет этой платы); - STM32F746G-DISCO - круть на Cortex-M7 (у меня нет этой платы). Двух последних плат у меня нет, т.к. как раз попадают в область, где мой интерес отсутствует. У меня есть крутая плата (LK-STM32F429) с экраном, памятью, разъемами и т.п. - для отладочных целей она мне очень подходит, но не для разработки таких изделий. Если есть вопросы по отладкам - задавайте. На что смогу - отвечу. Древние отладки на F1xx чипах не советую.
|
|
|
|
|
Oct 25 2016, 06:05
|
Участник
Группа: Участник
Сообщений: 27
Регистрация: 21-07-15
Пользователь №: 87 652
|
Все понятно, спасибо большое за советы!:)
|
|
|
|
|
Jan 27 2017, 09:39
|
Группа: Участник
Сообщений: 12
Регистрация: 27-01-17
Пользователь №: 95 180
|
Если "Я поставил себе цель научиться программировать процессоры с архитектурой cortex" и "разговор о плате Orange", то это достаточно просто. В процессоре H3 есть первичный загрузчик BROM (Boot ROM), который загрузит Ваш загрузчик Boot0 (написанную Вами программу) во внутреннюю память SRAM. Название - Boot0 - общепринято, но можете назвать как угодно. По окончании загрузки этот же BROM запустит Ваш загрузчик к исполнению (действию).
Вот этот загрузчик Boot0 и может быть Вашей первой (и единственной) программой в плате. Держать эту программу можно во внешней микросхеме Flash. Есть платы Orange Pi Zero с разведенным на плате местом под такую микросхему (и даже платы с микросхемой). Размера внутренней SRAM Вам может не хватить для желаемой программы. Тогда в программе Boot0 пишете процедуры инициализации внешней (находящейся на плате Orange Pi) DRAM памяти. Туда будет загружаться и там запускаться Ваша следующая программа, гораздо большего размера, использующая всю доступную DRAM.
Реализацией описанных действий можно очень просто "научиться программировать процессоры с архитектурой cortex" на плате Orange.
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|