linux系统学习1-7:裸机开发步骤和工具使用

迁移 Linux 系统,第 1 部分 如何迁移备份和裸机恢复 Linux 系统 当硬件升级,更换存储设备或是遇到硬件故障时,需要迁移原来的操作系统及应用软件到新的硬件设备上。这个过程包含系统的迁移备份和裸机恢复,本文详细描述了整个过程的细节。迁移备份和裸机恢复灾难恢复 ,指自然或人为灾害后,重新启用信息系统的数据、硬件及软件设备,恢复正常商业运作的过程。灾难恢复是涵盖面更广的业务连续规划的一部分,其核心即对企业或机构的灾难性风险做出评估、防范,特别 阅读详情

第001节:裸机开发步骤简介

步骤X86平台X86平台ARM裸机开发
环境windows应用程序ubuntu应用程序
第一步建立工程编辑编辑
第二步编辑编译:gcc编译:arm-linux-gcc
第三步编译:VC6.0运行烧写
第四步运行运行
  • gcc名词解释:
    • gcc是linux系统下主要的编译软件
    • gcc全称是GNU编译器套件(GNU Compiler Collection)
    • 除了可以编译c语言开发的程序外,还可以开发C++、Java等多个语言的程序
    • GCC的初衷是为GNU操作系统专门编写的一款编译器
  • 使用gcc的原因:功能强大、稳定、开源免费
  • gcc -v:查看gcc的版本,从而验证了gcc编译器正常。
    • 不论你使用哪一个版本的gcc,只要后面能够正常编译就行
  • gcc -o 输出文件名 源文件:

    • o:output的缩写
  • 交叉编译模式:

    • 通常编译嵌入式程序的平台称为宿主机(如PC的ubuntu系统,cpu架构为x86架构)。
    • 运行嵌入式程序的平台称为目标机(如:某款ARM开发板,CPU架构为ARM架构)。
    • 在x86平台编辑和编译器arm-linux-gcc编译ARM架构的程序然后将程序烧写到ARM开发板中(下载方式有:JTAG、USB、SD卡、网络等多种方式)。
    • 然后在开发板上运行该程序
  • 编辑器:推荐使用windows平台的source insight和notepad。

    • source insight在查看代码、编辑代码等功能时非常好用
  • 编译器:推荐使用arm-linux-gcc

    • arm-linux-gcc是基于linux平台的arm编译器,它是开源免费的编译器。
    • arm-linux-gcc功能强大、稳定、支持的arm芯片非常多,更新速度很快
    • arm-linux-gcc安装方法
  • 入门误区:使用ads、MDK

    • ads(停止更新)、MDK:是windows平台的编译器,功能弱
    • 只适合个人、小团队的开发,不适合于中型、大型团队的协作开发
    • 是收费软件
  • 我们学习嵌入式的目的就是找工作,那么在学习过程中就要掌握企业实际开发过程中的开发流程。

第002节:source insight代码查看工具的使用

  • 编辑器:
    • 推荐使用windows平台的source insight和notepad。
    • source insight在查看代码、编辑代码等功能时非常好用
    • source insight:c文件、h文件、arm汇编文件
    • notepad:其他文件,如Makefile(简单理解为:指明了要编译哪些源文件,指定编译后的输出文件名)
    • source insight是收费软件。但是可以免费试用35天。
    • 推荐使用3.5版本
  • 使用步骤:
    • 1.增加文件类型:
      • options–>documents options中,将c source file的文件过滤设置为:.c;.h,*.S(注意小数点)
    • 2.新建项目(工程)
      • project–>new project,然后将相应的文件加到该项目中。
    • 3.字体的设置(解决中文乱码)
      • options–>documents options中,将screen fonts设置为:宋体、常规、12、GB2312
      • 使用alt+F12来调整字体的等宽
  • 说明一下,source insight的窗口:
    • 项目窗口:指明该项目中有哪些文件
    • 符号窗口:显示了当前打开文件的函数名、结构体名、宏定义等等。
    • 上下文窗口:光标放在某个函数上(变量上、宏定义上),在下面的上下文窗口就可以看到相应的定义。
    • 显示行号:view–> line number
    • 快速跳转到某一行: 工具栏 go to line
    • 高亮关键词: 右键 highlight word
    • 查看函数定义的位置 :光标放在函数上,右键–>jump to define
嵌入式裸机开发与 Linux 开发 阅读详情

相关推荐

树莓派裸板linux,树莓派裸机开发步骤

树莓派4裸机基础教程:环境搭建1.文章目的2.树莓派4B的硬件配置3.第一个基础工程构建3.1 环境准备3.2 源代码下载3.3 代码编译与程序下载3.4 树莓派硬件链接4.优化调试手段4.1 修改sd卡文件中的config.txt文件4.2 修改网络环境4.3 修改代码的链接地址5.小结1.文章目的树莓派4作为一款学习嵌入式arm开发的开发板,是非常不错的选择。嵌入式开发往往需要的不仅仅是理论知...

weixin_35578211的博客 2106

Linux 程序开发流程 / 基本开发工具 / Vim / GCC工具链 / Make 工具 / Makefile 模板

Linux 程序开发流程 / 基本开发工具 / Vim / GCC工具链 / Make 工具 / Makefile 模板

空有精品无人问,倒也自然 1681

嵌入式开发路径选择:裸机与Linux对比分析及学习路线

嵌入式系统开发是连接硬件与软件的关键技术领域,其核心在于实现对特定设备的智能化控制。从技术原理上看,嵌入式开发主要分为直接操作硬件的裸机开发和基于操作系统的开发两种模式。裸机开发更贴近硬件底层,能提供极致的实时性和资源控制,而基于Linux等操作系统的开发则能利用丰富的软件生态和高级抽象,适用于复杂功能场景。在工程实践中,选择合适的技术路径直接影响产品的成本、功耗和开发效率。对于物联网终端、工业控制等场景,裸机开发在实时性和低功耗方面具有不可替代的价值;而对于智能网关、多媒体设备等需要复杂网络连接和图形界面

weixin_33850015的博客 836

linux裸机开发

Linux驱动开发预备章-->裸机开发

weixin_51462579的博客 753

嵌入式开发学习路径:从裸机到Linux的进阶指南

嵌入式系统开发涉及从底层硬件控制到上层应用构建的完整技术栈。其核心原理在于理解计算机体系结构,通过直接操作寄存器或利用操作系统抽象来管理硬件资源。掌握嵌入式开发的技术价值在于能够将抽象需求转化为稳定可靠的物理系统,广泛应用于物联网、工业控制、消费电子等领域。裸机开发强调实时性与确定性,适合资源受限场景;而嵌入式Linux则提供了丰富的软件生态,适用于复杂功能系统。本文围绕嵌入式八股文和Linux内核等热词,探讨如何规划一条从裸机基础到Linux系统开发的渐进式学习路径,帮助开发者构建软硬件协同的完整能力体系

weixin_30940783的博客 278

嵌入式开发学习路线:裸机与Linux系统开发对比与选择指南

嵌入式系统开发是连接硬件与软件的关键技术领域,其核心在于通过编程实现对专用计算设备的控制与管理。从技术原理上看,嵌入式开发主要分为直接操作硬件的裸机开发和基于操作系统的开发两种模式。裸机开发直接面向寄存器与外设,强调实时性与资源效率;而基于Linux等操作系统的开发则通过内核抽象硬件资源,提供多任务、网络协议栈等高级功能,大幅提升复杂应用的开发效率。在技术价值层面,掌握嵌入式开发能力能够实现从智能家居、工业控制到车载系统等广泛场景的智能化改造。对于开发者而言,理解STM32等单片机的裸机编程是建立硬件思维的

weixin_34194087的博客 504

Linux应用层开发(文件、多线程,多进程、进程间通信)

Linux应用层开发(文件、多线程,多进程、进程间通信)

weixin_50490512的博客 5319

摄像头visio_最全面弱电智能VISIO图标集(百个),高大上方案就靠这个了

原标题:最全面弱电智能VISIO图标集(百个),高大上方案就靠这个了不会用Visio,Visio画拓扑画的很丑,怎么办?本期sin66小编免费分享一份最全面的弱电智能VISIO图标集(百个)给大家,以后画拓扑、做方案,直接高大上起来!需要本期资料直接看文末!!接下来我们一起看一下这些Visio图标大全:我们从下图可以看出前端设备主要是由枪机,筒机,无线摄像头,半球,球机,USB摄像头等构成,对于绘...

weixin_39644915的博客 1万+

Linux-ARM裸机开发(一)-开发环境搭建

注:本文是在正点原子的视频学习下的总结,方便自己学习。

a1329054153的博客 1108

从报错到优化:一次Gauss JDBC参数限制排查实录(32767参数上限避坑指南)

本文详细记录了排查GaussDB JDBC驱动因绑定参数数量超过32767上限而抛出`PSQLException`(报错信息为`Tried to send an out-of-range integer as a 2-byte value`)的全过程。文章深入分析了该限制的底层协议原理,并提供了应用层分批查询、使用临时表以及优化业务逻辑等多种解决方案,旨在帮助开发者规避此参数上限陷阱,构建更稳健的数据访问层。

rgv23456789的博客 217

UE5 Paper2D性能优化:GroupedSpriteSceneProxy合批渲染原理与实践

在游戏开发中,渲染性能优化是核心技术挑战之一,其核心原理在于减少CPU与GPU之间的通信开销,特别是降低Draw Call数量。Draw Call是CPU向GPU提交绘制命令的指令,每次调用都涉及状态切换和数据传输,当场景中存在大量同质化对象时,频繁的Draw Call会成为主要性能瓶颈。为此,现代图形引擎普遍采用合批渲染技术,其技术价值在于将多个共享相同渲染状态(如材质、几何体)的物体数据合并提交,从而将多次Draw Call压缩为一次或少数几次,显著提升渲染效率。这一技术在2D游戏开发中尤为重要,例如在

weixin_34198453的博客 393

Linux裸机开发1——点亮第一个LED

Linux裸机开发笔记1

qq_51654553的博客 844

3D Slicer中安装MedSAM插件

大家应该都读过这篇论文:《Segment Anything in Medical Images》这个插件便是该论文团队推出的在3D Slicer上使用的插件,可以分割医学图像的任何感兴趣区域。

m0_73719342的博客 2329

ZYNQ中裸机开发和Linux开发有什么区别?

ZYNQ架构特征 从高层次的角度去看,Zynq架构包含PS和PL两部分以及之间的互连线。如图2.3所示。互联遵循AXI标准,AXI标准是Arm开发的片上通信技术标准。将PS和P...

OpenFPGA的博客 6521

用SPSS做信效度分析

对问卷进行Cronbach’s Alpha信度检验。如果此值高于0.8,则说明信度高;如果此值介于0.7-0.8之间,则说明信度较好;如果此值介于0.6~0.7,则说明信度可接受;如果此值小于0.6,说明信度不佳。下面利用SPSS进行分析,点击分析–标度–可靠性分析选项,选中所要分析的问卷数据或题目。得到结果,我们要看这个有用的结果,当克隆巴赫Alpha系数(也可以看标准化后的)大于0.8时候,说明问卷信度较高。

小高~的博客 1万+

Win11 系统下 VisualStudio2022 配置点云库 PCL1.11.1

安装完成之后打开文件夹E:\PCL 1.11.1\3rdParty\OpenNI2双击 并选择路径 (E:\PCL 1.11.1\3rdParty\OpenNI2) 安装即可全部安装完成之后,将pcl-1.11.1-pdb-msvc2019-win64.zip解压后的 .pdb文件拷贝到(E:\PCL 1.11.1\bin)中设置环境变量:到此,环境变量配置完成。

qq_53545309的博客 1124

Linux学习——总结ARM裸机开发步骤

本文仅介绍一些基础概念。 我们常用的开发平台是在x86,这个是Intel推出的架构。在x86平台上的开发步骤,不管是什么软件,无外乎建立工程->写代码->保存->编译->运行,这个是Windows程序。而如果我们在x86平台上是用虚拟机运行ubuntu程序,开发步骤是写代码->保存->编译->运行。与Window程序上有所不同的是编译器,Windows程...

Unlimited_Bit的博客 2652

【硬件工程师面经整理2_电源篇】

硬件工程师面经整理_电源篇

LeeYLong的博客 2766

学习裸机开发的步骤

一):学习裸机并不需要太多资料!基本上只要 s3c2440中文手册 + 天嵌提供的裸机源码 就行了!天嵌提供的源码已经完成了大部分功能了!我们需要做的是 先看懂源码,然后再自己改写程序,实现自己想要的功能! 二):学习裸机,你大致需要掌握如下内容: 01:了解启动代码,学会怎么修改CPU工作频率; 02:必须掌握GPIO编程(led流水灯); 03:必须掌握定时器编程(pwm蜂鸣器,定

dgergeg的专栏 2214

【异常】Claude CLI / Claude Code 命令行工具 “claude 不是内部或外部命令“ 报错完整解决方案

摘要:Windows系统执行Claude命令报错"'claude'不是内部或外部命令",主要原因是环境变量配置问题。解决方案包括:1)通过npm全局安装时需加-g参数并重启终端;2)检查Node.js环境及npm全局路径是否加入系统PATH;3)对于Claude Code独立安装版,需手动添加.local/bin路径到环境变量。常见错误包括安装不完整、权限不足或路径未自动配置,按照对应场景排查即可解决。

奶爸的编程之路,也就一周冷个三天 7807

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

S3C2440—2.裸机开发步骤及工具使用

文章目录一.裸机开发步骤简介1.在X86架构的Windows系统中2.在X86架构的Ubuntu系统中3.ARM裸机开发二.soucre insight使用1.sourec insight介绍2.操作流程Ⅰ.增加文件类型Ⅱ.创建工程Ⅲ.编译工程Ⅳ.设置中文字体Ⅴ.界面说明Ⅵ.小技巧 一.裸机开发步骤简介 1.在X86架构的Windows系统中 1.建立工程 2.编辑源代码 3.编译(VC6.0) ...

肥宅快乐博客 850

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

第1期_第7课_裸机开发步鄹和工具使用

1. 裸机开发步骤简介 回忆大学在VC6.0上面学习C语言,操作大致流程如下: x86平台,Windows应用程序:建立工程/项目,编辑源码,编译代码(编译器:VC6.0),运行。 在Ubuntu上学习C语言,操作大致流程如下: x86平台,Ubuntu应用程序:编辑源码,编译代码(编译器:gcc),运行。 名词解释: gcc gcc是linux系统下主要的编译软件, gcc的全称是GNU编译器套件(GNU Compiler Collection), 除了可以编译c语言开发的程序外,还.

Lianuuu的博客 364

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ZYNQ_Linux_裸机AMP Linux+裸机/RTOS

​ 学习正点原子ZYNQ的时候发现了AMP这个东西,分别可以实现两个cpu跑两个不同的系统,可以实现CPU0跑linux,CPU1跑裸机或者RTOS,于是开始根据正点原子给的文档尝试实现linux+裸机的AMP。​ 跟着教程的时候发现这么几个问题:​ 1.分配设备树memory后linux分配的内存仍为最大,导致linux驱动加载时程序卡死,出现跳转空指针现象。​ 2.CPU1裸机代码无法调用AXI总线,导致程序卡死。但在uboot、加载kernel之前能够正常运行CPU0和CPU1代码。

qq_51283716的博客 3877

ARM与裸机开发教程

一、汇编语言是什么? 我们知道,CPU 只负责计算,本身不具备智能。你输入一条指令(instruction),它就运行一次,然后停下来,等待下一条指令。 这些指令都是二进制的,称为操作码(opcode),比如加法指令就是00000011。编译器的作用,就是将高级语言写好的程序,翻译成一条条操作码。 对于人类来说,二进制程序是不可读的,根本看不出来机器干了什么。为了解决可读性的问题,以及偶尔的编辑需求,就诞生了汇编语言。 ...............

生活需要深度 2823

学习笔记(一)Linux嵌入式裸机开发基本流程(点亮LED)

简单学习如何进行嵌入式裸机开发点亮LED

weixin_73631532的博客 1621

arm-linux-gcc 裸机程序,Linux下ARM裸机开发-交叉工具链

初识linux下ARM的裸机开发全过程。现在总结如下:首先说明为什么要学习裸机开发,一方面bootloader的编写要用到裸机开发的知识,另一方面就是驱动的开发。一般情况下我们进行的系统上的开发。学习要点1、如何修改默认路径用户 root#vim /root/.bashrc添加:export PATH=$PATH:路径生效路径:source /root/.bashrc2、裸机开发流程:1编写裸机程...

weixin_36028876的博客 544
上一篇: linux系统学习1-6:开发板熟悉与体验
下一篇: linux系统学习1-8:第1个ARM裸板程序及引申
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值