网上有free的ide可以开发arm cortex的芯片,可以参考List of ARM Cortex-M development tools,Wikipedia,里面有emIDE,embitz等,虽然更新已经是几年前的事情了,但是可以了解到diy的精神,不至于局限在keil IAR等商业软件。
21ic的Lbsonggz博主的文章所讲,可以深入到cpu的内部,因此触发我去学习gcc和make等,而且linux如今依然很火爆,所以保持学习的态度很好。
同时st公司买了TrueSTUDIO - Atollic - ST开发平台,sw4stm32针对stm32也是免费开发的。这两个还可以和stm的stmcubemx结合进行开发。当然软件大小是比较大的。
还有segger公司的SEGGER Embedded Studio for ARM 4.12开发nordic是免费的,可见各个芯片公司为了推广自己的芯片也是不遗余力的。以上所说的免费是完全免费,不分个人与商用。
好消息是keil对于L0、F0、G0三个系列的mcu是免费许可的。
MDK for STM32F0/G0/L0
In cooperation with STMicroelectronics, Arm offers a full-featured Keil MDK edition for STM32F0, STM32G0, and STM32L0 devices that is free of charge for end users.
IAR开发也有针对ARM的32K代码的限制kickstart版本。
keil的评估板说明:
Limitations
Keil development development tools without a current product license run as a Lite/Evaluation edition and have the following restrictions:
MDK-ARM Lite Edition
Programs that generate more than 32 Kbytes of code and data will not compile, assemble, or link.
The debugger supports programs that are 32 Kbytes or smaller.
The compiler does not generate a disassembly listing of the machine code generated. The -S, --asm, and --interleave compiler command-line options are disabled. Projects will not compile with Target -> Listing -> C Compiler Listing enabled.
The compiler and assembler do not generate position-independent code or data. The --apcs /ropi /rwpi /pic/ pid compiler and assembler command line options are disabled.
The assembler and linker create Symbolic Output Format objects which cannot be linked with third-party linker utilities. Fully licensed tools generate standard ELF/DWARF files which may be used with third-party utilities.
C51 Evaluation Tools
The 8051 compiler, assembler, linker, and debugger are limited to 2 Kbytes of object code. Source code may be of any size.
Programs that generate more than 2 Kbytes of object code will not compile, assemble, or link.
The debugger supports programs that are 2 Kbytes or smaller.
The startup code generated includes LJMPs. Code generated cannot be used in single-chip devices that support 2 Kbytes or less of program space.
Programs start at offset 0x0800. Programs generated with the evaluation software may not be programmed into single-chip devices with less than 2 Kbytes of on-chip ROM.
No hardware support for multiple DPTR registers is provided.
No support for floating-point arithmetic and no support for user libraries is provided.
No support for in-line assembly using #pragma ASM.
The following components which are present in the PK51 Full Version are not included in the Evaluation Version: Linker for Code Banking and RTX51 Tiny Real-time Operating System.
C251 Evaluation Tools
The 251 compiler, assembler, linker, and debugger are limited to 2 Kbytes of object code. Source code may be of any size.
Programs that generate more than 2 Kbytes of object code will not compile, assemble, or link.
The debugger supports programs that are 2 Kbytes or smaller.
C166 Evaluation Tools
The C166 compiler, assembler, and linker are limited to 4 Kbytes of object code. Source code may be of any size.
Programs that generate more than 4 Kbytes of object code will not compile, assemble, or link.
The debugger supports programs that are 8 Kbytes or smaller.
iar for arm的开发限制如下:
所以,学会开源的IDE开发工具是多么重要啊。