HarmEr 0 Posted February 21, 2018 · Report post В одном из проектов у меня было: 1. Самый нижний уровень: элементарные транзакции по SPI с FLASH/FRAM - чтение непрерывного блока байт, запись непрерывного блока байт, стирание страницы FLASH и т.п. Диспетчеры, журналы, атомарный доступ, "разные службы" - это как бы уже часть ОС и подобия файловой системы. Автор то тут четко выразился что ему нужны только работа с каналами передачи. 1-2 имхо разделять на собственное АПИ если это не высокоструктурированный проект или часть ОС смысла нет, все в один файл, 1 объявить статиком, а 2 сделать в виде АПИ. Если все разносить по файлам, то у компилятора не будет возможность глубоко оптимизировать все это. Share this post Link to post Share on other sites
jcxz 0 Posted February 21, 2018 · Report post Диспетчеры, журналы, атомарный доступ, "разные службы" - это как бы уже часть ОС и подобия файловой системы. ОС - это только управление задачами. Всё остальное - дополнительные модули. Автор то тут четко выразился что ему нужны только работа с каналами передачи. Это где Вы такое узрели в его посте??? Из каналов передачи там только UART. 1-2 имхо разделять на собственное АПИ если это не высокоструктурированный проект или часть ОС смысла нет, все в один файл, Смысл есть ибо это совершенно разные вещи. Находятся они в одном файле или в разных - это никак не относится к разбиению на логические уровни. Разделение этих двух частей, даёт возможность легко наращивать функциональность при добавлении других устройств на данной SPI-шине: планировщик транзакций (арбитр шины) - отдельно, обработка самих транзакций - отдельно для каждого устройства на шине - своя для каждого устройства. Своё разбиение я привёл как пример. В другой прикладной задаче/приборе вполне возможно будет другое разбиение. Share this post Link to post Share on other sites
HarmEr 0 Posted February 21, 2018 · Report post ОС - это только управление задачами. Всё остальное - дополнительные модули. ОС это распределение памяти, машинного времени и механизмы доступа и синхронизации. Это где Вы такое узрели в его посте??? Из каналов передачи там только UART. I2C, ADC тоже можно считать каналом передачи :) но в целом да, он хочет иметь доступ к разной периферии, не только передавать данные. Смысл есть ибо это совершенно разные вещи. Находятся они в одном файле или в разных - это никак не относится к разбиению на логические уровни. Разделение этих двух частей, даёт возможность легко наращивать функциональность при добавлении других устройств на данной SPI-шине: планировщик транзакций (арбитр шины) - отдельно, обработка самих транзакций - отдельно для каждого устройства на шине - своя для каждого устройства. Своё разбиение я привёл как пример. В другой прикладной задаче/приборе вполне возможно будет другое разбиение. Ну я свою классификацию тоже привел как пример, ибо писал LockFree OS и она перенесена в том числе под STM32. Но до конца не понятно где заканчивается его нижний уровень, и что он имеет ввиду под верхним, нужно ему АПИ или интерфейс драйвера для какой то RTOS. Для кого-то этот нижний уровень вообще не заканчивается внутри камня, для вторых он заканчивается на интерфейсе драйвера, а для третьих за пределами функции работающих с регистрами уже другой уровень. Share this post Link to post Share on other sites
leocat 0 Posted February 21, 2018 · Report post Нет. Ибо на Cortex-M ни линух ни тем более винда - невозможны. Да ладно?! http://www.nuttx.org Share this post Link to post Share on other sites
Eddy_Em 0 Posted February 21, 2018 · Report post Линукс не установить на систему без MMU. Так что, не надо фантазировать! Share this post Link to post Share on other sites
ichthyandr 0 Posted February 22, 2018 · Report post Нет. Ибо на Cortex-M ни линух ни тем более винда - невозможны. а freertos ? Share this post Link to post Share on other sites
jcxz 0 Posted February 22, 2018 · Report post а freertos ? Конечно да. Share this post Link to post Share on other sites
one_eight_seven 0 Posted February 22, 2018 (edited) · Report post Линукс не установить на систему без MMU. Так что, не надо фантазировать! uCLinux P.S. можно, конечно, ещё эмуляторы писать (и некоторые это делают), но зачем... Edited February 22, 2018 by one_eight_seven Share this post Link to post Share on other sites
Aldec 0 Posted February 22, 2018 · Report post из перриферии: UART, ADC, COMP, DAC, I2C, Timer. Может оказаться что это драйвер двигателя, тюнер SDR, анализатор спектра или вибродатчиков.... линукс и ртос там не очень требуется. Share this post Link to post Share on other sites
jcxz 0 Posted February 22, 2018 · Report post uCLinux uCLinux != Linux Share this post Link to post Share on other sites
=pcb= 0 Posted February 22, 2018 · Report post Линукс не установить на систему без MMU. Так что, не надо фантазировать! Можно. 1) ucLinux на ядре 2.6. версии 2) Linux на ядре от 4.6 версии на жирные камни, а ля 429, с недавних пор. так что можно уже фантазировать открывшиеся новые возможности... Share this post Link to post Share on other sites
jcxz 0 Posted February 22, 2018 · Report post 2) Linux на ядре от 4.6 версии на жирные камни, а ля 429, с недавних пор. Ну-ну... с недавних пор в "а ля 429" самопроизвольно возник MMU??? так что можно уже фантазировать открывшиеся новые возможности... Фантазировать можно сколько угодно, но реальность безжалостна..... :laughing: Share this post Link to post Share on other sites
Eddy_Em 0 Posted February 22, 2018 · Report post ucLinux Это никак к линуксу не относится! Еще раз: нет MMU == нет линукса! Хватит меня уже бредом кормить! Share this post Link to post Share on other sites
one_eight_seven 0 Posted February 22, 2018 · Report post Это никак к линуксу не относится! Это форк линукса. Более того, много наработок uCLinux'а пошли в основную ветку. Так что относится и ещё как относится Еще раз: нет MMU == нет линукса! Хватит меня уже бредом кормить! Есть только два мнения - моё и неправильное. Очень правильная позиция, да. uCLinux != Linux Debian != Linux Fedora != Linux. Linux != Linux. Ваши слепые верования не имеют ничего общего с реальным положением вещей. Share this post Link to post Share on other sites
Eddy_Em 0 Posted February 22, 2018 (edited) · Report post Ну хватит уже чушь нести!!! Почитайте хотя бы, что такое линукс! И да, дебилиан уже не линукс, а тем более — федора! Все, что перестало подчиняться требованиям UNIX-way, можно смело называть мастдайкой и топить в унитазе. Эдак вы, батенька, такое откровенное дерьмище, как ондроед, линуксом обзовете! Edited February 22, 2018 by Эдди Share this post Link to post Share on other sites