1樓:Joey田
這個問題我自己來回答下吧,我要做的是脫離Keil這個IDE,做一些自動化編譯方面的東西,所以我做了一些嘗試,通過Makefile,以及Keil下的工具庫,是可以完成我想做的事情的,下面貼乙個簡單工程的Makefile供需要的人參考:
KEIL_PATH = C:/Keil_v5/ARM
ARMCC = $(KEIL_PATH)/ARMCC/bin/armcc
ARMASM = $(KEIL_PATH)/ARMCC/bin/armasm
ARMAR = $(KEIL_PATH)/ARMCC/bin/armar
ARMLINK = $(KEIL_PATH)/ARMCC/bin/armlink
FROMELF = $(KEIL_PATH)/ARMCC/bin/fromelf
# 編譯選項
CFLAGS := -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork
CMACRO := -DSTM32F10X_HD
ASMFLAGS := --cpu Cortex-M3 -g --apcs=interwork --pd "__MICROLIB SETA 1"
LINKFLAGS := --cpu Cortex-M3 --library_type=microlib --strict
MAP := --autoat --summary_stderr --info summarysizes --map --xref --callgraph --symbols
INFO := --info sizes --info totals --info unused --info veneers
#--cpu Cortex-M3 *.o --library_type=microlib --strict --scatter "TEST.sct"
#--autoat --summary_stderr --info summarysizes --map --xref --callgraph --symbols
#--info sizes --info totals --info unused --info veneers
#--list "./TEST.map"
#-o "TEST.axf"
TARGET = ./Obj/Blinky
OBJMAP := ./output/*.map
OBJHTM := ./output/*.htm
OBJAXF := ./output/*.axf
OBJS = ./startup_stm32f10x_md.o \
./system_stm32f10x.o \
./Blinky.o
#INC += -I./system/delay
#INC += -I./system/sys
#INC += -I./system/usart
#INC += -I./hardware/key
INC += -I$(KEIL_PATH)/CMSIS/Include
INC += -I$(KEIL_PATH)/INC/ST/STM32F10x
INC += -I$(KEIL_PATH)/RV31/INC
%.o:%.c
$(ARMCC) $(CFLAGS) $(INC) $(CMACRO) $< -o $@
%.o:%.s
$(ARMASM) $(ASMFLAGS) $(INC) $(CMACRO) $< -o $@
arm7:$(OBJS)
# $(ARMLINK) $(LINKFLAGS) --libpath "$(KEIL_PATH)/RV31/LIB" --scatter ./Obj/main.sct $(MAP) $(INFO) --list $(TARGET).
map $^ -o $(TARGET).axf
$(ARMLINK) $(LINKFLAGS) --libpath "$(KEIL_PATH)/RV31/LIB" --libpath "$(KEIL_PATH)/ARMCC/lib" --scatter ./Obj/Blinky.sct $(MAP) $(INFO) --list $(TARGET).
map $^ -o $(TARGET).axf
$(FROMELF) --bin -o $(TARGET).bin $(TARGET).axf
$(FROMELF) --i32 -o $(TARGET).hex $(TARGET).axf
del $(OBJHTM) $(OBJAXF) $(OBJS)
# 若只是生成LIB庫,只需要以下一條命令就可以了
.PHONY : clean
clean:
del $(OBJS) *.map *.htm
2樓:
keil不太清楚,不怎麼用
iar可以通過命令列呼叫的
我猜,你在用其他編輯器,然後打算生成微控制器檔案對吧,先看下你的編輯器有沒有外掛程式能用,vscode有iar和debug的外掛程式
或者你也可以直接用gcc-arm啊,配個makefile豈不是美滋滋
如何跨平台使用自動化測試?
YufunHe 前些年給公司寫了乙個針對UI自動化的工具 Windows上是C 基於Windows Automation API和mouse event,然後用python封裝 Mac上直接python呼叫Accessibility API和Mac的mouse event Web相關的話,用pyth...
自動化測試的成本高效果差,那麼自動化測試的意義在哪呢?
runningX 自動化測試成本高,那是跟不測試,或者隨便測一下相比。自動化測試效果差,那是跟堆積大量人力物力,自動化 不自動化 加各種其他測試全開的效果相比。可以上自動化測試時,只有不幹活,不懂技術的小頭目才排斥自動化測試。指揮很多人剛苦力還是很爽的 別人幹苦力,自己不需要幹真的是爽 隨便還可以罵...
TCP UDP協議的自動化測試工具,使用場景 市場如何?
城下秋草 先看看有沒有需求,再看市場有沒有同類。你這個比別人優勢在哪?如果你能用純軟方式替代那些硬體測試儀,或許還有點市場。但用得上這些儀器的公司,能不能相信你的產品是個大問題 一哥 現在的測試工具以LR和JM為主,測試行業還是在網際網路裡面最少有45 以上的市場,在金融電商現在佔大頭,但是現在手工...