{"id":13578071,"url":"https://github.com/eantcal/mipos","last_synced_at":"2025-04-10T01:40:53.026Z","repository":{"id":99383359,"uuid":"100529187","full_name":"eantcal/mipos","owner":"eantcal","description":"Multum In Parvo Operating System is a cooperative multitasking RTOS designed for single-chip micro-controllers with severely limited RAM (e.g. less than 256 bytes) and ROM.","archived":false,"fork":false,"pushed_at":"2024-06-03T14:49:22.000Z","size":1771,"stargazers_count":11,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-24T03:22:38.331Z","etag":null,"topics":["c-language","educational-project","firmware","low-level-programming","microcontroller","rtos"],"latest_commit_sha":null,"homepage":"https://www.eantcal.eu/home/mipos","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eantcal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-16T20:19:04.000Z","updated_at":"2024-06-03T14:49:26.000Z","dependencies_parsed_at":"2024-06-03T11:29:33.179Z","dependency_job_id":"d09d9d16-e046-401c-b582-cacb5f845ecd","html_url":"https://github.com/eantcal/mipos","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eantcal%2Fmipos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eantcal%2Fmipos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eantcal%2Fmipos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eantcal%2Fmipos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eantcal","download_url":"https://codeload.github.com/eantcal/mipos/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248142042,"owners_count":21054575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-language","educational-project","firmware","low-level-programming","microcontroller","rtos"],"created_at":"2024-08-01T15:01:27.003Z","updated_at":"2025-04-10T01:40:53.003Z","avatar_url":"https://github.com/eantcal.png","language":"C","readme":"![mipOS Logo](mipos_pictures/mipos.png)\n| Linux  | [![Linux Build](https://travis-ci.org/eantcal/mipos.svg?branch=master)](https://travis-ci.org/eantcal/mipos)  |\n\nMultum In Parvo Operating System is a cooperative multitasking RTOS designed for single-chip micro-controllers with severely limited RAM (e.g. less than 256 bytes) and ROM. It provides the flexibility of an RTOS in low-cost embedded designs.\nSystem-On-Chip (SoC) programmers can choose mipOS for its small, fast and royalty-free benefits.\n\nmipOS manages tasks, providing mutual exclusion, signals, message queues, memory management, malloc, memory pools, timers.\nOptional modules include: command line support, file system and stdio support.\n\n![mipOS Architecture](mipos_pictures/miposarc.png)\n\nmipOS is designed to be as compact as possible for the target architecture. Its small footprint enables use in devices with limited memory capacity, including on-chip in SoC implementations, and that reduces power demands, extending battery life.\n\nSmall size also makes mipOS easy to understand and use. Computer science students can enhance their understanding of a simple OS and gain valuable practical experience modifying it, for example introducing new features.\n\nmipOS is highly portable: it is written mainly in C programming language.\nmipOS is free for any use.\n\nIt is also royalty-free, ideal for applications with high-volume production needs.\n\n\nThe original design and the source code was published in an article for the magazine Computer Programming where the internals of a portable and scalable kernel for microcontrollers with severely limited resource are described.\n\nmipOS has been tested on Intel x86 chip, STMicroelectronics® ST7 microcontrollers, STM8 microcontroller and STM32 32bit, ARM-Cortex M3 microcontroller families.\n\n![mipOS running in a evaluation board](mipos_pictures/mipos2.jpg)\n\nSee also: [https://www.eantcal.eu/home/mipos](https://www.eantcal.eu/home/mipos).\n\n![mipOS running in a evaluation board](mipos_pictures/miposIDE.jpg)\n\nmipOS can be executed on Windows™ or Linux user-space process for simulation purposes (both Microsoft® Visual Studio™ and GCC compilers are supported).\nmipOS is delivered in fully documented source code form. \n\nTo build the examples on Linux (target: ``simu``) you might do the following steps:\n- Make sure you have installed gcc multilib (on Ubuntu you can install it by using ``sudo apt-get install gcc-multilib``)\n- Go to mipos/examples directory\n- Create a new directory (e.g. ``md build``)\n- Enter new directory (e.g. ``cd build``)\n- Run ``cmake .. \u0026\u0026 make``\n\nIn ``build`` several binaries will be created with prefix ``example-``. \nFor example, if you run ``./example-filesystem``, will be loaded mipos within a linux process, it will mount a disk image containing two files, as shown in the following demo:\n\n```\n~/repos/mipos/examples/build$ ./example-filesystem \n\nmipOS v.1.99 - (c) 2005-2017 antonino.calderone@gmail.com console\nCompile date/time: Dec 27 2020 00:33:50 - opt. mods:\n  mipos_console\n  mipos_fs\n  mipos_stdio\n  mipos_mm\n  mipos_malloc\n  mipos_mpool\n\nmipOS\u003ehelp\n\thelp - shows this list\n\tver - shows mipOS version\n\tdump [\u003ca\u003e,[\u003cc\u003e,[\u003cb\u003e]] - dump a memory area\n\tpatch \u003ca\u003e \u003cb\u003e - set a byte \u003cb\u003e at address \u003ca\u003e\n\tps - shows the list of tasks\n\tfreeze \u003ctid\u003e - freezes a task\n\tunfreeze \u003ctid\u003e - unfreezes a task\n\tdelete \u003ctid\u003e - delete a task\n\tsignal \u003ctid\u003e \u003csignum\u003e - set a signal\n\tls - shows list of files\n\tcat - shows list and content of files\n\nmipOS\u003els\nVolume label RAMDISK\ntest1       60 bytes\ntest2       60 bytes\n\nmipOS\u003ecat test1\nVolume label RAMDISK\ntest1       60 bytes\n0123456789abcdefghijklmnopqrstuvwxyz0123ABCDEFGHIJKLMNOPQRST\ntest2       60 bytes\n9876543210ABCDEFGHIJKLMNOPQRSTUVWXYZ0123abcdefghijklmnopqrst\n\nmipOS\u003e\n\n```\n\n","funding_links":[],"categories":["C"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feantcal%2Fmipos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feantcal%2Fmipos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feantcal%2Fmipos/lists"}