《KEIL_GCC_MAKEFILE》

本文介绍了在单片机开发中,IDE如KEIL背后所使用的命令行工具,强调了理解命令行对于提升开发能力的重要性。讨论了ARMCC和GCC两种编译器,并以GCC为例进行实战演练,包括在Windows环境下使用Code::Blocks和GCC编译C程序。文章还提及了Makefile在程序组织和管理中的作用,虽然未深入探讨,但提出了学习Makefile的基本规则和资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、IDE背后的命令

  1. ARM公司的编译器
  2. KEIL使用的就是ARMCC
  • GCC
  1. GNU 工具链
  2. LINUX等 Kai 源 软件经常使用GCC

总结:后面以GNU工具链为例讲解,所涉及的知识能平移到ARMCC上 !!!

二、GCC 实战

  • 准备工作:arm-linux-gcc和gcc类似的:参考链接:(4条消息) gcc和arm-linux-gcc的区别_冷月枫啊的博客-CSDN博客
  •  arm-linux-gcc:给 arm 芯片编译程序
  • gcc:在x86编译程序(Linux 操作系统可以识别与运行)
  • 用法基本一样
  • 为方便演示,我们使用gcc
  • 为了方便在windows下演示,我们使用 Code:Blocks(自带GCC工具链)
  • Code:Blocks 是一款基于GCC的windows IDE,可以用来开发C/C++/Fortran
  • 设置 Window 环境变量:在Path环境变量中添加:C:\Program Files\CodeBlocks\MinGW\bin
  • 启动Git Bash,编译程序hello.c ==> 编译、运行命令
  • gcc -o hello  hello.c

    ./hello.exe

  •  gcc 使用方法: gcc  [选项]   文件名
  •  一个c/c++文件要经过预处理、编译、汇编和链接才能变成可执行文件
  •  

  •  

  •  最后链接时,使用arm-linux-ld 而不是 arm-linux-gcc
  • 前者可以完全自己指定所连接的文件
  • 后者会链接一些默认的启动文件
  • 《嵌入式Linux应用开发完全手册》中的《3.1 交叉编译工具选项说明》

 三、 Makefile的引入及规则(暂时不研究,需要花费心思去学习才行)

  •  使用 KEIL、MDK、AVR 等工具开发程序时点击鼠标就可以编译了,它的内部机制是什么?它是怎么组织管理程序?怎么决定编译哪一个文件?
  • 实际上Windows工具管理程序的内部机制,也是Makefile,我们在linux下来开发裸板程序的时候,使用Makefile组织管理这些程序,本节我们来讲解Makefile最基本的规则。Makefile 要做什么事情呢:组织管理程序,组织管理文件,我们写一个程序来实验一下:
  • makefie最基本的语法是规则,规则:
  • 目标 : 依赖1 依赖2 ...
    [TAB]命令
  • 学习Makefile的话可以:

  • a. 百度搜 "gnu make 于凤昌"。

  • b. 查看官方文档: GNU Make Manual - GNU Project - Free Software Foundation

  • 通 配 符(具体参考视频学习 !!!)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值