使用Linux和Makefiles而不是使用基于Windows的IDE在STM32上设置RTOS应用程序的步骤是什么?

使用Linux和Makefiles而不是使用基于Windows的IDE在STM32上设置RTOS应用程序的步骤是什么?,makefile,arm,embedded-linux,stm32,rtos,Makefile,Arm,Embedded Linux,Stm32,Rtos,我正在使用STM32F4发现板开发车载加速计的简单应用程序,同时点亮安装在加速计设备周围的各个LED。我想使用任何RTO,但我无法决定使用哪一个,因为我是新使用RTO的 如果有人能详细说明使用Linux和一些Makefiles启动此项目的步骤,我们将不胜感激。以下是使用Linux和Makefiles启动项目的步骤: 步骤1:获取工具链 在Ubuntu上: apt-get install gcc-arm-none-eabi 或在: 步骤2:获取所需的资源 步骤2.1:标准库 你可以选择 或者,您

我正在使用STM32F4发现板开发车载加速计的简单应用程序,同时点亮安装在加速计设备周围的各个LED。我想使用任何RTO,但我无法决定使用哪一个,因为我是新使用RTO的


如果有人能详细说明使用Linux和一些Makefiles启动此项目的步骤,我们将不胜感激。

以下是使用Linux和Makefiles启动项目的步骤:

步骤1:获取工具链 在Ubuntu上:

apt-get install gcc-arm-none-eabi
或在:

步骤2:获取所需的资源 步骤2.1:标准库 你可以选择

或者,您也可以使用其他库,如

步骤2.2:实时操作系统 最常见的是使用

步骤3:创建Makefile 就这样做吧:

CROSS_COMPILE=arm-none-eabi-

SRC := myapp.c
SRC += <the needed library files>
SRC += <the needed freertos files>

myapp.elf: myapp.bin
        $(CROSS_COMPILE)objcopy -Obinary $@ $<

myapp.bin: $(SRC:%.c=%.o)
        $(CROSS_COMPILE)gcc -mthumb -nostartfiles -Wl,--gc-sections $^ -o $@

%.o: %.c
        $(CROSS_COMPILE)gcc -mthumb -ffunction-sections -fdata-sections -fno-common -Os -c $< -o $@
第五步:闪光 您必须使用STM32F4的模式

使用
apt get Install dfu util
在Ubuntu上安装该工具,然后您可以通过以下方式刷新
elf
文件:

sudo dfu-util -a 0 -s 0x08000000 -D myapp.elf

以下是使用Linux和Makefiles启动项目的步骤:

步骤1:获取工具链 在Ubuntu上:

apt-get install gcc-arm-none-eabi
或在:

步骤2:获取所需的资源 步骤2.1:标准库 你可以选择

或者,您也可以使用其他库,如

步骤2.2:实时操作系统 最常见的是使用

步骤3:创建Makefile 就这样做吧:

CROSS_COMPILE=arm-none-eabi-

SRC := myapp.c
SRC += <the needed library files>
SRC += <the needed freertos files>

myapp.elf: myapp.bin
        $(CROSS_COMPILE)objcopy -Obinary $@ $<

myapp.bin: $(SRC:%.c=%.o)
        $(CROSS_COMPILE)gcc -mthumb -nostartfiles -Wl,--gc-sections $^ -o $@

%.o: %.c
        $(CROSS_COMPILE)gcc -mthumb -ffunction-sections -fdata-sections -fno-common -Os -c $< -o $@
第五步:闪光 您必须使用STM32F4的模式

使用
apt get Install dfu util
在Ubuntu上安装该工具,然后您可以通过以下方式刷新
elf
文件:

sudo dfu-util -a 0 -s 0x08000000 -D myapp.elf

以下是使用Linux和Makefiles启动项目的步骤:

步骤1:获取工具链 在Ubuntu上:

apt-get install gcc-arm-none-eabi
或在:

步骤2:获取所需的资源 步骤2.1:标准库 你可以选择

或者,您也可以使用其他库,如

步骤2.2:实时操作系统 最常见的是使用

步骤3:创建Makefile 就这样做吧:

CROSS_COMPILE=arm-none-eabi-

SRC := myapp.c
SRC += <the needed library files>
SRC += <the needed freertos files>

myapp.elf: myapp.bin
        $(CROSS_COMPILE)objcopy -Obinary $@ $<

myapp.bin: $(SRC:%.c=%.o)
        $(CROSS_COMPILE)gcc -mthumb -nostartfiles -Wl,--gc-sections $^ -o $@

%.o: %.c
        $(CROSS_COMPILE)gcc -mthumb -ffunction-sections -fdata-sections -fno-common -Os -c $< -o $@
第五步:闪光 您必须使用STM32F4的模式

使用
apt get Install dfu util
在Ubuntu上安装该工具,然后您可以通过以下方式刷新
elf
文件:

sudo dfu-util -a 0 -s 0x08000000 -D myapp.elf

以下是使用Linux和Makefiles启动项目的步骤:

步骤1:获取工具链 在Ubuntu上:

apt-get install gcc-arm-none-eabi
或在:

步骤2:获取所需的资源 步骤2.1:标准库 你可以选择

或者,您也可以使用其他库,如

步骤2.2:实时操作系统 最常见的是使用

步骤3:创建Makefile 就这样做吧:

CROSS_COMPILE=arm-none-eabi-

SRC := myapp.c
SRC += <the needed library files>
SRC += <the needed freertos files>

myapp.elf: myapp.bin
        $(CROSS_COMPILE)objcopy -Obinary $@ $<

myapp.bin: $(SRC:%.c=%.o)
        $(CROSS_COMPILE)gcc -mthumb -nostartfiles -Wl,--gc-sections $^ -o $@

%.o: %.c
        $(CROSS_COMPILE)gcc -mthumb -ffunction-sections -fdata-sections -fno-common -Os -c $< -o $@
第五步:闪光 您必须使用STM32F4的模式

使用
apt get Install dfu util
在Ubuntu上安装该工具,然后您可以通过以下方式刷新
elf
文件:

sudo dfu-util -a 0 -s 0x08000000 -D myapp.elf


嗯??在IDE中单击“Build”按钮和在命令行中键入“make”之间实际上没有任何功能上的区别——不管是哪种方式,源代码都会进入并输出一个二进制图像。“好”的概念完全是主观的。如果你只想点亮一些与你的加速计状态相关的LED,就不需要RTOS。尽管如此,我已经成功地在STM32F4发现板和一个简单的Makefile(以及一个工具链)上使用了它。但正如@Notikethat所说:“这完全是主观的”@Notikethat,我知道没有功能上的区别。很抱歉,我应该用这种方式重新构建我的问题:在使用linux和Windows构建RTOS时,我们需要采取哪些不同的步骤。基本上,我想知道使用Linux而不是基于Windows的IDE需要做些什么,谢谢。@jml,请在这里提供有关如何使用makefile的步骤,以及在STM32F4 discovery上移植FreeRTOS的步骤?谢谢你,你到底在问什么?您可以在Windows上使用make,也可以在Linux上使用IDE—这似乎是一个错误的选择—使用您满意的操作系统,并且(更重要的是)您选择的工具链可以在其上运行。大多数IDE使用专有的项目文件格式,因此切换工具可能很困难;有些人实际上使用makefile,或者可以生成它们。嗯?在IDE中单击“Build”按钮和在命令行中键入“make”之间实际上没有任何功能上的区别——不管是哪种方式,源代码都会进入并输出一个二进制图像。“好”的概念完全是主观的。如果你只想点亮一些与你的加速计状态相关的LED,就不需要RTOS。尽管如此,我已经成功地在STM32F4发现板和一个简单的Makefile(以及一个工具链)上使用了它。但正如@Notikethat所说:“这完全是主观的”@Notikethat,我知道没有功能上的区别。很抱歉,我应该用这种方式重新构建我的问题:在使用linux和Windows构建RTOS时,我们需要采取哪些不同的步骤。基本上,我想知道使用Linux而不是基于Windows的IDE需要做些什么,谢谢。@jml,请在这里提供有关如何使用makefile的步骤,以及在STM32F4 discovery上移植FreeRTOS的步骤?谢谢你,你到底在问什么?您可以在Windows上使用make,也可以在Linux上使用IDE—这似乎是一个错误的选择—使用您满意的操作系统,并且(更重要的是)您选择的工具链可以在其上运行。大多数IDE使用专有的项目文件格式,因此切换工具可能很困难;有些人实际上使用makefile,或者可以生成它们。嗯?在IDE中单击“Build”按钮和在命令行中键入“make”之间实际上没有任何功能上的区别——不管是哪种方式,源代码都会进入并输出一个二进制图像。“好”的概念完全是主观的。如果你只想点亮一些与你的加速计状态相关的LED,就不需要RTOS。然而,我