
常用工具
文章平均质量分 78
日常ubuntu环境搭建及常用工具归纳
Embedded-Xin
沪漂-嵌入式软件开发工程师
正在逐步把之前的笔记整理到博客上,做到稳定的输入与输出!
展开
-
strace工具使用——实战解决文件描述符超限too many open files导致CPU飙高问题
CPU异常飙高,会突然出现飙到百分之110的情况。这周突然飙高大概率和程序死循环执行某事情有关,可以选择拿stace快速定位。原创 2025-01-12 16:39:21 · 374 阅读 · 0 评论 -
Linux-systemd管理——简述常用命令及如何添加一个service
systemd架构是作为所有进程的父进程,以PID为1一直运行在Linux系统中,作为所有进程的父进程,涵盖了Linux操作系统中绝大多数操作,比如用户登陆(loginctl),设备挂载,日志采集(journalctl),网络管理(networkctl)等,以unit file为基本单位。原创 2024-11-17 16:15:08 · 1084 阅读 · 0 评论 -
Linux驱动调试——使用DEVICE_ATTR实现cat、echo指令调试驱动
DEVICE_ATTR宏定义在kernel/include/linux/device.h文件中。struct__ATTR作用:定义一个device_attribute结构体,之后device_create_file使用。_name:名称,在/sys/device/virtual中的名称,##name代表将name的字段直接替换到##_name处,所以假设_name为ap3216c_test,那这边定义的结构体名就是dev_attr_ap3216c_test_mode。原创 2024-06-22 12:35:47 · 1532 阅读 · 0 评论 -
faad2交叉编译——aac解码为pcm,解决faad单通道转双通道问题
FAAD是比较成熟高效的开源AAC解码库,这里用于解码AAC生成PCM数据,用于音频播放。这里因为faad库,会将单通道转化为双通道踩了些坑,所以记录一下。我使用的是2.11.0版本,貌似往前的版本没有使用CMake,需要configure配置编译。原创 2024-05-08 19:44:07 · 1006 阅读 · 0 评论 -
Linux程序调试优化(2)—— 一次学会嵌入式Linux下程序崩溃定位
方法名优点缺点gdb调试简单方便,还能调试其他问题基本仅适用于debug阶段coredump文件+gdb栈回溯可用于release版本需要debug版本挂死才能看到具体行号使用不当会引入其他严重问题signal捕捉挂死信号+backtrace回溯堆栈+rdynamic编译参数不需要-g选项,不增大应用程序体积会增大动态符号表,降低程序运行中动态寻找符号表的效率signal捕捉挂死信号+backtrace回溯堆栈+addr2line获取具体函数地址。原创 2024-04-24 00:22:12 · 1593 阅读 · 2 评论 -
Linux程序调试优化(1)——内存占用详解及优化思路
linux开发最重要的两个参数,分别是内存以及CPU使用率,若内存出现严重不足,则在需要使用内存时,可能出现申请不到的情况,导致,Linux系统主动杀死占用内存比较高的进程。原创 2024-04-15 20:21:48 · 2050 阅读 · 0 评论 -
ntp同步时间原理-openwrt配置编译应用完整版
NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。NTP基于UDP报文进行传输,使用的UDP端口号为123。使用NTP的目的是对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟保持一致,从而使设备能够提供基于统一时间的多种应用。对于运行NTP的本地系统,既可以接收来自其他时钟源的同步,又可以作为时钟源同步其他的时钟,并且可以和其他设备互相同步。原创 2024-03-16 14:11:54 · 827 阅读 · 0 评论 -
timezoneinfo的裁剪移植之uclibc/gclibc/openwrt的最详细实战版!
因为项目需要,产品售卖到国外各个地区,需要能适配各个国家的不同时区,一些国家可能会有多个不同时区,并且还存在冬夏令时问题,都需要做到一次性的兼容。而目前板子上可用的flash空间也已经不足200KB,需要同时考虑对flash空间节省。网上的资料并不齐全,这里完成后特地进行总结。这里需要做到,例如收到后,需要得出对应时区的UTC偏移,然后更改系统时间,并且是需要适应冬夏令时的情况。按照网上资料进行zoneinfo移植并设置时区后,发现时间并不对,后来查找资料发现。原创 2024-03-07 10:35:26 · 1377 阅读 · 3 评论 -
ubuntu配置多个git账号同时使用
主要是解决一个电脑下使用多个git账号的问题原创 2022-05-11 22:27:03 · 1466 阅读 · 0 评论 -
Ubuntu桥接模式设置固定IP
最近在做项目时,总是遇到虚拟机IP改变的情况。非常烦,于是决定设一个固定IP。1.第一步,打开虚拟机设置设置桥接模式,记得勾选复制物理连接状态2.打开虚拟网络编辑器点击更改设置选择桥接模式,自动桥接设置完后启动虚拟机即可。3.在终端输入命令 **sudo vi /etc/network/interfaces**添加如下代码:(如果自己的网卡是eth0 则将eth0更改为eth0)auto ens33iface ens33 inet staticaddress 192原创 2021-03-15 20:37:07 · 1230 阅读 · 2 评论