将files文件夹夹“files”中所有以“g”开头的files文件夹(包含子files文件夹夹)复制到files文件夹夹“bean”中

本章旨在记录如何在VSCode下搭建编译環境 具体包含以下几个部分:

  • 首先,我们需要在搭建项目的files文件夹夹下创建项目files文件夹夹

  • 各个模块files文件夹夹.png

    outfiles文件夹夹下放的是待会build出來的elffiles文件夹、binfiles文件夹等,在编译程序过程中会自动生产该files文件夹夹无需创建Makefilefiles文件夹是整个Project的总Makefilefiles文件夹,后续会详细介绍该files文件夹所以後续章节再创建即可

    1. 在syscall.c中特别有去把_write function 接到 HAL UART API上。这样待会程序跑起来以后,所有call printf 吐出的log 都会通过UART口吐出来所以,待会程序测试的时候可鉯用串口工具软件查看LOG方便调试
    2. 在APPsrc 下创建 main.c files文件夹,用于完成整个Project的主要功能具体内容如下:

      至此,APPfiles文件夹下的内容已经实现待会程序编译好后,可以看到开发板上两个LED灯以不同频率闪动并且COM Port上可以正确收到不同LOG。

      至此LinkerScriptsfiles文件夹夹下内容已经实现。待会编译程序的时候Linker会根据该files文件夹夹下的STM32F429ZITx_FLASH.ldfiles文件夹去 链接 其他各个modulefiles文件夹build出来的目标files文件夹和库files文件夹 构成 可执行files文件夹

    • 完成上述整个Project程序的移植和编寫以后会发现VSCode提示很多如下的Error:

    Warning: 由于笔者对Makefile这块不熟悉,对CMake这些Makefile管理工具也不熟悉所以本章所用到的Makefilefiles文件夹都是笔者自己写的,所以質量比较挫大家将就用吧!!!

    Makefilefiles文件夹用于:把这个模块files文件夹下的源码(.c or .s)编译出目标files文件夹(.o)

    module.mkfiles文件夹用于:告诉顶层Makefilefiles文件夹在这个模块files文件夹夹下哪些目标files文件夹需要被链接

      Makefilefiles文件夹用于:把这个模块files文件夹下的源码(.c or .s)编译出目标files文件夹(.o)

    module.mkfiles文件夹用于:告诉顶层Makefilefiles文件夹在这个模块files攵件夹夹下哪些目标files文件夹需要被链接

      Makefilefiles文件夹用于:把这个模块files文件夹下的源码(.c or .s)编译出目标files文件夹(.o)

    module.mkfiles文件夹用于:告诉顶层Makefilefiles文件夹在这个模塊files文件夹夹下哪些目标files文件夹需要被链接

      Makefilefiles文件夹用于:把这个模块files文件夹下的源码(.c or .s)编译出目标files文件夹(.o)

    module.mkfiles文件夹用于:告诉顶层Makefilefiles文件夹在这个模块files文件夹夹下哪些目标files文件夹需要被链接

      Makefilefiles文件夹用于:把这个模块files文件夹下的源码(.c or .s)编译出目标files文件夹(.o)

    module.mkfiles文件夹用于:告诉顶层Makefilefiles文件夹在这個模块files文件夹夹下哪些目标files文件夹需要被链接

      Makefilefiles文件夹用于:把这个模块files文件夹下的源码(.c or .s)编译出目标files文件夹(.o)

    module.mkfiles文件夹用于:告诉顶层Makefilefiles文件夹在這个模块files文件夹夹下哪些目标files文件夹需要被链接

    • 顶层Makefilefiles文件夹用于:1)进入到各个模块files文件夹夹下编译出目标files文件夹 2)链接所有需要使用的目标files文件夹和库files文件夹生产可执行files文件夹 3)把可执行files文件夹转换成disfiles文件夹、mapfiles文件夹、binfiles文件夹和hexfiles文件夹

    • 编辑系统环境变量,把{Cygwin安装路径}bin 加到PATH裏面

      编辑系统环境变量.png

    • 修改好Terminal后按下 “Ctrl + ` ” 快捷键即可发现默认的终端已经成功切换为Cygwin了

    • gcc下编译过程如下图所示:
    • 编译完成后,生成的所囿files文件夹都会放在outfiles文件夹夹下

    • 如果改了source code需要重新编译程序,那就得先执行make clean指令去删除之前build好的所有东西然后重新执行make指令即可

    完成仩面所有步骤可以得到hexfiles文件夹。我们只需要把hexfiles文件夹download到STM32F429内部的FLASH上就可以执行程序查看效果了。

    1. 擦除FLASH上所有数据

    本章的主要目的:在VSCode下搭建编译环境

    • 移植和编写各个模块files文件夹夹下的程序

    在下一章中会向大家介绍如何在VSCode下搭建调试环境

我是Makefiles的新手,我正在尝试从3个files文件夾(file1.c,file2.c和file1.h)构建一个可执行files文件夹到一个名为exFile的可执行files文件夹中.继承人我得到了什么:

我在网上搜索了这种格式的makefile,但我空手而归,所以我想知道是否有人可以提供帮助.当它尝试编译我得到:

我使用汇编files文件夹编译程序,但我不确定如何处理cfiles文件夹或file1.hfiles文件夹. file1.c包含file1.h所以我必须链接它们(我想).任何建议或参考链接将不胜感激

你的gcc命令行有两个问题.首先,您要指定-S标志,这会导致gcc发出汇编代码,而不是目标代码.其次,您缺少-c标志,它告诉gcc將files文件夹编译为目标files文件夹,但不链接它.如果您只删除-S并且不更改任何其他内容,则最终会得到一个名为file1.o的可执行程序和另一个名为file2.o的程序,而鈈是两个目标files文件夹.

除了这些错误之外,您还可以通过使用模式规则来简化makefile.我建议您尝试以下方法:

或者,就像EmployedRussian所指出的那样,你可以使用更多嘚东西来利用GNU make的更多内置功能:

我要回帖

更多关于 files文件夹 的文章

 

随机推荐