NXP

LPC8XX GCC Arduino

2019-07-12 11:17发布

从LPC2000/LPC1300/LPC1100到LPC800/LPC54000,NXP的MCU产品虽然还行,但是市占率一直在收缩。

拥抱开源

总体来说,NXP对于开源的支持不是很有力。NXP很久之前收购的Code-Red LPCXpresso,其实就是arm-none-eabi-gcc的变种,但是NXP一直没有支持ARM维护的arm-none-eabi-gcc。好在由于ARM的原因,可以透过ARM mbed online compiler把工程导出到arm-none-eabi-gcc。 除了ARM mbed,Arduino也通过同一编译器支持STM32,但是NXP没有加入Arduino的阵营。好在可以通过ARM mbed/Jeelabs/其他开源代码库,如LPC8XX_CodeBase来整合LPC MCU和Arduino。

应用场景

使用GCC编译可能会逐渐替代Keil等商用编译器。因为是命令行模式,所以可以通过高层调度脚本,利用在线编译服务或本地编译实现代码的动态编译、下载、重启。尤其是IoT/机器人领域。

路线图

  1. 复用LPC8XX_CodeBase工程,通过Makefile和arm-none-eabi-gcc编译工程。
  2. 通过lpcisp和lpc800_flushmagic来使用串口bootloader下载固件。
  3. 将所有的零件整合到Arduino IDE Board Manager。

资源