<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Embedding Rust Language applications on the i.MX RT in i.MX RT Crossover MCUs</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Embedding-Rust-Language-applications-on-the-i-MX-RT/m-p/1291581#M14670</link>
    <description>&lt;P&gt;Applications built with the Rust programming language ( &lt;A href="https://www.rust-lang.org/" target="_blank"&gt;https://www.rust-lang.org/&lt;/A&gt; ) have become very popular lately in the safety industrial ecosystem.&amp;nbsp; The typical way to design a computer system that runs Rust applications is with a MPU running Linux.&amp;nbsp;We think that for our applications, the performance of a higher-end i.MX RT would be more than sufficient. The issue that we see presently is that NXP does not offer a tested solution for enabling Rust applications on the i.MX RT.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can anyone recommend a solution that is KNOWN to work well on a higher-end i.MX RT?&amp;nbsp; And on which RTOS (FreeRTOS, Zephyr, etc?) would the solution work?&lt;/P&gt;&lt;P&gt;I spent some time searching online to see if others have already tried implementing Rust applications on a microcontroller RTOS instead of Linux.&amp;nbsp; The results are below.&amp;nbsp; None of the below solutions appear in my opinion to be fully trustworth, so I would greatly appreciate comments about success or failures using these or other methods&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;imxrt-hal&lt;/P&gt;&lt;P&gt;Rust for NXP i.MX RT&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fimxrt-rs%2Fimxrt-hal&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009595715%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=NJRSeFtHrvLUHzdj1izdhAbzRGfHcVhofSu3bwPIm5w%3D&amp;amp;reserved=0" target="_blank"&gt;https://github.com/imxrt-rs/imxrt-hal&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;svd2rust&lt;/P&gt;&lt;P&gt;Generate Rust register maps (`struct`s) from SVD files&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frust-embedded%2Fsvd2rust&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009605703%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=OaI23ALiJDMiUCdMquww3mmlr6gfK5II9mXKTSpQhkM%3D&amp;amp;reserved=0" target="_blank"&gt;https://github.com/rust-embedded/svd2rust&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fi-MX-RT%2FIs-there-an-SVD-file-for-i-MXRT1050%2Fm-p%2F772462&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009605703%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=GlbHBO9f5%2BV3v0eghRFTT8D7J6b7HOzbXt7NdNq0khg%3D&amp;amp;reserved=0" target="_blank"&gt;https://community.nxp.com/t5/i-MX-RT/Is-there-an-SVD-file-for-i-MXRT1050/m-p/772462&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;freertos-rust&lt;/P&gt;&lt;P&gt;Create to use FreeRTOS in rust projects. The freertos-cargo-build crate can be used to build and link FreeRTOS from source inside build.rs.&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcrates.io%2Fcrates%2Ffreertos-rust&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009615700%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=sgMWypRfqUI3BnW3lWjRkXbA6ya1MNgxSHzC7B2azL8%3D&amp;amp;reserved=0" target="_blank"&gt;https://crates.io/crates/freertos-rust&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Flobaro%2FFreeRTOS-rust&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009615700%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=JhtMPjVMXupxUY9eHGVRFB5vua0zir8knDPKE%2Buhw0c%3D&amp;amp;reserved=0" target="_blank"&gt;https://github.com/lobaro/FreeRTOS-rust&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;freertos.rs&lt;/P&gt;&lt;P&gt;A Rust wrapper for FreeRTOS.&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.hashmismatch.net%2Ffreertos-meets-rust%2F&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009625694%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=ox51p2cTdgt029pHxx4eO7saLjN5XSbm33rzyR7sPHo%3D&amp;amp;reserved=0" target="_blank"&gt;http://www.hashmismatch.net/freertos-meets-rust/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhashmismatch%2Ffreertos.rs&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009635690%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=dIiC1GYT7013TBhGIfgaXSB6E9SYgA78KKiAGg52pCc%3D&amp;amp;reserved=0" target="_blank"&gt;https://github.com/hashmismatch/freertos.rs&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;zephyr-rust&lt;/P&gt;&lt;P&gt;Rust on Zephyr RTOS&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftylerwhall%2Fzephyr-rust&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009635690%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=QjPz9jCa7VMzhZevX5YQmabMCdd5%2F8qWs2ASSiLHaE8%3D&amp;amp;reserved=0" target="_blank"&gt;https://github.com/tylerwhall/zephyr-rust&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;cbindgen&lt;/P&gt;&lt;P&gt;Embedding Rust Into Zephyr Firmware Using C-bindgen&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.jaredwolff.com%2Fembedding-rust-into-zephyr-using-cbindgen%2F&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009645683%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=d%2B96VVl2uz11C5r6QEWzGVwUrcogVU59SG5UV2ts75E%3D&amp;amp;reserved=0" target="_blank"&gt;https://www.jaredwolff.com/embedding-rust-into-zephyr-using-cbindgen/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;A project for generating C bindings from Rust code&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feqrion%2Fcbindgen&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009645683%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=6NQ9BHxOHyfAr0RLdxVJdcNObBqXNqcl78uzAgRxNLc%3D&amp;amp;reserved=0" target="_blank"&gt;https://github.com/eqrion/cbindgen&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 11 Jun 2021 23:53:34 GMT</pubDate>
    <dc:creator>fweller</dc:creator>
    <dc:date>2021-06-11T23:53:34Z</dc:date>
    <item>
      <title>Embedding Rust Language applications on the i.MX RT</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Embedding-Rust-Language-applications-on-the-i-MX-RT/m-p/1291581#M14670</link>
      <description>&lt;P&gt;Applications built with the Rust programming language ( &lt;A href="https://www.rust-lang.org/" target="_blank"&gt;https://www.rust-lang.org/&lt;/A&gt; ) have become very popular lately in the safety industrial ecosystem.&amp;nbsp; The typical way to design a computer system that runs Rust applications is with a MPU running Linux.&amp;nbsp;We think that for our applications, the performance of a higher-end i.MX RT would be more than sufficient. The issue that we see presently is that NXP does not offer a tested solution for enabling Rust applications on the i.MX RT.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can anyone recommend a solution that is KNOWN to work well on a higher-end i.MX RT?&amp;nbsp; And on which RTOS (FreeRTOS, Zephyr, etc?) would the solution work?&lt;/P&gt;&lt;P&gt;I spent some time searching online to see if others have already tried implementing Rust applications on a microcontroller RTOS instead of Linux.&amp;nbsp; The results are below.&amp;nbsp; None of the below solutions appear in my opinion to be fully trustworth, so I would greatly appreciate comments about success or failures using these or other methods&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;imxrt-hal&lt;/P&gt;&lt;P&gt;Rust for NXP i.MX RT&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fimxrt-rs%2Fimxrt-hal&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009595715%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=NJRSeFtHrvLUHzdj1izdhAbzRGfHcVhofSu3bwPIm5w%3D&amp;amp;reserved=0" target="_blank"&gt;https://github.com/imxrt-rs/imxrt-hal&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;svd2rust&lt;/P&gt;&lt;P&gt;Generate Rust register maps (`struct`s) from SVD files&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frust-embedded%2Fsvd2rust&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009605703%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=OaI23ALiJDMiUCdMquww3mmlr6gfK5II9mXKTSpQhkM%3D&amp;amp;reserved=0" target="_blank"&gt;https://github.com/rust-embedded/svd2rust&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fi-MX-RT%2FIs-there-an-SVD-file-for-i-MXRT1050%2Fm-p%2F772462&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009605703%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=GlbHBO9f5%2BV3v0eghRFTT8D7J6b7HOzbXt7NdNq0khg%3D&amp;amp;reserved=0" target="_blank"&gt;https://community.nxp.com/t5/i-MX-RT/Is-there-an-SVD-file-for-i-MXRT1050/m-p/772462&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;freertos-rust&lt;/P&gt;&lt;P&gt;Create to use FreeRTOS in rust projects. The freertos-cargo-build crate can be used to build and link FreeRTOS from source inside build.rs.&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcrates.io%2Fcrates%2Ffreertos-rust&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009615700%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=sgMWypRfqUI3BnW3lWjRkXbA6ya1MNgxSHzC7B2azL8%3D&amp;amp;reserved=0" target="_blank"&gt;https://crates.io/crates/freertos-rust&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Flobaro%2FFreeRTOS-rust&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009615700%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=JhtMPjVMXupxUY9eHGVRFB5vua0zir8knDPKE%2Buhw0c%3D&amp;amp;reserved=0" target="_blank"&gt;https://github.com/lobaro/FreeRTOS-rust&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;freertos.rs&lt;/P&gt;&lt;P&gt;A Rust wrapper for FreeRTOS.&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.hashmismatch.net%2Ffreertos-meets-rust%2F&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009625694%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=ox51p2cTdgt029pHxx4eO7saLjN5XSbm33rzyR7sPHo%3D&amp;amp;reserved=0" target="_blank"&gt;http://www.hashmismatch.net/freertos-meets-rust/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhashmismatch%2Ffreertos.rs&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009635690%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=dIiC1GYT7013TBhGIfgaXSB6E9SYgA78KKiAGg52pCc%3D&amp;amp;reserved=0" target="_blank"&gt;https://github.com/hashmismatch/freertos.rs&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;zephyr-rust&lt;/P&gt;&lt;P&gt;Rust on Zephyr RTOS&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftylerwhall%2Fzephyr-rust&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009635690%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=QjPz9jCa7VMzhZevX5YQmabMCdd5%2F8qWs2ASSiLHaE8%3D&amp;amp;reserved=0" target="_blank"&gt;https://github.com/tylerwhall/zephyr-rust&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;cbindgen&lt;/P&gt;&lt;P&gt;Embedding Rust Into Zephyr Firmware Using C-bindgen&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.jaredwolff.com%2Fembedding-rust-into-zephyr-using-cbindgen%2F&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009645683%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=d%2B96VVl2uz11C5r6QEWzGVwUrcogVU59SG5UV2ts75E%3D&amp;amp;reserved=0" target="_blank"&gt;https://www.jaredwolff.com/embedding-rust-into-zephyr-using-cbindgen/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;A project for generating C bindings from Rust code&lt;/P&gt;&lt;P&gt;&lt;A href="https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feqrion%2Fcbindgen&amp;amp;data=04%7C01%7Crod.ghavami%40nxp.com%7C89d3396559504bd7d5b408d92cf320d1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637590245009645683%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;amp;sdata=6NQ9BHxOHyfAr0RLdxVJdcNObBqXNqcl78uzAgRxNLc%3D&amp;amp;reserved=0" target="_blank"&gt;https://github.com/eqrion/cbindgen&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Jun 2021 23:53:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Embedding-Rust-Language-applications-on-the-i-MX-RT/m-p/1291581#M14670</guid>
      <dc:creator>fweller</dc:creator>
      <dc:date>2021-06-11T23:53:34Z</dc:date>
    </item>
    <item>
      <title>Re: Embedding Rust Language applications on the i.MX RT</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Embedding-Rust-Language-applications-on-the-i-MX-RT/m-p/1381425#M17400</link>
      <description>&lt;P&gt;There are a number of other resources that can be found on Rust documentation site.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://docs.rs/releases/search?query=nxp" target="_self"&gt;NXP device HALs, utilities, and peripheral access APIs&lt;/A&gt; - a variety of LPC, Kinetis, and i.MX RT devices are supported, although some projects are more active than others. There are some &lt;A href="https://github.com/braun-embedded/lpc845-example" target="_self"&gt;examples&lt;/A&gt; as well littered throughout the interwebs.&lt;/P&gt;
&lt;P&gt;The most active projects with working examples currently (Dec. '21) appear to be &lt;A href="https://github.com/lpc-rs/lpc8xx-hal" target="_self"&gt;lpc8xx-hal&lt;/A&gt; and &lt;A href="https://github.com/imxrt-rs/imxrt-hal" target="_self"&gt;imxrt-rs&lt;/A&gt; repos, the latter of which was created with teensy heavily in mind.&lt;/P&gt;
&lt;P&gt;All of these are implementations of &lt;A href="https://docs.rs/embedded-hal/latest/embedded_hal/" target="_self"&gt;embedded-hal&lt;/A&gt;, so one could take a more platform agnostic approach and use other implemtations listed as a reference guide.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;All that being said - is there a particular reason you are looking at Rust beyond it's popularity for address safety in industrial systems? &lt;A href="https://www.nxp.com/design/software/embedded-software/azure-rtos-for-nxp-microcontrollers:AZURE-RTOS" target="_self"&gt;Azure RTOS&lt;/A&gt; (formerly ThreadX) and &lt;A href="https://www.nxp.com/design/software/embedded-software/zephyr-os-for-edge-connected-devices:ZEPHYR-OS-EDGE" target="_self"&gt;Zephyr&lt;/A&gt; both attempt to tackle those issues, and NXP officially supports those platforms for the higher end systems you are looking at.&lt;/P&gt;
&lt;P&gt;Given NXP's continued (and extensive) support of &lt;A href="https://www.nxp.com/webapp/connect/displayPartnerProfile.sp?partnerId=1-8RW1-16&amp;amp;tid=vanFREERTOS" target="_self"&gt;FreeRTOS&lt;/A&gt; and strong investment in &lt;A href="https://www.nxp.com/design/software/embedded-software/zephyr-os-for-edge-connected-devices:ZEPHYR-OS-EDGE" target="_self"&gt;Zephyr&lt;/A&gt; as a founding member - I would think solutions built on these might prove most fruitful for the time being if you are set on Rust.&lt;/P&gt;</description>
      <pubDate>Mon, 06 Dec 2021 15:27:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Embedding-Rust-Language-applications-on-the-i-MX-RT/m-p/1381425#M17400</guid>
      <dc:creator>robSanders</dc:creator>
      <dc:date>2021-12-06T15:27:47Z</dc:date>
    </item>
    <item>
      <title>Re: Embedding Rust Language applications on the i.MX RT</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Embedding-Rust-Language-applications-on-the-i-MX-RT/m-p/1406878#M18168</link>
      <description>&lt;P&gt;Great question. I would love to hear more on this topic. I think imxrt-rs looks interesting but I dont think anyone is interested in using Rust for toggling GPIO pins or just doing plain UART communcation. What is interesting is to use Rust for application-level code not for low-level peripheral interfacing. I would love to see an easy way to combine Rust with SDK, FreeRTOS and lwIP (which are all written in C). It would be very useful if we could experiment with adding bits and pieces of Rust into our application, whilst keeping "int main()" in C.&lt;BR /&gt;&lt;BR /&gt;I think your question, Rob, about ThreadX and Zephyr as alternatives to Rust are missing the point. Rust is a programming langauge not a RTOS. Using Zephyr wont save you from an out-of-bands array access, Rust will.&lt;/P&gt;</description>
      <pubDate>Sun, 30 Jan 2022 12:12:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/Embedding-Rust-Language-applications-on-the-i-MX-RT/m-p/1406878#M18168</guid>
      <dc:creator>erling</dc:creator>
      <dc:date>2022-01-30T12:12:22Z</dc:date>
    </item>
  </channel>
</rss>

