3
我从来没有编写过微控制器。我一直在玩Arduino,并且发现编程语言只是C语言,其中包含由IDE动态生成的样板代码。所以:在没有操作系统的Arduino /微控制器上的C/C++和Linux/Windows上的C上,我不能做什么?任何只使用标准库的程序是否应该工作?还是有专门的功能,如malloc/free和setjmp/longjmp的限制?C对没有操作系统的微控制器有什么限制?
我问,因为我想编译和使用像openssl或crypto ++和Arduino Due(使用32位ARM处理器)的加密库。
一些有用的信息,尽管通常可以避免动态内存的嵌入式平台(的malloc /免费)上,因为你的目标是避免运行时错误。 –
@MartinBeckett - 是的!而且既然你“拥有”了内存,你不必分享,而且内存是宝贵的,你通常想要嫉妒它,而且你可以硬编码大部分分配。但这并不意味着它无法完成。 “没有限制”与“这是一个好主意”不一样...... – Floris
我必须检查,我很惊讶AVR有一个malloc,它是哈佛架构(IIRC),没有mmu –