用C++做单片机开发已经有很长的时间了,最近开始探索使用Rust开发单片机,我不想使用纯Rust的方式 因为一些库(rtos lvgl usblwip等)没有合适的Rust代替品,而且我也不能绑定在stm32上 其他国产的单片机只要是ARM或者RISC-V内核也都要能使用。(51没办法了 即便是C语言 也是使用C51而不是标准C 总不能搞个Rust51吧)...
基于rust的stm32f1-hal样例解析3(Led工程、官方gpio、官方串口的代码解析) 3558 2 2:41 App stm32植物大战僵尸 321 -- 6:53 App 嵌入式qt5的快速入门与自学说明2(快速入门——从c语言到c++) 639 -- 20:07 App 装逼? 装逼让你飞起来! 1821 -- 0:40 App 32单片机到底要学标准库还是hal库 3087 ...
我们要告诉编译器,编译哪个c代码文件,包括头文件,目标代码的类型,编译目标的子目录等信息,rust才能正确编译c代码,且与rust编写的代码进行链接生成单片机得到目标代码。 首先,引入cc这个rust库,在cargo.toml中加入 [build-dependencies] cc = "1.0" 然后,在工程目录下创建build.rs //build.rs use cc::Build; fn ...
首先是两个声明和,这两句话说明我们的rust程序没有默认的main函数,也不使用std库。Rust中默认的main函数是std标准库中的函数,由于我们的target是嵌入式MCU,因此我们默认不使用std标准库,默认的main函数也不用了。 下面一行表示我们使用包提供的错误处理。 上面说我们没有使用的标准库的main函数,那我们的程序入口在哪...
本文为使用 rust 开发 STM32 系列教程前言。Why RustRust 特性就不用多介绍了,有个编译器管着有时候比用C到处浪把自己整没了好。ST官方逐渐停止对C固件库的更新,使用MX感觉没自己写舒服。毕竟它也就生成个初始化代码,虽然看起来挺快,但是实际上自定义snippets可以比它快得多。可能对于不熟悉当前开发板的用户来...
861 -- 15:29 App Rust开发STM32 串口接收数据 478 -- 1:11:43 App 【一天肯定学会】嵌入式开发基础 9099 15 14:08 App STM32底层原理基础 2776 1 9:14 App 手把手带你入门FreeRTOS(一):十分钟讲透什么是RTOS,为什么要使用RTOS?——RTOS简介 441 -- 1:13:44 App 一看就懂,手把手教学,STM32...
Drone API提供了一套完整的寄存器访问机制,简化了嵌入式开发中的寄存器操作。总之,通过内存映射寄存器,STM32F4单片机提供了灵活且高效的方法来实现关键功能的配置与控制。借助Rust语言与Drone库,开发人员能够以安全、高效的方式访问这些寄存器,简化了开发流程,提高了代码的可读性与可维护性。
1. 安装rust curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 2.添加stm32需要的工具链 rustup target add thumbv6m-none-eabi thumbv7m-none-ea
$rustup target add thumbv6m-none-eabi thumbv7m-none-eabi thumbv7em-none-eabi thumbv7em-none-eabihf Instantiate the template. Run and enter project name $cargo generate --git https://github.com/burrbull/stm32-template/Project Name: app ...
「示例」使用静态链接的Rust可执行程序 #Linux#StaticallyLinked 运行于Linux内核之上 Read More Contrie: 无锁并发映射和集合库 #concurrent #map #set #lockfree 新库,刚发布0.1。 Read More 「教程」使用actix-web 1.0实现认证微服务系统 #actix_web