linux编译stm32程序吗,linux搭建stm32开发环境

#This file is included in the general Makefile, the libs Makefile and the src Makefile

#Different optimize settings for library and source files can be realized by using arguments

#Compiler optimize settings:

# -O0 no optimize, reduce compilation time and make debugging produce the expected results (default).

# -O1 optimize, reduce code size and execution time, without much increase of compilation time.

# -O2 optimize, reduce code execution time compared to ‘O1’, increase of compilation time.

# -O3 optimize, turns on all optimizations, further increase of compilation time.

# -Os optimize for size, enables all ‘-O2’ optimizations that do not typically increase code size and other code size optimizations.

#Recommended optimize settings for release version: -O3

#Recommended optimize settings for debug version: -O0

#Valid parameters :

# OptLIB=0 --> optimize library files using the -O0 setting

# OptLIB=1 --> optimize library files using the -O1 setting

# OptLIB=2 --> optimize library files using the -O2 setting

# OptLIB=3 --> optimize library files using the -O3 setting

# OptLIB=s --> optimize library files using the -Os setting

# OptSRC=0 --> optimize source files using the -O0 setting

# OptSRC=1 --> optimize source files using the -O1 setting

# OptSRC=2 --> optimize source files using the -O2 setting

# OptSRC=3 --> optimize source files using the -O3 setting

# OptSRC=s --> optimize source files using the -Os setting

TOP=$(shell readlink -f "$(dir $(lastword $(MAKEFILE_LIST)))")

PROGRAM=main

LIBDIR=$(TOP)/libs

#Adust the following line to the library in use

STMLIB=$(LIBDIR)/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries

#Adjust TypeOfMCU in use, see CMSIS file "stm32f10x.h"

#STM32F103RBT (128KB FLASH, 20KB RAM) --> STM32F10X_MD

#TypeOfMCU=STM32F10X_MD

#STM32F103RET (512KB FLASH, 64KB RAM) --> STM32F10X_HD

#STM32F103ZET (512KB FLASH, 64KB RAM) --> STM32F10X_HD

TypeOfMCU=STM32F10X_HD

#============================================================================#

TC=arm-none-eabi

CC=$(TC)-gcc

LD=$(TC)-ld -v

OBJCOPY=$(TC)-objcopy

AR=$(TC)-ar

GDB=$(TC)-gdb

INCLUDE=-I$(TOP)/inc

INCLUDE+=-I$(STMLIB)/CMSIS/CM3/CoreSupport

INCLUDE+=-I$(STMLIB)/CMSIS/CM3/DeviceSupport/ST/STM32F10x

INCLUDE+=-I$(STMLIB)/STM32F10x_StdPeriph_Driver/inc

COMMONFLAGS=-g -mcpu=cortex-m3 -mthumb

COMMONFLAGSlib=$(COMMONFLAGS)

#Commands for general Makefile and src Makefile

ifeq ($(OptSRC),0)

COMMONFLAGS+=-O0

InfoTextSrc=src (no optimize, -O0)

else ifeq ($(OptSRC),1)

COMMONFLAGS+=-O1

InfoTextSrc=src (optimize time+ size+, -O1)

else ifeq ($(OptSRC),2)

COMMONFLAGS+=-O2

InfoTextSrc=src (optimize time++ size+, -O2)

else ifeq ($(OptSRC),s)

COMMONFLAGS+=-Os

InfoTextSrc=src (optimize size++, -Os)

else

COMMONFLAGS+=-O3

InfoTextSrc=src (full optimize, -O3)

endif

CFLAGS+=$(COMMONFLAGS) -Wall -Werror $(INCLUDE)

CFLAGS+=-D $(TypeOfMCU)

CFLAGS+=-D VECT_TAB_FLASH

#Commands for libs Makefile

ifeq ($(OptLIB),0)

COMMONFLAGSlib+=-O0

InfoTextLib=libs (no optimize, -O0)

else ifeq ($(OptLIB),1)

COMMONFLAGSlib+=-O1

InfoTextLib=libs (optimize time+ size+, -O1)

else ifeq ($(OptLIB),2)

COMMONFLAGSlib+=-O2

InfoTextLib=libs (optimize time++ size+, -O2)

else ifeq ($(OptLIB),s)

COMMONFLAGSlib+=-Os

InfoTextLib=libs (optimize size++, -Os)

else

COMMONFLAGSlib+=-O3

InfoTextLib=libs (full optimize, -O3)

endif

CFLAGSlib+=$(COMMONFLAGSlib) -Wall -Werror $(INCLUDE)

CFLAGSlib+=-D $(TypeOfMCU)

CFLAGSlib+=-D VECT_TAB_FLASH

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值