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

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

3天内不再提示

嵌入式Linux开发秘籍!工程师大佬亲历分享项目样例

电子发烧友论坛 来源:未知 2023-05-23 08:20 次阅读

电子发烧友技术探索官,分享你的原创电子行业文章!


本期小编继续为大家分享一些优秀专栏原创技术文章,供大家一起学习交流。




本期推荐

专栏作者:嵌入式技术

专栏介绍:精通STM32开发(寄存器、HAL库)、PCB电路设计Linux下进程、线程、网络编程等。


Linux下基于GTK人脸识别界面设计


GTK(GIMP Toolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包。最初是为GIMP写的,已成为一个功能强大、设计灵活的一个通用图形库,是GNU/Linux下开发图形界面的应用程序的主流开发工具之一。当然,GTK也是支持跨平台的,支持Unix类的系统、Windows,甚至手机平台。


GTK是使用C语言写的,所以其原生API都是面向C的,同时GTK的一大特点是,在C语言层面实现了面向对象的特性。GTK是完全免费的,而且基于LGPL协议,这可以保证私有软件通过链接使用GTK可以不把软件源代码开放,对商业应用较友好,这跟GPL协议是不一样的。也正是LGPL协议,使得早些年Gnome(基于GTK编写)风头胜过KDE(基于QT编写)。(开发流程如下图)



>>>点此查看全文




Linux下基于SDL库贪吃蛇游戏


SDL(Simple DirectMediaLayer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、MacOS X等)的应用软件。现SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。


实现原理

贪吃蛇游戏实现方式很多,可以通过链表方式实现,也可以通过结构体数组方式实现。结构体主要用来保村蛇身的坐标位置和长度。移动蛇身则通过不断遍历结构体数组,刷新屏幕窗口即可。



>>>点此查看全文




Linux下V4L2框架基于SDL库本地USB摄像头监控


1.摄像头框架编程步骤

(1)打开摄像头设备(/dev/video0 、/dev/video1 );


(2)设置图像格式:VIDIOC_S_FMT(视频捕获格式、图像颜色数据格式、图像宽和高);


(3)申请缓冲区:VIDIOC_REQBUFS(缓冲区数量、缓冲映射方式、视频捕获格式);


(4)将缓冲区映射到进程空间:VIDIOC_QUERYBUF(要映射的缓冲区下标、缓冲映射方式、视频捕获格式);


(5)将缓冲区添加到队列中:VIDIOC_QBUF(映射的缓冲区下标、缓冲映射方式、视频捕获格式);


(6)开启摄像头采集:VIDIOC_STREAMON (视频捕获格式) (7)从采集队列中取出图像数据,通过SDL图像渲染;



>>>点此查看全文




Linux下IIC子系统和触摸屏驱动


I2C( Inter-Integrated Circuit)总线是由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。


I2C特性

(1)只要求两条总线线路一条串行数据线SDA,一条串行时钟线SCL;


(2)每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址,主机可以作为主机发送器或主机接收器


(3)它是一个真正的多主机总线,如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁防止数据被破坏;


(4)串行的 8 位双向数据传输位速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达 3.4Mbit/s;


(5)片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整;


(6)连接到相同总线的IC数量只受到总线的最大电容400pF;


IIC是属串行通讯总线,同步传输、半双工。


I2C 总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一个唯一的地址(可以从I2C 器件的数据手册得知),主从设备之间就通过这个地址来确定与哪个器件进行通信,在通常的应用中,我们把 CPU 带 I2C 总线接口的模块作为主设备,把挂接在总线上的其他设备都作为从设备。



>>>点此查看全文




Linux下基于HTTP网页视频监控


超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。


HTTP的发展是由蒂姆·伯纳斯-李于1989年在欧洲核子研究组织(CERN)所发起。HTTP的标准制定由万维网协会(World Wide Web Consortium,W3C)和互联网工程任务组(Internet Engineering Task Force,IETF)进行协调,最终发布了一系列的RFC,其中最著名的是1999年6月公布的 RFC 2616,定义了HTTP协议中现今广泛使用的一个版本——HTTP 1.1。

HTTP 是一个基于 TCP/IP 通信协议来传递数据( HTML 文件, 图片文件, 查询结果等)。工作于客户端-服务端架构上,默认端口号为 80,但是你也可以改为 8080或其它端口号。HTTP协议永远都是客户端发起请求,服务器回送响应。



>>>点此查看全文






声明本文由电子发烧友社区发布,转载请注明以上来源。如需社区合作及入群交流,请添加微信EEFans0806,或者发邮箱liuyong@huaqiu.com。


更多热点文章阅读

  • 基于Cortex-M3内核的32位微控制器,STM32项目实战分享!

  • 基于32位RISC-V设计的互联型微控制器,沁恒微CH32V307开发样例

  • RK3568!四核64位ARMv8.2A架构,汇聚编译源码及实战样例

  • 尺寸仅有21mm*51mm,板边采用邮票孔设计,合宙 Air105 核心板开发总结

  • 电子工程师分享:常用电平转换电路、电源自动切换电路、太阳能充电电路总结


原文标题:嵌入式Linux开发秘籍!工程师大佬亲历分享项目样例

文章出处:【微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。

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

原文标题:嵌入式Linux开发秘籍!工程师大佬亲历分享项目样例

文章出处:【微信号:gh_9b9470648b3c,微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为什么嵌入式驱动开发工程师可以拿高薪?

    为什么嵌入式驱动开发工程师可以拿高薪? 嵌入式驱动开发,属于需求量大、薪资断崖升高的热门岗位
    发表于 01-07 16:56

    嵌入式工程师常用的开发工具有哪些?

    项目管理和调试。IAR Embedded Workbench 也是广受欢迎的 IDE,具有出色的优化能力和调试工具,能够帮助工程师快速开发出高质量的嵌入式软件。 二、编译器 编
    发表于 12-20 15:29

    有什么比较热门的嵌入式项目

    大佬们想问一下可以做什么嵌入式项目好找工作?工作1到2年左右
    发表于 11-08 09:57

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

    ​想要深入学习嵌入式Linux开发吗?现在机会来了!我们为初学者们准备了一份全面的资料包,包括原理图、教程、课件、视频、项目、源码等,所有资料全部免费领取,课程视频可试看(购买后看完整
    的头像 发表于 09-05 10:45 297次阅读
    【免费分享】<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 542次阅读

    嵌入式linux开发板怎么操作

    嵌入式Linux开发板是一种基于Linux操作系统的嵌入式系统开发平台。它通常包括一个处理器、内
    的头像 发表于 09-02 09:09 420次阅读

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

    嵌入式Linux开发板是一种基于Linux操作系统的嵌入式系统开发平台,它广泛应用于工业控制、智
    的头像 发表于 09-02 09:07 418次阅读

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

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

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

    【出版发行】嵌入式系统原理与开发——基于RISC-V和Linux系统
    的头像 发表于 07-26 08:36 352次阅读
    【出版发行】<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 636次阅读
    专家力荐|《<b class='flag-5'>嵌入式</b>系统原理与<b class='flag-5'>开发</b>——基于RISC-V和<b class='flag-5'>Linux</b>系统》新书发售

    嵌入式开发前景怎么

    嵌入式开发前景非常广阔,这主要得益于物联网、人工智能、大数据等技术的快速发展,以及嵌入式系统在各个领域的广泛应用。以下是对嵌入式开发前景的详细分析
    的头像 发表于 07-10 09:00 2779次阅读
    <b class='flag-5'>嵌入式开发</b>前景怎么<b class='flag-5'>样</b>?

    嵌入式软件工程师如何提升自己?

    的发展打下坚实的基础。 2.掌握专业技能 除了基础知识外,嵌入式软件工程师还需要掌握专业的技能。这包括熟练掌握嵌入式系统的开发工具、硬件平台和软件
    发表于 06-12 11:20

    嵌入式软件工程师和硬件工程师的区别?

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件
    发表于 05-16 11:00

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

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

    嵌入式Linux开发的三种方式

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