嵌入式Linux學習歷程 BSP工程管理

2021-10-23 18:30:08 字數 2524 閱讀 9224

bsp工程管理的目的就是為了模組化整理**,同乙個屬性的檔案存放在同乙個目錄裡面。

新建所需的資料夾,將同一屬性的檔案放到相應的資料夾中。

修改clk、led、delay驅動,建立對應的驅動檔案,然後放置到對應的目錄中。

根據編寫的新驅動檔案,修改main.c檔案內容。

設定vscode標頭檔案路徑;先建立.vscode目錄,然後開啟c/c++配置器(ctrl+shift+p 輸入"c/c++:ed"),會在.vscode目錄下生成乙個叫做c_cpp_properties.json的檔案。

若需要新增新檔案,可在這一介面新增檔案路徑"$/ ** / ** "

若需要新增新檔案,可在這一介面分別新增標頭檔案路徑以及c檔案路徑

目標檔案通過修改 target ?= 「檔名」 實習

cross_compile ?= arm-linux-gnueabihf-

target ?= ledc

cc :=

$(cross_compile)

gccld :=

$(cross_compile)

ldobjcopy :=

$(cross_compile)

objcopy

objdump :=

$(cross_compile)

objdump

incudirs := imx6u \

bsp/clk \

bsp/led \

bsp/delay

srcdirs := project \

bsp/clk \

bsp/led \

bsp/delay

include :=

$(patsubst %, -i %, $(incudirs)

)sfiles :=

$(foreach dir, $(srcdirs)

, $(wildcard $(dir)

/*.s))

cfiles :=

$(foreach dir, $(srcdirs)

, $(wildcard $(dir)

/*.c))

sfilendir :=

$(notdir $(sfiles)

)cfilendir :=

$(notdir $(cfiles)

)sobjs :=

$(patsubst %, obj/%, $(sfilendir:.s=.o)

)cobjs :=

$(patsubst %, obj/%, $(cfilendir:.c=.o)

)objs :=

$(sobjs)

$(cobjs)

vpath :=

$(srcdirs)

.phony: clean

$(target)

.bin :

$(objs)

$(ld)

-timx6u.lds -o $(target)

.elf $^

$(objcopy)

-o binary -s $(target)

.elf $@

$(objdump)

-d -m arm $(target)

.elf >

$(target)

.dis

$(sobjs)

: obj/%.o : %.s

$(cc)

-wall -nostdlib -c -o2 $(include)

-o $@ $<

$(cobjs)

: obj/%.o : %.c

$(cc)

-wall -nostdlib -c -o2 $(include)

-o $@ $<

clean:

rm -rf $(target)

.elf $(target)

.dis $(target)

.bin $(objs)

嵌入式Linux學習歷程 Makefile

makefile用來完成以下功能 1 如果工程沒有編譯過,那麼工程中的所有.c檔案都要被編譯並且鏈結成可執行檔案。2 如果工程中只有個別c檔案被修改了,那麼只編譯這些被修改的c檔案。3 如果工程的標頭檔案被修改了,那麼需要編譯所有引用這個標頭檔案的c檔案,並且鏈結成可執行檔案。例 乙個工程 通過鍵盤...

嵌入式Linux系統BSP簡介

華清遠見嵌入式學院 講師。嵌入式系統由硬體環境 嵌入式作業系統和應用程式組成,硬體環境是作業系統和應用程式執行的硬體平台,它隨應用的不同而有不同的要求。硬體平台的多樣性是嵌入式系統的主要特點,如何使嵌入式作業系統在不同的硬體平台上有效地執行,是嵌入式系統開發中需要解決的關鍵問題。解決的方法是在硬體平...

嵌入式Linux系統BSP簡介

嵌入式系統由硬體環境 嵌入式作業系統和應用程式組成,硬體環境是作業系統和應用程式執行的硬體平台,它隨應用的不同而有不同的要求。硬體平台的多樣性是嵌入式系統的主要特點,如何使嵌入式作業系統在不同的硬體平台上有效地執行,是嵌入式系統開發中需要解決的關鍵問題。解決的方法是在硬體平台和作業系統之間提供硬體相...