文章 2023-11-07 来自:开发者社区

[面试必备]嵌入式Linux内核开发必须了解的三十道题

Linux的同步机制从2.0到2.6以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随Linux从单处理器到对称多处理器的过渡。伴随着从非抢占内核到抢占内核的过度。Linux的锁机制越来越有效,也越来越复杂。1)Linux的内核锁主要是自旋锁和信号量。自旋锁最多只能被一个可执行线程持有,如果一个执行线程试图请求一个已被争用(已经被持有)的自旋锁,....

[面试必备]嵌入式Linux内核开发必须了解的三十道题
文章 2023-09-12 来自:开发者社区

嵌入式Linux QT开发之如何实现获取磁盘空间大小的应用逻辑

在Window系统上,打开我的电脑,我们就能够看见系统的每个磁盘的可用空间以及总空间,如下所示:在嵌入式Linux与QT界面结合的产品开发中,我们在做产品的文件管理模块通常来说也需要做这样一个功能。那么如何来实现呢?方法一:(参考QT大神-飞扬青云的磁盘容量空间控件实现)利用Linux系统天生就已经提供的df命令来获取,例如我们可以带上-h参数,这样就可以获得以人类可读的格式显示输出,如下所示:....

嵌入式Linux QT开发之如何实现获取磁盘空间大小的应用逻辑
文章 2023-06-21 来自:开发者社区

嵌入式linux之go语言开发(十三)LittlevGL,漂亮的嵌入式GUI的go语言绑定

LittleVgl,一款开源嵌入式图形用户界面库。https://littlevgl.cn/使用简单小巧,界面也漂亮。很适合用在嵌入式上。在Stm32单片机上都能跑,只要实现了基础的函数很好移植。看下stm32单片机下的效果:业余时间移植到了嵌入式linux上,使用帧缓冲Frambuffer,显示效果还不错。计划选用LittleVgl作为嵌入式的漂亮的UI。其他GUI如QT,miniGUI,周立....

嵌入式linux之go语言开发(十三)LittlevGL,漂亮的嵌入式GUI的go语言绑定
文章 2023-06-21 来自:开发者社区

嵌入式linux之go语言开发(十二)参数配置文件存储模块开发

参数配置和存储是经常用到的功能。比如常用的可以用json文件,XML文件,或INI文件,YAML文件,properties文件等存储配置信息。但是,这些都不够简单。我想要的简单有多简单呢?整个互联网上没有比这更简单好用的。例如,我想保存个IP地址和端口参数。理想是这样的:syscfg.ip = "218.28.133.181"syscfg.port = 22288syscfg.saveCfg()....

嵌入式linux之go语言开发(十二)参数配置文件存储模块开发
文章 2023-06-21 来自:开发者社区

嵌入式linux之go语言开发(十一)让web服务器跑在终端上,通过网页配置终端参数

以数据网关或集中器设备为例,有人知道吧。这玩意儿没界面,但是还一大堆参数需要配置。那怎么搞?做个上位机工具,做界面,再做个串口协议一个个的搞吗?太繁琐了,不但得制定协议,还得造工具配合调试,发布时还得配套给用户提供工具安装和使用。这么麻烦的安装配置和使用,如何让用户好用,易用,爱用?如果有一web界面,可以通过网页访问它,通过电脑在web网页中对终端参数进行配置岂不是很爽?只要能访问到集中器设备....

嵌入式linux之go语言开发(十一)让web服务器跑在终端上,通过网页配置终端参数
文章 2023-06-21 来自:开发者社区

嵌入式linux之go语言开发(十)

之前使用go语言,业余时间,两天就做出来了一版简易车载pos应用。可以支持银行卡双免https通信方式刷卡消费,二维码扫码消费。有界面显示,语音播放,串口通信。如果只是支持联机业务且不存储,不查询记录等功能,完全是一联机pos了。只完成了cpu卡驱动封装,支持cpu卡,不支持psam卡,也不支持M1卡,也没存储记录。之前也一直没再继续更新。但是这离最终的目标还远。最近想再坚持坚持,继续完善一点儿....

嵌入式linux之go语言开发(十)
文章 2023-06-21 来自:开发者社区

嵌入式linux之go语言开发(九)关于嵌入式GUI

go语言没有官方的GUI。其实怎么说呢,这一块儿的需求也不怎么迫切。毕竟每个语言都有自己擅长的领域。在电脑上开发界面还是C#或QT或java的swing来的快。没必要非用go吧,更多的是在电脑上基于web的BS架构的模式。在嵌入式上呢?笔者考察了好多GUI,目前没有发现太满意的。如QT,LittlevGL,Guilite,awtk,Nuklear等。这些GUI怎么说呢?要么太庞大,要么依赖一大堆....

文章 2023-06-21 来自:开发者社区

嵌入式linux之go语言开发(八)存储模块的封装(二)

接着上一篇的继续,使用go实现一个适用于嵌入式上的存储模块。简单易用,使用简单方便。由于在终端上,不需要执行复杂的sql查询,多表级联查询等。就是用来存储记录的,因此设计为存储到表里的都为二进制的字节流。还有一个原因是终端上记录字段变动频繁,不适合动不动就更改数据库的表结构吧。如果想要方便记录的解析,可以结合protobuf把数据序列化为字节流存储进去。以下为按照这个思路的实现的存储方案:首先记....

嵌入式linux之go语言开发(八)存储模块的封装(二)
文章 2023-06-21 来自:开发者社区

嵌入式linux之go语言开发(八)存储模块的封装(一)

在嵌入式终端设备上,免不了要存储记录、上传记录、查看记录等操作。我称之为储存模块。怎样的操作接口,最好用?最方便?首先想到的是使用嵌入式数据库sqllite,没错,选他作为存储媒介,用go调用也是很方便的。但是,这还远远不够。原生的sql操作,若不做个封装,将会是很难用。另外,已经有很多ORM框架,即对象关系映射,将面向对象语言程序中的对象自动持久化到关系数据库中,就满足要求了吗?这也还不够。我....

文章 2023-06-21 来自:开发者社区

嵌入式linux之go语言开发(七)protobuf的使用

之前写过一篇博文:《如果终端采用protobuf与采集前置通信,能带来哪些变革?https://blog.csdn.net/yyz_1987/article/details/81147454》,介绍了使用protobuf作为序列化通信格式的诸多好处。那么接下来在嵌入式linux之go语言开发实战中,也尝试用protobuf作为序列化和通信的协议格式。之前想做个protobuf序列化的反向解析工具....

嵌入式linux之go语言开发(七)protobuf的使用

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Linux宝库