0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

列举一些嵌入式Linux应用开发里经常使用的技巧和套路

工程师进阶笔记 来源:工程师进阶笔记 2023-11-14 10:44 次阅读

本篇文章,我们基于ELF 1S这一款开发板,来列举一些嵌入式Linux应用开发里面,经常使用到的开发技巧和套路。

1-收到开发板,首先要做什么?

先欣赏一下包装外观,然后打开包装盒,小心翼翼拿起来,观赏一下开发板的颜值,还可以凑近点闻一下电路板的松香味和洗板水味。

如果开发板带屏幕,还要看一下屏幕外观是否有破损,如果有,马上联系开发板厂家进行处理。

2-开发板如何上电测试?

看这份文档《01-0 ELF 1、ELF 1S开发板_快速启动手册_V1.pdf》,基本上,现在很多入门级的开发板,都会配套一份“快速启动手册”之类的文档,旨在帮助初学者快速地把开发板通电使用起来。

至少通过这份手册,你可以知道开发板有哪些硬件资源,以及如何通电让开发板运行起来。

wKgaomVS31mAK7XOAADo37lFoNA410.jpg

**3-我暂时没有硬件基础,能学习嵌入式Linux开发吗? **

嵌入式开发是必须要具备硬件电路知识的,不学硬件是不行的。但嵌入式软件和硬件的学习次序,则可以灵活搭配,更何况ELF 1S这款开发板也提供了一系列的硬件学习文档和视频

如果你是百分百的初学者,同时又对嵌入式技术存在执念,那建议先从嵌入式Linux应用开发入手,这样至少没那么容易被劝退。

4-想学嵌入式Linux应用程序开发,应该怎样开始呢?

要想学嵌入式Linux应用程序,首先得了解什么是“Linux操作系统”?网络上已经有一大堆的概念介绍了。

要先学会用一款桌面型的Linux系统,比如Ubuntu。因为开发板上面的应用程序基本上都是在桌面型的Linux系统上进行开发的,然后经过交叉编译后,再传输到开发板上面运行。

C语言编程是必学的,shell编程也最好打一下基础,这两门语言是嵌入式开发里面必不可少的两大知识点。如果没有这两门语言的基础,建议先不要碰开发板,先在网上找相关的课程,把这两门语言的基础先打一下。

基础不牢,地动山摇!

编程语言学完后,就是搭建开发环境了。说得通俗一点,搭建开发环境其实就是在你的Windows或者Ubuntu系统上面,安装各种软件,使你的电脑能跟开发板连接起来,能在两者之间互相传输文件。安装各种软件,我相信这活难不倒各位。

嵌入式Linux应用程序开发,本质上就是在你的桌面PC上写程序,然后交叉编译,然后把程序传到开发板上面运行起来。因为有些开发板的性能,不足以支撑你在其上面写代码编译。但有些性能非常强大的开发板,是可以直接在上面编程和运行的,完全不需要交叉编译。

记住:嵌入式Linux开发板,本质上也是一台电脑,本质上也是一台电脑,本质上也是一台电脑。

5-很多出学者都被搭建开发环境劝退了,搭建开发环境很难吗?

嵌入式Linux开发板的开发环境,有两种获得方式:1-根据教程和网上的资料,自己折腾。2-开发板厂家搭建好,直接拿来使用。

建议没有嵌入式基础的初学者,先直接用开发板厂家搭建好的开发环境,这样不会那么容易被劝退,到了后期掌握了一定的技巧后,再尝试自己搭建开发环境。搭建开发环境,就是安装ubuntu,以及在Ubuntu上面安装软件。

使用厂家搭建好的开发环境,看《01-1 ELF 1、ELF 1S开发板_软件教程_V1.pdf》的第二章,第2.1.3节,如下图所示。

wKgaomVS31mASxXdAAGL6osTCnQ757.jpg

6-用什么软件编写嵌入式Linux应用程序代码

写代码的软件多了去了,随便简单改点代码的话,记事本也是可以的。初学者比较常用的,可以用vscode,QtCreator也是一款很不错的编辑器,一开始入门学习,不太建议迷信Vim大法,编辑器只是工具,Vim这种略复杂的编辑工具,还不太适合初级入门的同学。

不用太迷信代码编辑工具,用你自己平时用习惯的,以及觉得编辑效率最高的,如果你平时没有用啥编辑器,那建议用vscode吧,这工具是真香。

wKgZomVS34eAPpYvAAE4ZTMYRbk158.jpg

7-编写完代码,怎样把代码转化为开发板能运行的程序?

交叉编译!前面提到,如果在开发板上面直接编写代码然后编译,那个叫直接编译运行。如果在桌面型PC上编写代码和编译,然后在开发板上面运行,那就叫做交叉编译。

可以查看《01-1 ELF 1、ELF 1S开发板_软件教程_V1.pdf》这份文档的第二章2.6.3章节,如下图所示。

wKgaomVS31mAMDbFAAEjX3u8r4s282.jpg

8-怎样在桌面PC和开发板之间互相传输文件?

一般有两种方式:1-通过TF卡或者U盘互相拷贝,就像在两台电脑直接互拷文件一样。2-用网线把电脑跟开发板连起来,通过FTP协议或者NFS网络文件系统进行传输。

我个人比较喜欢通过网络的方式,在电脑和开发板直接互传文件,FTP协议的方式,在快速启动手册里面的【附录一】有介绍,如下图所示。

wKgZomVS31mAQyO6AAEw_iF8-U8903.jpg

NFS网络文件系统,也是一种比较常用的方式,网上很多资料,可自行搜索学习,特别是需要经常修改文件系统配置的时候,通过NFS挂载文件系统,可以起到事半功倍的作用。

TF卡一般用在产品批量生产时的固件烧录,个人感觉,通过TF卡拷贝应用程序到开发板然后运行,略麻烦。

9-开发板的系统被搞坏了,怎样恢复成出厂设置?

开发板厂家一般都会为板子配套出厂镜像,在我们的开发过程中,如果不小心把原有的系统搞坏了,可以根据开发板厂家提供的方法,把开发板恢复成出厂时的状态,一般是通过特定的烧录工具和TF卡进行烧录。

快速启动手册里面的第四章,有讲述如何为开发板恢复出厂设置,如下图所示。

wKgZomVS31mAI5E0AAD-6yaUOJE861.jpg

10-我想进一步学习更复杂的嵌入式Linux系统移植和驱动开发,应该怎样开始?

看文档和视频,《01-1 ELF 1、ELF 1S开发板_软件教程_V1.pdf》这份文档的第五章至第九章,提供了Linux内核移植、驱动开发、u-boot介绍、文件系统移植,这几大块基本的知识点,如下图所示。

wKgZomVS31mAEWlwAAGjI-EMpGg400.jpg







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5068

    文章

    19008

    浏览量

    302965
  • Linux系统
    +关注

    关注

    4

    文章

    590

    浏览量

    27344
  • C语言
    +关注

    关注

    180

    文章

    7597

    浏览量

    136117
  • elf
    elf
    +关注

    关注

    0

    文章

    12

    浏览量

    2173

原文标题:嵌入式 Linux 开发,常用的套路和技巧。

文章出处:【微信号:工程师进阶笔记,微信公众号:工程师进阶笔记】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    零基础嵌入式开发学习路线

    的数据结构与算法能够提升运行效率,同样不好的数据结构与算法也会造成空间的浪费。对于嵌入式开发来说,掌握一些比较基础的数据结构还是非常有必要的。比如线性结构如链表、栈、队列、树、图等。可以通过这些逻辑
    发表于 10-25 15:55

    【北京迅为】i.mx8mm嵌入式linux开发指南第四篇 嵌入式Linux系统移植篇第六十九章uboot移植

    【北京迅为】i.mx8mm嵌入式linux开发指南第四篇 嵌入式Linux系统移植篇第六十九章uboot移植
    的头像 发表于 10-22 14:46 502次阅读
    【北京迅为】i.mx8mm<b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b><b class='flag-5'>开发</b>指南第四篇 <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>系统移植篇第六十九章uboot移植

    嵌入式开发常见问题排查

    归结为相对简单的小问题。接下来,我们将讨论一些嵌入式开发中常见的问题及其解决方法。、问题复现要有效解决问题,首先需要能够稳定地复现它。般来说,容易复现的问题也相对
    的头像 发表于 09-22 08:04 261次阅读
    <b class='flag-5'>嵌入式开发</b>常见问题排查

    【免费分享】嵌入式Linux开发板【入门+项目,应用+底层】资料包网打尽,附教程/视频/源码...

    ​想要深入学习嵌入式Linux开发吗?现在机会来了!我们为初学者们准备了份全面的资料包,包括原理图、教程、课件、视频、项目、源码等,所有资料全部免费领取,课程视频可试看(购买后看完整
    的头像 发表于 09-05 10:45 250次阅读
    【免费分享】<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>开发</b>板【入门+项目,应用+底层】资料包<b class='flag-5'>一</b>网打尽,附教程/视频/源码...

    嵌入式linux开发的基本步骤有哪些?

    嵌入式Linux开发个复杂的过程,涉及到硬件选择、操作系统移植、驱动开发、应用程序开发等多个
    的头像 发表于 09-02 09:11 380次阅读

    嵌入式linux开发板怎么操作

    嵌入式Linux开发板是种基于Linux操作系统的嵌入式系统
    的头像 发表于 09-02 09:09 316次阅读

    嵌入式linux开发板芯片的工作原理

    嵌入式Linux开发板是种基于Linux操作系统的嵌入式系统
    的头像 发表于 09-02 09:07 319次阅读

    嵌入式QT常见开发方式有哪些?

    嵌入式工程师可以使用同套代码库开发适用于不同嵌入式操作系统(如Linux、RTOS)的应用程序,只需针对目标平台调整编译选项和配置即可。
    发表于 08-12 10:05

    【出版发行】嵌入式系统原理与开发——基于RISC-V和Linux系统

    【出版发行】嵌入式系统原理与开发——基于RISC-V和Linux系统
    的头像 发表于 07-26 08:36 259次阅读
    【出版发行】<b class='flag-5'>嵌入式</b>系统原理与<b class='flag-5'>开发</b>——基于RISC-V和<b class='flag-5'>Linux</b>系统

    专家力荐|《嵌入式系统原理与开发——基于RISC-V和Linux系统》新书发售

    当前,嵌入式系统已成为智能设备的核心之,RISC-V+Linux的开源力量为嵌入式系统注入强大的创新动力。作为中国RISC-V软硬件生态领导者,赛昉科技与业界专家合作推出《
    的头像 发表于 07-24 08:20 509次阅读
    专家力荐|《<b class='flag-5'>嵌入式</b>系统原理与<b class='flag-5'>开发</b>——基于RISC-V和<b class='flag-5'>Linux</b>系统》新书发售

    嵌入式开发者的未来

    嵌入式系统的就业方向非常广泛,涵盖了许多不同的行业和领域。以下是一些常见的嵌入式系统就业方向:消费电子产品:这包括智能手机、平板电脑、智能电视、智能家居设备等。嵌入式系统工程师可以参与
    的头像 发表于 06-23 08:10 324次阅读
    <b class='flag-5'>嵌入式开发</b>者的未来

    fpga与嵌入式的区别 嵌入式和fpga开发有什么关系

    fpga与嵌入式的区别 FPGA与嵌入式系统在设计和应用上存在一些关键的区别,具体如下: 灵活性:FPGA具有高度的灵活性,可以根据需要重新编程以实现不同的功能。而嵌入式系统的硬件功能
    的头像 发表于 03-14 17:04 6750次阅读

    嵌入式人工智能的就业方向有哪些?

    的发展方向有很多,门槛高低不样。下面给大家列举一些相应岗位所需具备的技能: 嵌入式Linux
    发表于 02-26 10:17

    嵌入式软件开发和软件开发的区别

    嵌入式软件开发和软件开发是两个不同的概念,它们在一些关键方面有着明显的区别。嵌入式软件开发是指
    的头像 发表于 01-22 15:27 2159次阅读

    嵌入式Linux开发的三种方式

    嵌入式Linux开发主要有三种方式:裸机开发、SDK开发和驱动开发
    的头像 发表于 01-22 14:22 920次阅读