Перейти к содержанию

    

Плата Orange PI one

Добрый день! За ранее хочу извиниться, что веду разговор о плате Orange в разделе Raspberry, так как раздела для своего вопроса я не нашел. Меня интересует такой вопрос... Я поставил себе цель научиться программировать процессоры с архитектурой cortex. Для этого приобрел сию плату в надежде, что смогу поработать с самим процессором. После покупки решил посмотреть, что люди вообще с этой штукой делают и обнаружил, что в основном все используют эту плату для установки на нее уже готовых операционных систем. И мне в душу закралось сомнение, смогу ли я с помощью этой платы поработать с самим процессором? Прошу не ругать, если задал дурацкий вопрос) просто до этого работал лишь с msp430 и с такими сложными контроллерами, как этот еще не сталкивался. За ранее благодарен!)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Я поставил себе цель научиться программировать процессоры с архитектурой cortex. Для этого приобрел сию плату в надежде, что смогу поработать с самим процессором. После покупки решил посмотреть, что люди вообще с этой штукой делают и обнаружил, что в основном все используют эту плату для установки на нее уже готовых операционных систем.

заведомо странный подход.. что мешало сначала погуглить, а потом уже покупать?

шансы вроде есть, но глубже не смотрел -> "raspberry pi standalone"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
цель научиться программировать процессоры с архитектурой cortex.

Для этой задачи отладки уровня STM32F4-DISCOVERY было бы для начала достаточно.

Вместо OrangePi можно было взять ту же Hola-PC у starterkita, там же полистать форум на тему standalone.

С OrangePi, особенно One, у меня до сих пор проблемы: то HDMI-DVI переходник не работатет,

то нестандартное разрешение не выставить, то штатную камеру не запустить.

А тулза, с помощью которой собирать-разбирать конфигурацию капризна к версиям самой себя.

У One подкупает цена, но шаг вправо, шаг влево на этой плате мне показались тажелодающимися.

 

Кста, насчет cortex - ядро вы научите исполнять код, но там же основное - периферия.

Документация на все есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть даташит на сам процессор (Allwinner H3) ну и все в принципе. Остальное можно найти на сайте arm, я думаю) Может у вас, adnega, что-нибудь имеется?

 

adnega, что вы мне посоветуете, купить для начала STM32F4-DISCOVERY, или все таки с orange побороться?

 

И вот еще такой вопрос. Сильно ли отличается программирование, например arm и cortex?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
adnega, что вы мне посоветуете, купить для начала STM32F4-DISCOVERY, или все таки с orange побороться?

первое. вообще совет, сначала думать и искать информацию - потом делать. Эти процуссоры (All winner и пр) обычно в standalone не используются. Если пользуются, то в специфических задачах.

И вот еще такой вопрос. Сильно ли отличается программирование, например arm и cortex?

 

:crying: :crying: кортекс тоже арм :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Есть даташит на сам процессор (Allwinner H3) ну и все в принципе.

Остальное можно найти на сайте arm, я думаю) Может у вас, adnega, что-нибудь имеется?

У меня тоже есть даташит, но там... крайне лаконично.

Нужны доки по конфигурации, загрузке и т.п.

Я дальше не собираюсь копать в этом направлении. Поставил WiringOP - для помахать ножками вполне подходит,

но требует root-прав.

 

adnega, что вы мне посоветуете, купить для начала STM32F4-DISCOVERY, или все таки с orange побороться?

Нужно и то, и то. Но всякие там Pi лучше с нормальной ОСью использовать.

Для высокоуровневых вещей, сторонних библиотек и т.п. прекрасное решение.

 

Я тут задачку мучил - распознавание QR-кода с камеры.

Со сторонней библиотекой под Linux - минутное дело.

Для того же STM32F4 бился две недели, но по скорости, качеству распознавания и поддержке вариантов QR

я и на 1% не гожусь. Это я еще БЧХ никак не реализовал, а память и такты уже закончились.

 

Короче, все зависит от задачи. Есть у нас золотое правило - выбирать решение под задачу, а не наоборот.

 

Вам-то что нужно, кроме облегчить кошелек и изучать талмуды на железо?

У меня есть совершено определенные задачи, от них и пляшу.

 

После msp430 должна хорошо пойти серия STM32L4 на такой вот досочке STM32L476G-DISCO

 

И вот еще такой вопрос. Сильно ли отличается программирование, например 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 стека, гигабайт памяти и гигагерц частоты однозначно решение с ОС.

По середине очень сложно выбрать, я от таких задачек однозначно отказываюсь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

jorikdima, вы хотите сказать, что лучше использовать модуль типа STM32F4-DISCOVERY для первичного изучения arm?

Насчет cortex и arm я имел ввиду что есть cortex-a7, cortex-a3, arm9, arm11. Это же все разные вещи, правильно?)

 

adnega, у меня сейчас есть проект, но он разрабатывается под msp430. Параллельно я бы хотел ознакомиться с еще каким-нибудь контроллером, например семейства arm. И, так как не знаю об этом ничего, пишу вам)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Насчет 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. Особенно учитывая объем доступной документации на последний.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что discovery, что Pi - все предполагает уже работу с аппартурой через HAL/BSP. Просто в одном случае это будет stm32cube, а в другом - u-boot/linux

Непонятно, зачем учить ARM. Имхо, нужно разбираться с инфраструктурой уже имеющихся пакетов применительно к конкретной задаче и по возможности самостоятельно устранять ошибки в них.

За ранее хочу извиниться, что веду разговор о плате Orange в разделе Raspberry, так как раздела для своего вопроса я не нашел.

вот предлагали же модеру: назовите раздел Single Board Computers и засуньте в нее подразделами все RPi, Banana и тп вместе с ардуинами. нет же ж...

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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 чипах не советую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
вот предлагали же модеру: назовите раздел Single Board Computers и засуньте в нее подразделами все RPi, Banana и тп вместе с ардуинами. нет же ж...

Это надо предлагать не модератору, а админу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
jorikdima, вы хотите сказать, что лучше использовать модуль типа STM32F4-DISCOVERY для первичного изучения arm?

Если одна из задач - изучить арм, то да. Ибо с большими камнями , где крутится линукс, изучать железо не получится, ОС от него абстрагирует (но получится изучать линукс).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если "Я поставил себе цель научиться программировать процессоры с архитектурой cortex" и "разговор о плате Orange", то это достаточно просто.

В процессоре H3 есть первичный загрузчик BROM (Boot ROM), который загрузит Ваш загрузчик Boot0 (написанную Вами программу) во внутреннюю память

SRAM. Название - Boot0 - общепринято, но можете назвать как угодно.

По окончании загрузки этот же BROM запустит Ваш загрузчик к исполнению (действию).

 

Вот этот загрузчик Boot0 и может быть Вашей первой (и единственной) программой в плате. Держать эту программу можно во внешней микросхеме Flash.

Есть платы Orange Pi Zero с разведенным на плате местом под такую микросхему (и даже платы с микросхемой). Размера внутренней SRAM Вам может

не хватить для желаемой программы. Тогда в программе Boot0 пишете процедуры инициализации внешней (находящейся на плате Orange Pi) DRAM памяти.

Туда будет загружаться и там запускаться Ваша следующая программа, гораздо большего размера, использующая всю доступную DRAM.

 

Реализацией описанных действий можно очень просто "научиться программировать процессоры с архитектурой cortex" на плате Orange.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация