Linux学习——总结ARM裸机开发步骤
本文仅介绍一些基础概念。
我们常用的开发平台是在x86,这个是Intel推出的架构。在x86平台上的开发步骤,不管是什么软件,无外乎建立工程->写代码->保存->编译->运行,这个是Windows程序。而如果我们在x86平台上是用虚拟机运行ubuntu程序,开发步骤是写代码->保存->编译->运行。与Window程序上有所不同的是编译器,Windows程序的编译器是很多的ubuntu程序的编译器也很多,常用的GCC编译器。
介绍下GCC编译器:
GCC是linux系统下主要的编译软件,GCC的全称是GNU编译器套件(GNU Compiler Collection),除了可以编译c语言开发的程序外,还可以开发C++、Java等多个语言的程序。GCC功能强大、稳定、开源免费,因此被广泛使用。
GCC的常用指令:
1)gcc -v 查看gcc的版本,从而验证了gcc编译器正常。
不论你使用哪一个版本的gcc,只有后面能够正常编译就可以了。
2)gcc -o 输出文件名 源文件
举例:gcc -o hello hello.c
编译hello.c,输出文件名为hello。
以上是在x86架构上的开发步骤。
而ARM裸机开发步骤则是写代码->保存->编译->烧写->运行。此时用到的编译软件是arm-linux-gcc编译器。这种编译模式被称为交叉编译。
介绍下arm-linux-gcc编译器:
arm-linux-gcc是基于linux平台的arm编译器。它是开源免费的编译器。arm-linux-gcc功能强大、稳定、支持的arm芯片众多、更新速度快,被广泛使用。
交叉编译:通常编译嵌入式程序的平台称为宿主机(如:PC的ubuntu系统,CPU架构为X86架构),运行嵌入式程序的平台称为目标机(如:某款ARM开发板,CPU架构为ARM架构)。在X86平台编辑和和编译器arm-linux-gcc编译ARM架构的程序,两者属于不同的架构平台,从而属于交叉编译模式。编译完成后将程序烧写到ARM开发板中(下载方式有:JTAG、USB、SD卡、网络等多种方式),之后就可以在开发板上运行该程序。
Linux学习——总结ARM裸机开发步骤相关推荐
- jlink怎么调试linux程序_纯Linux下的 ARM裸机调试环境搭建(GDB + JLink)
一直想摆脱windows环境,在纯linux下进行arm裸机开发,但是由于一直不知道JLink如何在linux下运行和配置,一直无法进行下去. 以前都是windows+AXD调试.包括本人用的FL24 ...
- Linux学习之ARM开发板连接ubuntu18.04LTS及NFS相关配置
Linux学习之ARM开发板连接ubuntu18.04LTS及NFS相关配置 第一步:在PC机安装Ubuntu18.04LTS 具体安装步骤参见上一篇文章 第二步:安装arm-linux-gcc交叉编 ...
- Linux学习笔记---移植官方uboot步骤(一)
目录 编写shell脚本 修改MakeFile文件 重命名shell脚本 添加默认配置文件 修改默认配置文件 准备需要的板级文件夹 重命名.C文件 修改Makefile 修改imximage.cfg配 ...
- ARM裸机开发:主频与时钟
文章目录 ARM裸机开发:主频与时钟 一.时钟系统 1.1 外部时钟电路 1.2 7路PLL时钟源 1.3 时钟树概览 二.时钟配置 2.1 内核时钟设置 2.2 PFD时钟设置 2.3 AHB.IP ...
- Linux学习笔记---移植官方uboot步骤(二)
在上一篇 Linux学习笔记---移植官方uboot步骤(一) 自己的uboot已经编译成功了,接下来继续移植LCD驱动和网络驱动. 修改LCD驱动 修改配置参数 打开my_uboot/board/f ...
- ARM裸机开发——双机异步串行通信
写在前面 本报告因为期末将至,后续还需要完成一次课程设计,故本次实验较为简单,完成的时间也非常匆忙,故文章内容较为单薄,也可能有着更多疏忽之处,还望大家海涵. 1. 项目任务 1) 利用S3C24 ...
- 基于stm32mp157 linux开发板ARM裸机开发教程4:Cortex-A7 内核存储系统与流水线(连载中)
前言: 目前针对ARM Cortex-A7裸机开发文档及视频进行了二次升级持续更新中,使其内容更加丰富,讲解更加细致,全文所使用的开发平台均为华清远见FS-MP1A开发板(STM32MP157开发板) ...
- arm-linux-gcc 裸机程序,Linux下ARM裸机开发-交叉工具链
初识linux下ARM的裸机开发全过程.现在总结如下: 首先说明为什么要学习裸机开发,一方面bootloader的编写要用到裸机开发的知识,另一方面就是驱动的开发.一般情况下我们进行的系统上的开发. ...
- 基于stm32mp157 linux开发板ARM裸机开发教程3:Cortex-A7 架构与工作模式(连载中)
前言: 目前针对ARM Cortex-A7裸机开发文档及视频进行了二次升级持续更新中,使其内容更加丰富,讲解更加细致,全文所使用的开发平台均为华清远见FS-MP1A开发板(STM32MP157开发板) ...
最新文章
- flask简单的登录demo
- Python编程基础:第二十节 函数Function
- ThreadLocal相关
- 【Java数据结构】3.1 顺序栈
- java 传递intent_java – 如何将泛型类作为param传递给Intent构造函数
- 【转】windows程序设计(14):鼠标消息详解
- C#中的深度学习:ML.NET中具有预训练模型的硬币识别
- sql server 中后缀为.mdf的文件是干什么用的??
- cnpm 没反应_世界上“最蠢”的鱼, 被吃了一半还没反应, 但永远不会灭绝
- 服务器芯片的引脚功能,74ls06中文资料汇总(74ls06引脚图及功能_真值表及应用电路)...
- 人工智能属于计算机科学研究方向,《人工智能》课程简介
- 4 卷积的拉普拉斯变换
- 极大似然估计的通俗理解
- 【小米集团】2019校招在线考试-算法试卷编程题
- 微电子电路——期中总结
- 一种测试FPS的方法
- npm全局安装和本地安装及卸载
- 魔兽争霸的历史(ZT)第三章
- 多人 协作 任务 android 软件,MeisterTask(团队协作软件)
- nginx配置-根据UA进行域名跳转且仅限域名访问