微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > 硬件电路设计讨论 > 用rust写嵌入式code

用rust写嵌入式code

时间:12-13 整理:3721RD 点击:

不同语言对rumtime的要求不一样,往往是语言特性决定的,比如python可能需要runtime支持它的内存对象管理,而C++需要runtime支持它的c++特性,所以编译后的代码尺寸会相差很多。
说实话基于avr的ardiuno能部分的用C++特性已经很不简单了,加上把外设封装成易用的软件接口,已经方便了很多不太精通硬件的软件工程师。
  

我现在感觉,8kB 16kB FLASH基本上只能做简单的任务。一个固件。
bootloader + app,起码要32kB FLASH起,稍微舒服点,也要64kB。
前一阵费了好大劲,将STM32F030的bootloader优化到了8kB,分给bootloader的FLASH
一个字节都没剩下。
以上都是纯C写的代码。

好奇bootloader用的哪个接口? UART吗?

re
只要想用printf加上浮点, 16k肯定不够
再随便来几个数学函数, sin/log之类的, 32k也不够了

我用的xprintf,没有浮点支持。我实现了一个命令解释器,命令稍多,FLASH就不够了

elm-chan那个么?
以前用过挺久, 后来发现用gcc时在makefile里给LDFLAG加上-specs=nano.specs, 效果也差不多, 就还用gcc自带的了. 需要浮点了再加个-u _printf_float就有了.

就是elm-chan的那个。
51 stm8 stm32 都用,挺好用的,代码体积也不大。

这大叔挺勤劳的, 前两天又更新他的fatfs了...

他的fatfs我也用了,挺好用的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top