1,新建一个app文件夹,后续的操作我们都在这个文件夹里面进行操作
2,首先我们新建一个makefile文件
PROJECT ?= app
MAKEFLAGS := -j $(shell nproc)
SRC_EXT := c
OBJ_EXT := o
CC = ../../../duo/duo-buildroot-sdk/host-tools/gcc/riscv64-elf-x86_64/bin/riscv64-unknown-elf-gcc
SRC_DIR := ./
WORKING_DIR := ./build
BUILD_DIR := $(WORKING_DIR)/obj
BIN_DIR := $(WORKING_DIR)/bin
WARNINGS := -Wall
CFLAGS := -O0 -g $(WARNINGS)
DEFINES :=
INC :=
LDLIBS :=
BIN := $(BIN_DIR)/app
COMPILE = $(CC) $(CFLAGS) $(INC) $(DEFINES)
SRCS := $(shell find $(SRC_DIR) -type f -name '*.c' -not -path '*/\\.*')
OBJECTS := $(patsubst $(SRC_DIR)%,$(BUILD_DIR)/%,$(SRCS:.$(SRC_EXT)=.$(OBJ_EXT)))
all: default
$(BUILD_DIR)/%.$(OBJ_EXT): $(SRC_DIR)/%.$(SRC_EXT)
[url=home.php?mod=space&uid=70594]@echo[/url] 'Building project file: $<'
[url=home.php?mod=space&uid=2293869]@MKDIR[/url] -p $(dir $@)
@$(COMPILE) -c -o "$@" "$<"
default: $(OBJECTS)
@mkdir -p $(BIN_DIR)
$(CC) -o $(BIN) $(OBJECTS) $(LDFLAGS) ${LDLIBS}
clean:
rm -rf $(WORKING_DIR)
3,然后我们写一个简单的app
#include <stdio.h>
int main()
{
printf("Hello, World! \\n");
return 0;
}
4,然后物品门直接make编译即可,会在build/bin目录下生成一个app文件
5,将这个文件上传到duo上去,这里我使用scp ./build/bin/app root@192.168.42.1:/root/
6,在duo里面直接运行即可
可以看到已经输出了。
唯一需要注意的是我们需要在makefile里面设置好正确的gcc和正确的gcc路径
|