mantech 53 21 июня, 2014 Опубликовано 21 июня, 2014 · Жалоба Приветствую. есть темка поработать с данным камешком, и есть непонятки :rolleyes: 1) Как работать с 2мя ядрами вообще? Т.е. как пишутся проги под ядра, загружаются и запускаются? 2) Есть-ли standalone(без осей) библиотеки или примеры для запуска и инициализации процов? 3) Как вообще камешек? стоит его поюзать, есть встроенный видеоконтроллер, продаются платки по цене вполне приемлимо... ЗЫ. Если у кого что есть по нему, и вообще что-то можете сказать - поделитесь, буду очень признателен Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 22 июня, 2014 Опубликовано 22 июня, 2014 · Жалоба Неужели никто с такими процами не работал, вроде хорошие камешки по описанию судить, или что лучше есть? B) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SimpleSoft 0 22 июня, 2014 Опубликовано 22 июня, 2014 (изменено) · Жалоба 1) Как работать с 2мя ядрами вообще? Т.е. как пишутся проги под ядра, загружаются и запускаются? 19.11 Running Secondary Core To start execution in the secondary (Cortex-M4) core, an application entry address must be established and the auxiliary core clock must be enabled. The auxiliary core begins execution in the Boot ROM code. The Boot ROM code checks the validity of the application entry address address pointed to by SRC_GPR2 and, if valid, jumps to the address. 2) Есть-ли standalone(без осей) библиотеки или примеры для запуска и инициализации процов? Мы пользуем Embedded Linux, но вроде в IAR есть какие-то примеры. P.S.: Глянул в IAR - есть примеры загрузки кода и в A5 ядро и в M4. 3) Как вообще камешек? стоит его поюзать, есть встроенный видеоконтроллер, продаются платки по цене вполне приемлимо... Процессор для определённого круга задач. Далеко не всемогущий, однако задачи по выводу простенького GUI может решать в параллель с управлением каким-либо процессом. Изменено 22 июня, 2014 пользователем SimpleSoft Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 22 июня, 2014 Опубликовано 22 июня, 2014 · Жалоба Процессор для определённого круга задач. Далеко не всемогущий, Да я не спорю, для линуксового программирования можно и гораздо круче найти, а вот без оси на них ничего не сделаешь, к сожалению... ЗЫ. Тут где-то в теме проскакивало сообщение, что делали без оси под ситару, спросил - но никто не отвечает... Толи ничего не получилось или просто не хочет рассказать, ну да и ладно :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 22 июня, 2014 Опубликовано 22 июня, 2014 · Жалоба Да я не спорю, для линуксового программирования можно и гораздо круче найти, а вот без оси на них ничего не сделаешь, к сожалению... ЗЫ. Тут где-то в теме проскакивало сообщение, что делали без оси под ситару, спросил - но никто не отвечает... Толи ничего не получилось или просто не хочет рассказать, ну да и ладно :laughing: Под микроконтроллеры для Freescale есть замечательный пакет - MQX и есть Processor Expert Туда входит и RTOS и драйвера периферии и промежуточное ПО. С Vybrid там работать не труднее чем с Kinetis. Более того, там даже есть софт для меж-ядерного взаимодействия. При том количестве периферии которое есть у Vybrid, написать неконфликтующие за ресурсы времени драйвера без RTOS выглядит нереальной задачей. Никогда даже не пробовал так делать. Но если освоение RTOS представляется проблемой, то с помощью Processor Expert можно сгенерировать драйвера работающие и без RTOS. Приложения правда уже придется писать самому. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 22 июня, 2014 Опубликовано 22 июня, 2014 · Жалоба написать неконфликтующие за ресурсы времени драйвера без RTOS выглядит нереальной задачей. Да я понимаю это, просто в задаче нужно иметь полный контроль над периферией, прерываниями и памятью. Сделать это под РТОС довольно проблематично. "Более того, там даже есть софт для меж-ядерного взаимодействия." - можно про это чуть по-подробнее? В смысле, на каком уровне происходить это взаимодействие, через прерывания или память (мейлбокс)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 22 июня, 2014 Опубликовано 22 июня, 2014 · Жалоба Сделать это под РТОС довольно проблематично. А что представляет проблему? Я подозреваю, что речь скорее всего о трудности анализа раздутых исходников в традиционных осях охватывающих все поддерживаемые осью архитектуры и периферии. Линукс в этом плане образец запутанности. В MQX не так. Там есть bsp cloning wizard с помощью которого можно экстрагировать в отдельное дерево директорий только исходники касающиеся только вашей платформы. И тогда выяснится, что RTOS-ы, даже очень продвинутые не такие сложные и запутанные как кажется. В смысле, на каком уровне происходить это взаимодействие, через прерывания или память (мейлбокс)? Тут надо отличать мультиядерность от мультипроцессорности. Мультиядерность идет через память и аппаратные фичи, это есть в MQX, но это не ваш случай. У вас межпроцессорный обмен (IPC). IPC делается через драйвер промежуточного уровня называемый packet control block device driver (PCB). Драйвер же PCB работает через коммуникационные драйвера физического уровня. В MQX сделана версия PCB которая может работать через любой драйвер асинхронного последовательного порта, а это UART, I2C, SPI и т.д. или что сами придумаете. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 23 июня, 2014 Опубликовано 23 июня, 2014 · Жалоба А что представляет проблему? Я подозреваю, что речь скорее всего о трудности анализа раздутых исходников в традиционных осях охватывающих все поддерживаемые осью архитектуры и периферии. Линукс в этом плане образец запутанности. В MQX не так. Там есть bsp cloning wizard с помощью которого можно экстрагировать в отдельное дерево директорий только исходники касающиеся только вашей платформы. И тогда выяснится, что RTOS-ы, даже очень продвинутые не такие сложные и запутанные как кажется. Тут надо отличать мультиядерность от мультипроцессорности. Мультиядерность идет через память и аппаратные фичи, это есть в MQX, но это не ваш случай. У вас межпроцессорный обмен (IPC). IPC делается через драйвер промежуточного уровня называемый packet control block device driver (PCB). Драйвер же PCB работает через коммуникационные драйвера физического уровня. В MQX сделана версия PCB которая может работать через любой драйвер асинхронного последовательного порта, а это UART, I2C, SPI и т.д. или что сами придумаете. Ну да, про линукс это в самую точку! Что называется - "убей свой мозг!"... Сложность - да не только в исходниках, там же есть своя многозадачность, которую сложно "встроить" в прогу, которая изначально написана, как одно целое, которое нельзя разрывать, причем без спросу. И по прерываниям - часть девайсов должна работать в реалтайме, и прерывания на нужды ОС тут очень не айс... У вас межпроцессорный обмен (IPC). - Да, это что-то новенькое для меня, надо где-то что-нибудь почитать... Вообще - цель такова, мне бы хотелось на М4-м "повесить" интерпретатор кода виртуальных задач, а на А5-м графическую оболочку, и обработчик реалтайм-девайсов, причем последнее в приоритете, разумеется. Взаимодействие между ядрами можно было и через память организовать (так проще для меня ), но если тут другой метод, то придется еще подумать, как сделать... И последнее - Эта MQX поставляется в исходниках или только либы, как в EMwin? И, может в курсе, можно-ли ее скомпилить под ИАР? GCC-че-то не могу переварить пока, да и не так удобен он... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 24 июня, 2014 Опубликовано 24 июня, 2014 · Жалоба Сложность - да не только в исходниках, там же есть своя многозадачность, которую сложно "встроить" в прогу, которая изначально написана, как одно целое, которое нельзя разрывать, причем без спросу. И по прерываниям - часть девайсов должна работать в реалтайме, и прерывания на нужды ОС тут очень не айс... Так вся сила RTOS в том и заключается, что берете свое старое приложение и как есть вставляете в одну задачу. Ставите задаче приоритет повыше и она даже не заметит, что работает еще параллельно с несколькими задачами. Если нужна голая периферия, то просто не включайте драйвера RTOS для нее. И прерывания также. Не дайте RTOS переводить их на себя и пользуйтесь как будто RTOS и нету. У меня все приложения так сделаны. Вообще - цель такова, мне бы хотелось на М4-м "повесить" интерпретатор кода виртуальных задач, а на А5-м графическую оболочку, и обработчик реалтайм-девайсов, причем последнее в приоритете, разумеется. Взаимодействие между ядрами можно было и через память организовать (так проще для меня ), но если тут другой метод, то придется еще подумать, как сделать... Странное у вас разделение функциональности. Я специально ставлю на свои платформы два микроконтроллера чтобы разделить GUI и риалтайм. Ибо риалтайм это означает не "быстро", а "надежно". А если приходится работать в одном адресном пространстве с GUI и особенно с сетевыми стеками, то ни о какой надежности уже можно не мечтать. GUI - одна из наиболее глючных вещей во встроенном софте. Мало того что всегда содержит ошибки так еще и непредсказуемо влияет на пропускную способность внутренних шин. И последнее - Эта MQX поставляется в исходниках или только либы, как в EMwin? И, может в курсе, можно-ли ее скомпилить под ИАР? GCC-че-то не могу переварить пока, да и не так удобен он... Да MQX полностью в исходниках. Поставляется с уже подготовленными файлами рабочих пространств для IAR, Keil и CodeWarrior. Я сам работаю с MQX в IAR. Под ARM на сегодня это самый эффективный компилятор. Даже разработал утилиту сбора исходников по заданному дереву директорий для автоматического создания файла проекта IAR. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 25 июня, 2014 Опубликовано 25 июня, 2014 · Жалоба Я сам работаю с MQX в IAR. Под ARM на сегодня это самый эффективный компилятор. Согласен! И еще, если не сильно затруднит, может закините какой-нить простенький пример на ИАРе по данной теме, неважно что, там может просто "здравствуй дерево" с выдачей в уарт или еще что-нить в этом роде. Главное - будет созданный проект, что в ИАРе не всегда тривиально делать и вообще - первый шаг всегда сложнее. Буду очень признателен B) Можно сюда - [email protected] Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 25 июня, 2014 Опубликовано 25 июня, 2014 · Жалоба Согласен! И еще, если не сильно затруднит, может закините какой-нить простенький пример на ИАРе по данной теме, неважно что, там может просто "здравствуй дерево" с выдачей в уарт или еще что-нить в этом роде. Главное - будет созданный проект, что в ИАРе не всегда тривиально делать и вообще - первый шаг всегда сложнее. Буду очень признателен B) Для Vybrid у меня проектов нет. :laughing: Есть только под Kinetis. А чем вам не подходят проекты из директории \IAR Systems\Embedded Workbench 6.5\arm\examples\Freescale\VF6xx\TWR-VF600\build\iar\projects ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 25 июня, 2014 Опубликовано 25 июня, 2014 · Жалоба Для Vybrid у меня проектов нет. :laughing: Есть только под Kinetis. А чем вам не подходят проекты из директории \IAR Systems\Embedded Workbench 6.5\arm\examples\Freescale\VF6xx\TWR-VF600\build\iar\projects ? Опс, сорри не посмотрел там, надо взглянуть, спасибо :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться