i.MX6ULL終結者串口格式化函數例程編譯及運行 - 新聞資(zī)訊 - 雲南小程序開發|雲南軟件開發|雲南網站(zhàn)建設-西山區知普網絡科技工作室

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不管是網站(zhàn),軟件還是小程序,都要直接或間接能為您産生價值,我們在追求其視覺表現的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網站(zhàn)成為營銷工具,讓軟件能切實提升企業(yè)内部管理水平和(hé)效率。優秀的程序為後期升級提供便捷的支持!

您當前位置>首頁 » 新聞資(zī)訊 » 技術(shù)分享 >

i.MX6ULL終結者串口格式化函數例程編譯及運行

發表時間:2020-10-19

發布人:葵宇科技

浏覽次數:40

我們打開Makefile文(wén)件,輸入下(xià)面的内容:

  1 CROSS_COMPILE   ?= arm-linux-gnueabihf-
  2 TARGET ?= printf
  3 
  4 CC := $(CROSS_COMPILE)gcc
  5 LD := $(CROSS_COMPILE)ld
  6 OBJCOPY := $(CROSS_COMPILE)objcopy
  7 OBJDUMP := $(CROSS_COMPILE)objdump
  8 
  9 LIBPATH := -lgcc -L /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/lib/gcc/arm    -linux-gnueabihf/4.9.4
 10 
 11 
 12 INCDIRS := core  13                                    stdio/include  14                                    drivers/clk  15                                    drivers/led  16                                    drivers/delay  17                                    drivers/beep  18                                    drivers/gpio  19                                    drivers/key   20                                    drivers/exit  21                                    drivers/int   22                                    drivers/epittimer     23                                    drivers/keyfilter     24                                    drivers/uart
 25 
 26 SRCDIRS := ./    27                                    stdio/lib  28                                    drivers/clk  29                                    drivers/led  30                                    drivers/delay  31                                    drivers/beep  32                                    drivers/gpio  33                                    drivers/key   34                                    drivers/exit  35                                    drivers/int   36                                    drivers/epittimer     37                                    drivers/keyfilter     38                                    drivers/uart
 39 
 40 
 41 INCLUDE := $(patsubst %, -I %, $(INCDIRS))
 42 
 43 SFILES := $(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.S))
 44 CFILES := $(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.c))
 45 
 46 SFILENDIR := $(notdir  $(SFILES))
 47 CFILENDIR := $(notdir  $(CFILES))
 48 
 49 SOBJS := $(patsubst %, output/%, $(SFILENDIR:.S=.o))
 50 COBJS := $(patsubst %, output/%, $(CFILENDIR:.c=.o))
 51 OBJS := $(SOBJS) $(COBJS)
 52 
 53 VPATH := $(SRCDIRS)
 54 
 55 .PHONY: clean
 56         
 57 $(TARGET).bin : $(OBJS)
 58         $(LD) -Timx6ul.lds -o $(TARGET).elf $^ $(LIBPATH)
 59         $(OBJCOPY) -O binary -S $(TARGET).elf $@
 60 
 61 $(SOBJS) : output/%.o : %.S
 62         $(CC) -Wall -nostdlib -fno-builtin -c -O2  $(INCLUDE) -o $@ $<
 63 
 64 $(COBJS) : output/%.o : %.c
 65         $(CC) -Wall -Wa,-mimplicit-it=thumb -nostdlib -fno-builtin -c -O2  $(INCLUDE) -o $@ $<
 66         
 67 clean:
 68         rm -rf $(TARGET).elf $(TARGET).dis $(TARGET).bin $(COBJS) $(SOBJS)

Makefile文(wén)件我們重要修改下(xià)面幾鋼處所:
第2行的target賦值改成printf。
第13行添加格局化函數庫的頭文(wén)件“stdio/include”到INCDIRS變量。
第27行添加格局化函數庫的.c文(wén)件“stdio/lib”到SRCDIRS變量。
第65行添加-Wa,-mimplicit-it=thumb編譯選項。

鍊接文(wén)件保持不變。

然後我們在終端輸入“make”敕令,開端編譯,編譯完成後生成printf.bin文(wén)件,如(rú)圖 1所示:
在這裡插入圖片描述

圖 1

然後在終端輸入敕令“chmod 777 create_imx”修改create_imx文(wén)件具有可(kě)履行權限,如(rú)圖 2所示:
在這裡插入圖片描述

圖 2

最後在終端運行敕令“./create_imx printf.bin”生成最終的鏡像文(wén)件“bare.imx”,如(rú)圖 3所示:
在這裡插入圖片描述

圖 3

然後我們将生成的bare.imx文(wén)件經由過程SSH軟件拷貝到mfg燒寫對象内對應目次下(xià),這一步可(kě)以參考前面的燒寫章節。将撥碼開關(guān)懷換成燒寫模式,上電燒寫等待燒寫完成,然後将撥碼開關(guān)懷換回啟動(dòng)模式,然後我們打開SecureCRT,按照上一章節的設備,設備完進入SecureCRT的串口模式下(xià),然後開辟闆上電,可(kě)以看到串口打印信息如(rú)圖 4所示:
在這裡插入圖片描述

圖 4

根據提示輸入兩個(gè)整數,中(zhōng)心用空格分開,輸入完成按鍵回車(chē)按鍵,可(kě)以看到SecureCRT的打印信息如(rú)圖 5所示:
在這裡插入圖片描述

圖 5

大年夜上圖可(kě)以看到我們分别輸入了整數21和(hé)23,它們的和(hé)是44。經由過程運行結不雅可(kě)以看到我們的printf和(hé)scanf格局化函數移植成功。在這裡插入圖片描述

相關(guān)案例查看更多