OberonCore https://forum.oberoncore.ru/ |
|
MicroA2 https://forum.oberoncore.ru/viewtopic.php?f=22&t=5690 |
Страница 1 из 4 |
Автор: | Ярослав Романченко [ Воскресенье, 01 Май, 2016 16:58 ] | |||||
Заголовок сообщения: | MicroA2 | |||||
Предлагаю на суд общественности, долго вынашиваемый и обсуждавшийся проект MicroA2. Такое название у нас родилось в процессе обсуждения с BohdanT Цель проекта - разработка кросс-платформенных графических оконных приложений на базе ОС A2, и с использованием компонентов ОС A2. На сегодняшний день есть модуль (WinStarter.Mod), позволяющий запустить любое оконное приложение ОС A2 в окне, созданном с помощью WinAPI. Для этого достаточно минимальных изменений в самом приложении (добавляется одна процедура-фабрика) и небольшого изменения файла конфигурации aos.ini По-идее будет не сложно сделать подобное и под Linux/Mac OS X. Там придётся сделать подобный модуль для запуска под X11 и придумать как его запустить (aos.ini в Linux/Mac OS X нет, параметры передаются через переменные окружения). Утилита для сбора необходимых модулей для создания дистрибутива приложения тоже есть (ImportCollector.Mod). Ознакомиться с предварительным результатом можно по ссылке http://sage.com.ua/cgi-bin/blog.cgi?m=dl&f=MicroA2.zip Если есть желающие поучаствовать в развитии данного проекта, милости просим! В дальнейшем планируется доделать возможность ресайза окон и др. Можно пообсуждать, что ещё можно добавить... Несколько скриншотов:
|
Автор: | ignat99 [ Понедельник, 02 Май, 2016 14:53 ] |
Заголовок сообщения: | Re: MicroA2 |
Очень круто. Вод бы портировать это на микро-контроллеры типа MT626xx. Только бесплатно смысла нет это делать. Но можно найти на краудсорсинг платформах до $1 000 000. Правда не всё просто, нужны дружеские связи и грамотный пиар. Кроме того, без изготовления самого железа это дело, на мой взгляд не очень прибыльное. https://geektimes.ru/post/275142/ Хотя на первое время можно использовать готовое железо, благо это железо стоит $5-$10. Но бутлоадеры, не взломаны, насколько я знаю. А документация попала в паблик только на прошлой неделе да и то не для всех PDF есть пароли. |
Автор: | Ярослав Романченко [ Понедельник, 02 Май, 2016 16:47 ] |
Заголовок сообщения: | Re: MicroA2 |
ignat99 писал(а): Очень круто. Вод бы портировать это на микро-контроллеры типа MT626xx. Только бесплатно смысла нет это делать ARM-бэкенд для компилятора лежит в репозитории А2.
|
Автор: | ignat99 [ Понедельник, 02 Май, 2016 17:26 ] |
Заголовок сообщения: | Re: MicroA2 |
Ярослав Романченко писал(а): ignat99 писал(а): Очень круто. Вод бы портировать это на микро-контроллеры типа MT626xx. Только бесплатно смысла нет это делать ARM-бэкенд для компилятора лежит в репозитории А2.Да я видел. MT62xx специфичный чип. На который и документации то не было. Но сейчас они довольно популярные. Дело должно пойти. Я слышал одна компания из России на MT собралась делать смартфон. Но более старшей модели чип. https://geektimes.ru/post/274056/ Жаль что о необходимости иметь свою собственную систему, а не доверять загрузочным сертификатам китайцев, люди заговорят только через 2-3 года. И жаль, что в A2 нет поддержки сертификации загрузчика (вроде - точно не знаю), постзагрузчика и ядра. А сейчас многие MMI китайcкой MAUI, который выглядит, как Android не отличают от самого Android-а с ядром GNU/Linux. |
Автор: | Ярослав Романченко [ Понедельник, 02 Май, 2016 18:36 ] |
Заголовок сообщения: | Re: MicroA2 |
ignat99 писал(а): И жаль, что в A2 нет поддержки сертификации загрузчика (вроде - точно не знаю), постзагрузчика и ядра. А что означает поддержка сертификации. Сертификация это своего рода административный момент, какая там должна быть поддержка для этого в загрузчике, постзагрузчике и ядре?Причём, по-моему, в А2 только есть загрузчик и ядро. Вот, есть загрузчик А2 под различные юниксы, там реально кода, как говорится, что кот наплакал... 11 кБ сам загрузчик + 3-5 кБ библиотечка Threads, специфичная для конкретной host-OS https://svn.inf.ethz.ch/svn/lecturers/a ... ixAos/boot Под голое железо загрузчик на ассемблере... Так в чём состоит процесс сертификации, в просмотре кода экспертами, в загрузке в специальный эмулятор? |
Автор: | ignat99 [ Понедельник, 02 Май, 2016 18:42 ] |
Заголовок сообщения: | Re: MicroA2 |
https://cloud.mail.ru/public/GSGR/XpHEs ... 2BAOSP.pdf https://cloud.mail.ru/public/GSGR/XpHEs ... eline-.pdf Вот этот документики подробнее раскрывают. Именно поэтому с 2006 года не кто не мог расковырять прошивку, что распаковщик у них аппаратный. IMHO |
Автор: | Ярослав Романченко [ Понедельник, 02 Май, 2016 19:10 ] |
Заголовок сообщения: | Re: MicroA2 |
Ну, насколько я понял, в документах идёт речь о подписывании загрузочных образов RSA1024 ключом. |
Автор: | ignat99 [ Понедельник, 02 Май, 2016 19:25 ] |
Заголовок сообщения: | Re: MicroA2 |
Подменить образ не удаётся. Только запустить в симуляторе QEMU части кода (распакованные дампы памяти реального устройства), после прохождения этапа загрузки. На PSP (Портативной Сони Плайстейшен) вроде так же точно было сделано. В мобильных телефонах Самсунг так же (ключи линкуются скриптами линковщика). А мастер ключь только на сервере храниться в центральном офисе и к нему доступ имеет только 1 человек отвечающий за продакшен релизы. Вроде из обсуждения в форумах следует, что ядра пожаты 7-zip, видимо с ключами/паролями. В таком виде они перепрошиваются. Но сами ядра можно собрать компиляторами в которых уже прошиты ключи вендера (которые выданы производителем). Честно признаюсь, что я не копался в бинарниках MTK. Только видел как это было сделано на Самсунге. |
Автор: | Ярослав Романченко [ Понедельник, 02 Май, 2016 19:34 ] |
Заголовок сообщения: | Re: MicroA2 |
ignat99 писал(а): Подменить образ не удаётся. Только запустить в симуляторе QEMU части кода (распакованные дампы памяти реального устройства), после прохождения этапа загрузки. На PSP (Портативной Сони Плайстейшен) вроде так же точно было сделано. Вобщем, редиски они, эти производители.Вот, тут и возникает вполне резонный вопрос... Почему-бы России не штамповать подобные чипы на своей территирии. Со своими мастер-ключами и т.д. Но, ты ignat99, похоже, противник такой идеи? Модератору: И похоже уже надо просить модератора отделить обсуждение подписывания ядер в отдельную тему... |
Автор: | ignat99 [ Понедельник, 02 Май, 2016 19:47 ] |
Заголовок сообщения: | Re: MicroA2 |
Я как раз за то чтоб разобраться с этим вопросом и заменить прошивку на чужих модулях. Я просто знаю людей (сами ко мне обращались по поводу логического синтезатора), поэтому уверен что не сможет не Микрон не Ангстрем-Т выпустить чип подобный MT62xx в ближайшее время. По цене - $3!!! По цене $300 смогут. Но такой не нужен. А нужно делать по цене $0.20 чтоб конкурировать. А в Зеленограде и кадров готовых нет и обучать почти не кому. |
Автор: | Ярослав Романченко [ Понедельник, 02 Май, 2016 19:51 ] |
Заголовок сообщения: | Re: MicroA2 |
ignat99 писал(а): А нужно делать по цене $0.20 чтоб конкурировать. А в Зеленограде и кадров готовых нет и обучать почти не кому. По-тому, что установка такая была дана в СНГ всё разваливать и разворовывать. А Китай тем временем чипы штамповал...
|
Автор: | ignat99 [ Понедельник, 02 Май, 2016 19:54 ] |
Заголовок сообщения: | Re: MicroA2 |
Поймите меня правильно. Проект то как раз сделать не проблема. А вот технология/станки это гораздо большая зависимость от производителей, чем разобраться с одним маленьким модулем за $3. Давайте тогда свои станки делать. Если готовые стоят 200 миллионов долларов. То сколько надо потратить на то чтоб такие станки просто скопировать (включая программы в станках, которые то же защищены и ещё лучше). Так что лучше шашкой не махать, а разобраться с одним маленьким и дешёвым чипом с ARM и ещё несколькими модулями. https://cloud.mail.ru/public/GSGR/XpHEs ... MT250x.pdf И запустить на нём графическую среду и своё ядро. Благо продаются они в избытке. Есть и в трекерах за $20 и в часах за $8 и в модемах за $5. |
Автор: | ignat99 [ Понедельник, 02 Май, 2016 19:59 ] |
Заголовок сообщения: | Re: MicroA2 |
По теме топика. Кросс платформенная, на мой взгляд,это совместимая с https://sourceforge.net/projects/chibios/, https://github.com/PX4/NuttX А вовсе не с Linux или Windows. И она будет востребована для реальных систем. Начиная от навигаторов и заканчивая мониторами автопилотов. Правда некоторые модули A2 мне показались тяжёлыми. У меня стоит на сервере aos через X11 Есть 2 фала: Auto.dsk Configuration.XML В каталоге с ними я просто набираю: aos И A2 запускаетя. Код: cat /usr/bin/aos #!/bin/sh # Template for running a public copy of UnixAos if ulimit -n 1024 ; then : else echo "failed: ulimit -n 1024" exit 1 fi #================== # set home to the directory where UnixAos resides. # home=/usr/aos #================== # create a symbolic link to the installation directory (needed for # mounting the relative file systems # cf. Configuration.XML # if [ -h .aoshome ] ; then rm .aoshome ; fi ln -s ${home} .aoshome #================== # The environment variable AOSPATH defines a list of directories where # UnixAos is looking for its components. # AOSPATH=".:$home/obj:$home/system:$home/fonts/Oberon:$home/fonts/ttf:$home/fonts/ccg:./source:$home/source" export AOSPATH #================== # System configuration: # Aos: # StackSize (kB) # DisplaySize (% of screen size (min 50), or absolute WxH (min 640x480)) # TraceModules 0/1 (1: trace module loading) # TraceCommands 0/1 (1: trace command invocations) # DisableShrinkHeap 0/1 (1: shrinking heap disabled) # # Oberon subsystem: # Color 0/1 (0: FillerColor:=0; 1: FillerColor:=12) # MB 1/2/3 (number of mouse buttons) # OberonWatch 0/1 # AOSCONFIG="StackSize 128 DisplaySize 100 Color 0" export AOSCONFIG #================== # start UnixAos # exec $home/aos.linux "$@" aos.linux - это исполняемый файл в который можно передать стандартные параметры. Как видим параметры можно передать из командной строки, либо установить прямо в этом файле. Настройки ssh приводить не буду. Но для интересующихся: http://unix.stackexchange.com/questions ... 6285_12772 |
Автор: | Ярослав Романченко [ Понедельник, 02 Май, 2016 20:46 ] |
Заголовок сообщения: | Re: MicroA2 |
ignat99 писал(а): По теме топика. Кросс платформенная, на мой взгляд,это совместимая с https://sourceforge.net/projects/chibios/, https://github.com/PX4/NuttX А какая в них графическая подсистема? X11?Если да, то А2 должна там запуститься, возможно с минимальными доработками. Фактически, что-бы А2 запустилась, нужно что-бы запустился загрузчик и что-бы была какая-то библиотека что-бы создать окно или линейный фреймбуфер. ignat99 писал(а): В каталоге с ними я просто набираю: Я тоже пробовал и под Линуксом и под Mac OS X. Действительно, запускается!
aos И A2 запускаетя. |
Автор: | ignat99 [ Понедельник, 02 Май, 2016 21:25 ] |
Заголовок сообщения: | Re: MicroA2 |
http://www.chibios.com/forum/viewtopic.php?f=3&t=2309 the uGFX side (as ChibiOS/RT is our main platform): The STM32F429i-Discovery board is fully supported by uGFX. Обсуждение. http://www.chibios.com/forum/viewtopic. ... 79&p=18205 Получается что для каждой графической подсистемы (графического ядра чипа или SPI), свои видимо настройки. |
Автор: | Ярослав Романченко [ Понедельник, 02 Май, 2016 21:31 ] |
Заголовок сообщения: | Re: MicroA2 |
Ну, вот, например, мы хотим портировать A2 под ChibiOS/RT... Открываем документацию о том как создать процесс http://wiki.chibios.org/dokuwiki/doku.p ... eatethread Адаптируем загрузчик, под семантику, принятую в ChibiOS/RT. Собираем загрузчик, собираем ядро А2 и остальные исходники, не входящие в ядро под нужную архитектуру. Для загрузки в параметрах указываем использование графического адаптера-заглушки - DisplayNull (я не увидел упоминаний на сайте, что есть какая-то графическая подсистема) В Configuration.XML в секцию автозапуска добавляем что-нибудь что-бы помигало где-то светодиодами. Запускаем. Потом ищем спецификации какого-нибудь дисплея, подключаем к нашей отладочной плате, пишем драйвер. Прописываем вместо DisplayNull и получаем А2 с графическим интерфейсом. как-то так. |
Автор: | Ярослав Романченко [ Понедельник, 02 Май, 2016 21:41 ] |
Заголовок сообщения: | Re: MicroA2 |
На самом деле, ещё возможно придётся написать для ChibiOS/RT аналог небольшого количества модулей, идущих с префиксом Unix. Там до 10-ка модулей... Основной Unix.Glue.Mod |
Автор: | Ярослав Романченко [ Понедельник, 02 Май, 2016 21:58 ] |
Заголовок сообщения: | Re: MicroA2 |
ignat99 писал(а): Я просто знаю людей (сами ко мне обращались по поводу логического синтезатора), поэтому уверен что не сможет не Микрон не Ангстрем-Т выпустить чип подобный MT62xx в ближайшее время. По цене - $3!!! По цене $300 смогут. Но такой не нужен. Я, правда, цену не узнавал... Но, вот, такое есть http://baikalelectronics.ru/products/M/
|
Автор: | Valery Solovey [ Понедельник, 02 Май, 2016 23:14 ] |
Заголовок сообщения: | Re: MicroA2 |
А где есть информация о том, как писать программы под A2? |
Автор: | Ярослав Романченко [ Вторник, 03 Май, 2016 00:04 ] |
Заголовок сообщения: | Re: MicroA2 |
Valery Solovey писал(а): А где есть информация о том, как писать программы под A2? Информации не густо и не совсем первой свежести, но есть http://svn.assembla.com/svn/oberonru/trunk/Docs/В частности: Об использовании многопоточности http://svn.assembla.com/svn/oberonru/tr ... mework.pdf Обзор существующих приложений А2 http://svn.assembla.com/svn/oberonru/tr ... dation.pdf Про реал-тайм сборщик мусора http://svn.assembla.com/svn/oberonru/tr ... s/RTGC.pdf Быстрый вводный курс по программированию под А2 http://svn.assembla.com/svn/oberonru/tr ... tGuide.pdf О том как искать место ошибки по сообщениям Trap (информация немного устаревшая) http://svn.assembla.com/svn/oberonru/tr ... /Traps.pdf Небольшой обзор WinAos http://svn.assembla.com/svn/oberonru/tr ... WinAos.pdf Хорошим источником информации также является диссертация Томаса Фрея http://e-collection.library.ethz.ch/view/eth:27966 Там, в диссертации, например, я нашёл ответ как исправить подвисание приложения, над которым бился несколько дней |
Страница 1 из 4 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |