Linux基础项目开发1:量产工具——程序框架(一)

简介: Linux基础项目开发1:量产工具——程序框架(一)


前言:

前面已经将Linux应用开发基础知识学习完了,现在让我们来做个小项目练练手,对之前的一些知识点进行一个更加具体详细的认识与了解,我们要进行的项目名称为:电子产品量产测试与烧写工具,这是一套软件,用在我们的实际生产中, 在具体开发中我们将显示系统,输入系统,文字系统,UI系统,页面系统,业务系统这五个板块进行学习。

一、项目介绍:

电子产品量产测试与烧写工具。这是一套软件,用在我们的实际生产中, 有如下特点:

1.简单易用:

        把这套软件烧写在 SD 卡上,插到 IMX6ULL 板子里并启动,它就会自动测试各个模块、烧写 EMMC 系统。

       工人只要按照说明接入几个模块,就可以完成整个测试、烧写过程。

        测试结果一目了然:等 LCD 上所有模块的图标都变绿时,就表示测试通过。

2.软件可配置、易扩展:

       通过配置文件添加测试项,可以添加不限个数的测试项。

       每个测试项有自己的测试程序,测试通过后把结果发送给 GUI 即可。各个测试程序互不影响。

3. 纯 C 语言编程

工具设计的界面,它可以一边测试一边烧写:

上图中的 led、speaker 按钮,可以点击:

1.当你看到 LED 闪烁时,就点击 led 按钮,它变成绿色表示测试通过;

2. 当你从耳机里听到声音时,就点击 speaker 按钮,它变成绿色表示测试通过。

       其他按钮无法点击,接上对应模块后会自动测试,测试通过时图标就会变绿。

       上图中的蓝色按钮表示烧写 EMMC 的进度,烧写成功后它也会变绿。

       LCD 上所有图标都变绿时,就表示测试、烧写全部完成;某项保持红色的话,就表示对应模块测试失败。

二、程序框架:

设计到的知识点:

1.Framebuffer应用编程        2.文字显示及图像显示         3.输入系统应用编程

4.网络通信编程                    5多线程编程

三、编程规范:

初学写的代码

现在要规范的代码:

你能把一个项目拆分成各个子系统吗?

并且这些子系统跟业务无关,

以后还可以应用在其他项目上!

对于一个子系统,

你怎么抽象出它的对外接口?

考虑周全了吗?

容易扩展吗?

跟别的模块耦合要尽量少!

这个项目可以锻炼我们哪些能力?

我们教给你的是“基础能力”:

1.良好的编程规范

2.面向对象的编程思想

3.练习对事物的抽象能力

4.练习对整个系统的把控

四、扩展项目:

       很多产品的项目界面都是和我们这个项目的界面类似的,可以称我们这个项目是这些类似项目的基础项目:

       

五、项目资料:

关于这个项目的所有源代码已经绑定在本文章中。

后续博客会对这些文件中的资料代码,项目是如何实现功能的这几个方面进行讲解

很多产品的界面都是类似的

目录
相关文章
|
4月前
|
安全 Linux Shell
四、Linux核心工具:Vim, 文件链接与SSH
要想在Linux世界里游刃有余,光会“走路”还不够,还得配上几样“高级装备”。首先是Vim编辑器,它像一把瑞士军刀,让你能在命令行里高效地修改文件。然后要懂“软硬链接”,软链接像个快捷方式,硬链接则是给文件起了个别名。最后,SSH是你的“传送门”,不仅能让你安全地远程登录服务器,还能用scp轻松传输文件,设置好密钥更能实现免-密登录,极大提升效率。
419 4
|
3月前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
225 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
3月前
|
SQL 安全 Linux
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
191 1
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
|
3月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
233 1
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
|
4月前
|
安全 Linux 网络安全
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
344 2
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
|
4月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
435 1
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
|
4月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
357 16
|
4月前
|
安全 Linux iOS开发
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
239 0
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
|
4月前
|
安全 Linux 网络安全
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
590 0