正点原子程序工程移植到gcc编译
1、stm32cubemx 安装 arm-none-eabi-gcc 安装好,arm-none-eabi-gcc 可以看到信息,表示环境变量设置正确不然要在makefile里面设置,如果这两样你设置好了,那我们开始
192:$ arm-none-eabi-gcc --versionarm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 5.4.1 20160919 (release) [ARM/embedded-5-branch revision 240496]Copyright (C) 2015 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
2、我们用cubemx生成一个空工程,只把usart打开,然后我们生成一个工程,这个工程可以正常用make编译的

3、如果cubexmx工程正常我们就可以用来移植了,准备好原子的实验教程例程工程一份 把下面图的打删除的删除USER目录只保留 test.c这个文件

4、我们把刚才生成的cubemx工程四个文件拷过来Makefilesystem_stm32f4xx.c
startup_stm32f407xx.s
STM32F407ZGTx_FLASH.ld
这四个文件拷到原子工程目录里面

5、所有目录如下显示结构现在我要设置下Makefile文件内容

1、用文本编辑器打开Makefile文件 编辑下C_SOURCES 把工程文件下的C文件都添加进去,h文件目录也添加进去


2、然后我们切换到工程目录可以执行make了成功编译后,printf没有输出去窜口不要紧我们添加一段代码 放在main前面,重新编译,然后烧进去,可以看到串口有内容了。 int _write (int fd, char *pBuffer, int size) { int i=0; for (i = 0; i < size; i++) { while (!(USART1->SR & USART_SR_TXE)) { } USART1->DR=pBuffer[i] } return size; }