linux
文章平均质量分 84
Quard_D
嵌入式爱好者,对嵌入式linux、RTOS、裸机均颇有研究,目前最感兴趣的是RISC-V相关。
展开
-
嵌入式开发实用工具——QFSViewer
今天给大家推荐个我个人业余时间开发的一个嵌入式开发实用工具——QFSViewer,这个工具主要是用来加载查看各种嵌入式常用的文件系统映像,目前支持JFSS2、Fat32、Fat16、Fat12、exFat、Ext2、Ext3、Ext4等文件系统。QFSViewer不同于很多工具需要将文件系统映像文件通过loopback设备挂载到系统中,而是直接加载文件系统映像文件,全程通过用户态软件解析文件系统,因此不需要root权限,也不需要挂载到系统中。原创 2023-08-08 22:43:53 · 400 阅读 · 0 评论 -
嵌入式Linux上ifpulgd的使用配置与qemu模拟验证
最近在项目开发中收到了一个非常简单的需求,我们的嵌入式Linux板卡需要在检测到网口插拔后重新配置网络,这在pc环境中非常常见。但是在这个项目的默认SDK中并没有相关配置,稍微查询了一下,在一般pc上通常使用Ifpulgd,并且在较新的busybox中已经提供了这个实用程序,而我们使用的旧版并未提供,因此我这里记录下使用和配置过程并且在qemu中进行了模拟验证。ifpulgd非常简单,下载最新的 busybox源码,编译生成的 ifpulgd位于/usr/sbin中。busybox并沒有提供示例说明,这里我原创 2022-12-04 01:55:18 · 1037 阅读 · 1 评论 -
SOL_SOCKET套接字选项SO_RCVBUF
最近一个跨平台项目SDK中配置SO_RCVBUF时发现在不同的平台上配置相同的值,但却产生了不同的结果,经过分析验证最终发现SO_RCVBUF的size最大值在不同OS上有着不同的限制,本文就此总结如下。原创 2022-08-22 11:48:26 · 1113 阅读 · 0 评论 -
qemu常用参数选项说明
qemu常用参数选项说明在我的系列博客《基于qemu-riscv从0开始构建嵌入式linux系统》中使用qemu项目一步步构造搭建了嵌入式linux系统,而其中在run.sh中qemu的启动参数选项非常多且繁杂,因此本文将对其进行归纳整理。设备类型(-machine/-M)在qemu中,不同的指令集的模拟器会编译成不同的可执行文件,诸如:qemu-system-x86_64/qemu-system-aarch64/qemu-system-arm/qemu-system-mips/qemu-system原创 2022-03-03 12:04:08 · 23103 阅读 · 12 评论 -
kgdb调试linux内核以及驱动模块
kgdb调试linux内核以及驱动模块本文将简要描述如何配置kgdb进行内核以及驱动模块调试,以嵌入式开发为例,但同样对于其他有需要调试kernel有一定的参考价值。本文实验环境为qemu搭建的riscv64模拟器环境,笔者之前有系列博客详细描述了环境搭建,可供参考——《基于qemu-riscv从0开始构建嵌入式linux系统》。修改内核配置在linux 5.10版本上,KGDB已经受支持,因此仅需要修改内核配置就可以打开此功能。CONFIG_KGDB配置CONFIG_KGDB=y,以启用kgdb原创 2021-09-15 17:51:50 · 7758 阅读 · 5 评论 -
qemu运行riscv64 linux
使用qemu运行riscv64 linux本文编写于2021.6.6,经笔者测试所述编译配置流程均正确,如若出现错误,请检查各组件版本是否和笔者使用的一致。附:各组件版本号为linux-5.10.42,busybox-1.33.1,U-Boot 2021.04,OpenSBI v0.9,qemu-5.2.0,riscv64–glibc–bleeding-edge-2020.08-11.编译u-boot,生成u-boot.bin文件make CROSS_COMPILE=/opt/riscv64--gli原创 2021-06-06 17:46:58 · 3069 阅读 · 1 评论 -
dma_alloc_coherent申请的内存用来初始化自旋锁导致内核oops
dma_alloc_coherent申请的内存用来初始化自旋锁导致内核oops问题引入最近在arm linux平台开发调试一个ip的驱动,这个驱动原本是在较早的linux内核版本上验证的,并且是使用的arm920平台,而现在我们需要将他移植到armv7a的平台上,并且使用较新的linux5.4.67版本的内核,调试过程中遇到了一处内核恐慌,报错如下[17:13:01:765][ 17.282207][ T36] Unhandled fault: external abort on non-li原创 2020-12-11 10:17:30 · 844 阅读 · 0 评论 -
Qt5.12静态编译方案,size优化(2020)
Qt5.12静态编译方案截止当前,Qt最新的LTS版本是5.15,是今年才发布的,次新的LTS版本就是Qt5.12。因为由于官方提供下载的二进制版本的Qt均为动态库的形式,对于开发小工具来讲,往往需要进行静态编译以方便发布。目前网络上的一些博客中的Qt静态编译方案已经比较老旧了,不适合新版本使用,而且目前的新版本Qt静态编译已经变得非常简单了,这里在此记录描述。本文所使用的配置编译出的静态库仅包含release版本,且安装size优化,目的是尽可能生成较小的二进制程序。版本选择为qt5.12.8版本。分别原创 2020-09-13 17:20:34 · 3099 阅读 · 1 评论 -
使用Qt Creator远程调试部署应用到嵌入式linux开发板
使用Qt Creator远程调试部署应用到嵌入式linux开发板最近在调试开发一款Cottex-A5的开发板上的应用,主要使用了Qt作为GUI开发应用,之前用Yocto搭建好系统发行版和主机交叉编译开发环境后,使用Qt Creator加载交叉编译好的的Qt SDK包,一般完成编译后生成可执行程序然后拷贝到开发板文件系统内执行,若需要调试还得在开发板上使用gdbserver启动调试服务然后主机连接调试,过程操作较麻烦。因此这里可以使用Qt Creator提供的远程部署调试,操作如下:配置远程设备点击工具原创 2020-08-23 21:39:09 · 4766 阅读 · 2 评论 -
MCU平台libjpeg9移植使用说明
MCU平台libjpeg9移植使用说明随着MCU平台的性能越来越强大,在MCU上使用jpeg软解码也成为可能,本文就将libjpeg移植做以说明。libjpeg 是一个广泛使用的 JPEG 图像压缩/解压开源库,采用 C 语言开发。因此可以方便的移植到各种平台上。可以在这样下载源码 http://www.ijg.org/files/这里我们使用最新的libjpeg9版本,早先的libjpeg6版本中仅提供的接口都是从文件读取源数据,而我们希望的是从内存中输入源数据,在libjpeg9版本中新增了jpe原创 2020-06-21 17:48:24 · 2570 阅读 · 0 评论 -
ch340usb转串口在linux上波特率误差
ch340usb转串口在linux上波特率误差前段时间在使用linux mint 19.01系统上使用ch340的usb转串口工具,发现波特率在961200的情况下数据总是不正确,而在115200波特率下又是正常的,于是在谷歌上搜索了一下,发现我使用的系统采用的linux内核版本4.15.0上ch340的驱动存在波特率误差的问题。在一番搜索下在这里找到了一个对内核驱动的patch:https:...原创 2020-03-09 20:01:51 · 2835 阅读 · 2 评论 -
linux mint19.01 运行steam错误解决办法
linux mint19.01 运行steam错误解决办法最近在使用linux mint19.01运行steam出现如下错误:X Error of failed request: GLXBadContextMajor opcode of failed request: 154 (GLX)Minor opcode of failed request: 6 (X_GLXIsDirect)...原创 2019-12-15 22:57:02 · 1345 阅读 · 0 评论 -
在Linux Mint19.1中安装MyBase
在Linux Mint19.1中安装MyBase本文使用的环境是Linux Mint19.1,其基于ubuntu18.04故同样适用。mybase是一款知识管理软件,跨平台。在其官网可以下载http://www.wjjsoft.com/download.html这里我下载后直接解压放置在/opt目录内,发现在ubuntu16.04中可以直接打开使用,而在Linux Mint19.1则出现:...原创 2019-07-27 12:35:50 · 1301 阅读 · 0 评论 -
GDB图形界面GUI调试器insight编译使用
0.引言linux环境上做嵌入式开发经常需要使用GDB,对于习惯用win上的gui的ide来说,刚上手不习惯,这里尝试一款GDB的前端GUI工具——insight,使用简单方便,但是它在常用发行版上没有编译好的包,只能自己源码编译安装,这里做以记录。我在刚开始编译时看了一些博客,在处理编译错误的地方很多都修改了源码,导致后续使用可能存在问题,所以我这里并不修改任何源码直接编译成功,目前使用起来暂...原创 2019-03-10 15:17:06 · 3298 阅读 · 2 评论 -
Linux原生软件推荐
Linux原生软件推荐1. 概述2. 日常使用2.1 浏览器---chromium2.2 浏览器---Firefox2.3 记事本---gedit2.4 音乐---网易云音乐2.5 远程协助---TeamView2.6 远程登录---Remmina2.7 系统清理---BleachBit2.8 系统备份---Systemback2.9 邮件---Thunderbird2.10 pdf阅读器---f...原创 2019-02-20 22:19:13 · 4316 阅读 · 1 评论 -
使用systemback备份系统并制作自己的Ubuntu系统镜像
目录systemback制作Ubuntu自己的系统镜像1.安装、制作2.解决镜像大于4GB的问题3.写入镜像到U盘4.结语systemback制作Ubuntu自己的系统镜像最近需要备份自己的系统,同时制作安装镜像在另一台笔记本上安装,这里找到了一款很不错的软件——systemback,以下给出从制作到在另一条笔记本安装的全部流程。1.安装、制作systemback的安装过程很多博客有写,这...原创 2018-10-02 16:05:59 · 9925 阅读 · 3 评论