This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
是否有使用 ti arm clang 的编译链将不带主函数的一系列 C 文件编译为可执行文件的解决方案?
如下图所示、现在系统会报告错误、但没有主函数定义。
makefile 如下所示:
SRC = $(wildcard ../*.c ../interface/*.c) LIB = $(wildcard ../lib/*.a) OBJ = $(notdir $(patsubst %.c, %.o, $(SRC))) CC = tiarmclang LD = tiarmclang OBJDUMP = tiarmobjdump OBJCOPY = tiarmobjcopy ALL:task.hex $(OBJ): $(SRC) @echo $(SRC) @echo $(OBJ) $(CC) -c $(SRC) -mthumb -mcpu=cortex-r5 -mlittle-endian -mfloat-abi=hard -mfpu=vfpv3-d16 -specs=nosys.specs task.out:$(OBJ) $(LD) $(OBJ) $(LIB) -o task.out -l../interface/lnkme.cmd -nostartfiles task.hex:task.out $(OBJDUMP) -D -S task.out >> taskdump.txt $(OBJCOPY) -O binary task.out task.hex clean: del $(OBJ) task.out task.hex task.out taskdump.txt .PHONY:clean ALL
尊敬的 Cheng:
要通过 C 文件构建可执行文件、您将需要一个 main 函数。 您可以在不将主函数放入库的情况下编译一系列 C 文件。
此致、
明
因此、不能在没有 main 的情况下将其编译为可执行文件? 据我所知、gcc 编译链可以做到。
尊敬的 Cheng:
我想问一下、为什么要在没有 main 的情况下生成可执行文件?
此致、
明
因为我们想在 am243芯片平台上构建一个类似于 PLC 功能的系统、所以客户可以编写 PLC 代码、编译成可执行文件。 bin 文件的文件、以及。 bin 文件可由 am243加载并运行。 客户编写的 PLC 程序不需要主要功能。
尊敬的 Cheng:
这更多地是一个编译器问题、而不是一个 MCU+ SDK 问题。 我会将此主题转发给我们的 SDTO 团队、以获得进一步的帮助。
此致、
明
我不熟悉...
因为我们想要构建一个类似 PLC 功能的系统
请给我发送一个介绍此概念的文章的链接。 在我说一下我们的工具是否支持这项工作之前、我需要更好地了解这项工作。
谢谢。此致、
-乔治