{"id":98,"date":"2025-09-21T23:19:09","date_gmt":"2025-09-21T21:19:09","guid":{"rendered":"https:\/\/microsproject.dev\/?page_id=98"},"modified":"2025-09-25T13:54:24","modified_gmt":"2025-09-25T11:54:24","slug":"getting-started","status":"publish","type":"page","link":"https:\/\/microsproject.dev\/index.php\/tutorials\/getting-started\/","title":{"rendered":"\ud83d\ude80 Getting Started with MicrOS"},"content":{"rendered":"\n<p>Welcome to <strong>MicrOS \u2014 simple, open, embedded<\/strong>.<br>This page will help you set up your environment and run MicrOS on its first supported target: <strong>LM EVB<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 Prerequisites<\/h2>\n\n\n\n<p>Before building MicrOS, install the following tools:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>CMake<\/strong> (\u2265 3.20)<\/li>\n\n\n\n<li><strong>Ninja<\/strong> build system<\/li>\n\n\n\n<li><strong>ARM GCC toolchain<\/strong> (<code>arm-none-eabi-gcc<\/code>)<\/li>\n\n\n\n<li><strong>OpenOCD<\/strong> (for flashing LM EVB)<\/li>\n\n\n\n<li><strong>QEMU (optional)<\/strong> for emulation<\/li>\n<\/ul>\n\n\n\n<p>On Ubuntu\/Debian:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install cmake ninja-build gcc-arm-none-eabi openocd qemu-system-arm<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 Cloning the Repository<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/github.com\/microsproject\/micros.git\ncd micros<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 Building for LM EVB<\/h2>\n\n\n\n<p>Create a build directory and compile:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rm -rf build\/ \ncmake -S . -B build\/ -DMICROS_BOARD=lm\/lm3s6965evb -DMICROS_SAMPLE=hello_world\ncmake --build build\/<\/code><\/pre>\n\n\n\n<p>This will produce an ELF file <code>hello_world<\/code> and a binary <code>hello_world.bin<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 Running on LM EVB (real hardware) &#8211; COMMING SOON<\/h2>\n\n\n\n<p>Flash the firmware using OpenOCD:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ninja flash\n<\/code><\/pre>\n\n\n\n<p>If successful, you\u2019ll see output on UART:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Hello, World!\nThis is MicrOS running on SOME hardware platform.<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 Running on QEMU (optional)<\/h2>\n\n\n\n<p>You can also emulate MicrOS without hardware:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>qemu-system-arm -M lm3s6965evb -nographic -kernel build\/samples\/hello_world\/hello_world<\/code><\/pre>\n\n\n\n<p>Expected output:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Hello, World!\nThis is MicrOS running on SOME hardware platform.<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 Next Steps<\/h2>\n\n\n\n<p>Now that you have MicrOS running:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Explore the source in <code>kernel\/<\/code>, <code>arch\/<\/code>, and <code>drivers\/<\/code>.<\/li>\n\n\n\n<li>Try modifying the <strong>main loop<\/strong> in <code>samples\/blinky\/<\/code>.<\/li>\n\n\n\n<li>Check out the <a href=\"https:\/\/microsproject.dev\/index.php\/posts\/\" data-type=\"page\" data-id=\"43\">Blog Posts<\/a> for deep dives.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd39 Contribute<\/h2>\n\n\n\n<p>MicrOS is open source and welcomes contributors!<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u2b50 Star the repository on <a href=\"https:\/\/github.com\/microsproject\/micros\">GitHub<\/a>.<\/li>\n\n\n\n<li>Open issues if you hit problems.<\/li>\n\n\n\n<li>Submit PRs \u2014 even small fixes help.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>MicrOS \u2014 simple, open, embedded.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to MicrOS \u2014 simple, open, embedded.This page will help you set up your environment and run MicrOS on its first supported target: LM EVB. \ud83d\udd39 Prerequisites Before building MicrOS, install the following tools: On Ubuntu\/Debian: \ud83d\udd39 Cloning the Repository \ud83d\udd39 Building for LM EVB Create a build directory and compile: This will produce an [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":159,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-98","page","type-page","status-publish","hentry"],"blocksy_meta":{"page_structure_type":"type-1","has_hero_section":"enabled","styles_descriptor":{"styles":{"desktop":"[data-prefix=\"single_page\"] .entry-header .page-title {--theme-font-size:30px;} [data-prefix=\"single_page\"] .entry-header .entry-meta {--theme-font-weight:600;--theme-text-transform:uppercase;--theme-font-size:12px;--theme-line-height:1.3;} [data-prefix=\"single_page\"] .hero-section[data-type=\"type-2\"] {background-color:var(--theme-palette-color-6);background-image:none;--container-padding:50px 0px;}","tablet":"","mobile":""},"google_fonts":{"Atkinson Hyperlegible Mono":["n4","n6"]},"version":6},"hero_section":"type-2","hero_elements":[{"id":"custom_title","enabled":true,"heading_tag":"h1","title":"Home","__id":"5x3xTXKWmOO5qJyNTtA-n"},{"id":"custom_description","enabled":true,"description_visibility":{"desktop":true,"tablet":true,"mobile":false},"__id":"S_f0e5WCmiBFYycKMkhhI"},{"id":"custom_meta","enabled":true,"meta_elements":[{"id":"author","enabled":true,"label":"By","has_author_avatar":"yes","avatar_size":25,"__id":"AoN1f9TpmVrSV6MrLmz15"},{"id":"post_date","enabled":true,"label":"On","date_format_source":"default","date_format":"M j, Y","__id":"EFRx_fH1wGyhVgGCeyNap"},{"id":"updated_date","enabled":false,"label":"On","date_format_source":"default","date_format":"M j, Y","__id":"pZs36EXD87drV1LRm9RYl"},{"id":"comments","enabled":true,"__id":"42x-RRk20OkcrywLuXo3s"},{"id":"estimated_read_time","enabled":true,"__id":"cJw9VyYlxIMeBIhM7LAfN"}],"page_meta_elements":{"joined":true,"articles_count":true,"comments":true},"__id":"mUJ1HWPhYWETP4-0ETUJh"},{"id":"breadcrumbs","enabled":false,"__id":"HwuL2HgccBLc8W6E6xc0i"},{"id":"content-block","enabled":false,"__id":"t1vWkueoLyQM0yXehkZlr"}],"vertical_spacing_source":"custom"},"_links":{"self":[{"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/pages\/98","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/comments?post=98"}],"version-history":[{"count":3,"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/pages\/98\/revisions"}],"predecessor-version":[{"id":101,"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/pages\/98\/revisions\/101"}],"up":[{"embeddable":true,"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/pages\/159"}],"wp:attachment":[{"href":"https:\/\/microsproject.dev\/index.php\/wp-json\/wp\/v2\/media?parent=98"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}