![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
2.1.1 linux嵌入式经验
文章平均质量分 60
2.1.1 linux嵌入式经验
vimer-hz
书是越读越薄的
展开
-
系统调用与系统库函数
Chatgpt]您是对的,即使在上述示例中使用了 `open`、`read` 和 `close` 系统调用,实际上编译后的程序也会链接到 C 标准库(libc)中的相应函数。[问]上述的open/read/close虽然是系统调用,但实际的linux程序编译时会使用libc.so封装的open/read/close函数,相当于还是linux应用程序先调用库函数,再调用系统调用呀?需要注意的是,直接调用系统调用可能会导致代码的可移植性下降,并且需要更多的关注和处理错误情况。原创 2023-12-09 18:27:32 · 427 阅读 · 0 评论 -
如何向initrd.img的脚本init里添加打印
initrd.img的init脚本会先将devtmpfs类型的udev文件系统挂载到/dev目录,然后挂载真正文件系统${rootmnt},最后会将/dev迁移到${rootmnt}/dev.所以,可以向/dev/kmsg下写数据,系统起来后可以在真正文件系统中看到打印.(i)解压initrd.img-4.19.0-arm64-desktopcd /home/xxxpccp /boot/initrd.img-4.19.0-arm64-desktop ./initrd.img.gzg.原创 2021-04-14 23:06:47 · 538 阅读 · 0 评论 -
initrd阶段加打印和打断点调试步骤
1 解压initrd.imgcd /home/usercp /boot/initrd.img-2.6.15-ubuntu-r6 ./initrd.img.gzgunzip initrd.img.gzmkdir initrdcd initrd cpio -i -d < ../initrd.img2 压缩initrd.imgfind . | cpio -o -H newc > ../myinitrd.imgcd .. ...原创 2021-04-13 23:08:30 · 345 阅读 · 0 评论 -
systemd-analyze和systemctl常用方法
(一)systemd-analyze1 systemd-analyze [OPTIONS...] [time]启动时间:内核态时间+用户态时间.2systemd-analyze blame显示上次开机时的所有服务,并显示服务耗时.3 systemd-analyze [OPTIONS...] critical-chain [UNIT...]为指定的单元(省略参数表示默认启动目标单元)以树状形式显示时间关键链(time-critical chain)。"@"后面的时刻...原创 2021-04-18 23:05:50 · 2846 阅读 · 4 评论 -
systemd介绍
1 systemd基本概念systemd:a system daemon,相当于以前的init进程,pid=1,systemd是1号进程!!!sbin/init--> /lib/systemd/systemdunit:一个进程,例如lightdm.servicejob:一个动作,启动是个job,关闭是个job。开机启动时,systemd会默认加载default.target(graphical.target)配置单元unit详细介绍:socket:此类配..转载 2021-04-12 22:31:33 · 4829 阅读 · 0 评论 -
linux常用指令
挂载U盘:mkdir /mnt/usbmount -t vfat /dev/msa1 /mnt/usbumount /dev/msa1原创 2020-08-16 15:35:32 · 453 阅读 · 0 评论 -
grep常用指令
(i)递归查找字符串grep getSharedPreferences -R -n./-R:递归查找-n:显示行号(ii)指定查找目录grep "init.environ.rc" -R -n /system/core(iii)"与"操作查找两个字符串grep A | grep B //显示既匹配A又匹配B的行例如:...原创 2019-12-22 23:06:29 · 680 阅读 · 1 评论 -
git常用指令
1 向主仓提交代码1配置用户名和邮箱git config --global user.name xxxgit config --global user.email xxxgit config -l 2 clone个人仓代码,remote添加主仓代码git clone xxx_个人仓.gitgit remote -vgit remote add zhugan xxx_主仓.git3 修改本地代码,更新个人仓git pull --rebase zhug...原创 2021-03-24 23:22:00 · 1542 阅读 · 0 评论 -
linux根据xxx.so下载xxx源码,编译和安装
本文介绍了linux下根据xxx.so下载xxx源代码,编译和安装的过程。以sdl,x11为例。注意aptitude是apt apt-get等指令的封装。1 sdl(1)根据so找出源码包名字找出相关sofind /usr/lib -name "*SDL*"根据so名字确定源码包aptitude search libSDL2 ==>sdl软件包为libsdl2-2.0-0(2)查看软件包详细信息,下载软件包源码打开deb-src,用来下...原创 2021-04-11 15:51:20 · 1575 阅读 · 0 评论 -
udev介绍
1 什么是udevudev是一种工具,它能够根据系统中的硬件设备的状态动态更新设备文件,包括设备文件的创建,删除等。设备文件通常放在/dev目录下。使用udev后,在/dev目录下就只包含系统中真正存在的设备。设备访问控制udev:user dev静态文件(早期)-->devfs(2.3.46 内核空间)-->udev(2.6.13 用户空间,依赖于linux-2.6的sysfs文件系统)。udev会根据/etc/udev/udev.conf文件中的udev_rules指定的转载 2021-04-24 21:46:48 · 2772 阅读 · 0 评论 -
金步国udev
金步国index里有4条udev相关的.[1] udevadm[2] udev[3] systemd-udevd.service //udevd守护进程[4] udev.conf[1] udevadm1 udevadm info [options] [devpath|file|unit...]从udev数据库中提取设备信息。位置参数用于指定一个或多个设备,它可以是 一个设备名(必须以 /dev/ 开头)、 一个 sys 路径(必须以 /sys/ 开...转载 2021-04-24 21:48:33 · 878 阅读 · 0 评论 -
天嵌TQ210挂载NFS文件系统详细步骤
第一篇CSDN文章,解决了天嵌TQ210在ubuntu下挂载NFS文件系统(linux)的问题。特意总结下这篇文章,因为自己耗费了一天时间在这,虽然网上很多挂在NFS文件系统的资料,但是很少有针对TQ210的,记录下具体步骤目的在于自己别忘了,更希望大家少走弯路。(一)开发环境开发板:天嵌科技TQ210宿主机:ubuntu11.10(PC双系统)路由器:PC和开发板最好通过路由器连...原创 2014-02-21 23:02:23 · 2314 阅读 · 2 评论 -
天嵌TQ210编译tslib
编译tslib1.4 /opt/tslib总结《TQ210编译tslib》如下:ubuntu每次重启需要看下arm-linux-gcc-v, 没有的话需要source /etc/environment(1)tarxvzf tslib-1.4.tar.gz(2)第二步:进入tslib之后关键是要设置交叉编译环境(下面是根据我自己的实际情况所添加的)——如果不设置交叉编译环境...原创 2014-03-04 10:30:39 · 1228 阅读 · 2 评论 -
天嵌TQ210在Ubuntu 11.04下编译 OpenCV2.0.0(PC)
(一)先安装cmake(1)网上通用:Apt-getinstall cmake但我安装后有问题,cmake-gui出现段错误。(2)参考《CMake安装和使用》解压cmake-2.8.0-rc4.tar#./bootstrap--qt-gui#./make#./make install好了!!!#./bootstrap –qt-gui关键!!!原创 2014-03-04 12:16:50 · 933 阅读 · 2 评论 -
stdin:not in gzip format
本来想在ubuntu下解压文件,安装软件的。当然需要先把文件从win7下传到ubuntu下了,想到最简单的方法自然是U盘来回移动了。于是就将qt.tar.gz复制到ubuntu了。接着 tar -xvzf qt.tar.gz问题于是出现了gzip:stdin:not in gzip format。各种百度,大概都这么说:先file下看下文件属性,然后改变-xvzf -xvjf ...原创 2015-04-26 10:53:00 · 1005 阅读 · 2 评论 -
信号处理函数中的死锁
本文总结了因为信号处理函数里调用不当,导致程序死锁卡住的情况。1 理论支撑信号处理类似中断,当进程捕获到信号(如SIGTERM)后,进程会停止当前的操作区执行信号处理函数,如果中断处理中调用了信号不安全函数,就可能有死锁风险。以Logger类的print函数为例,如果Logger类的实现使用了线程锁:void print(){ lock ...... unlock}如果进程运行时线程1运行了这个print函数,持有了锁,但是还没释放锁。这时信号(如SIGT原创 2021-06-25 13:15:01 · 1151 阅读 · 0 评论 -
linux利用alsa loopback录制应用声音
1 插入黑莓耳机查看耳机设备:arecord -L2启用snd-aloop模块sudo modprobe snd-aloop3 注意检查和修改声音设置(1) 声音设置,右键,高级设置,输出选择模拟输出Loopbacktodo(2) 声音设置,扬声器声音增大到100%,否则录音时声音很小4 应用放音乐例如,浏览器播放视频:https://haokan.baidu.com/v?pd=wisenatural&vid=11754640009786516185 录制...原创 2021-07-28 11:34:03 · 2843 阅读 · 1 评论 -
使用expect自动从对端scp文件
#!/bin/bashpasswd="1234567"echo "passwd:${passwd}"rm -rf *.debexpect -c " spawn scp username@192.168.0.1:/home/username/*.deb ./ expect { \"password\" {set timeout 500; send \"${passwd}\r\"; exp_continue;} }expect eof"ls -lh ./*.debdpk.原创 2021-09-06 15:00:53 · 170 阅读 · 0 评论 -
shell脚本常用语法
表示上个命令的退出状态,或函数的返回值。原创 2021-08-28 17:25:38 · 388 阅读 · 0 评论 -
[github]The requested URL returned error: 403(429)
git clone https://github.com/hanyuhang-hz/jni-functions.git修改代码git push origin main昨天想把之前的jni-functions上传到github上,才发现Github2021.8.13起不再支持基于密码的授权方式,后续出现的问题记录下。1问题:Support for password authentication was removed on August 13, 2021.Authentication f...原创 2021-12-18 11:56:20 · 2559 阅读 · 2 评论 -
天嵌TQ210在ubuntu11.04下编译opencv2.2.0(ARM)
Bad value makeccflags=-fPIC 试试cmake-gui编译的opencv竟然不知道在那里添加CFLAGS。Opemcv-arm编译成功:原创 2014-03-04 16:56:39 · 1001 阅读 · 2 评论 -
TQ210开发板人脸检测代码优化(2)
通过上一次的优化:见http://blog.csdn.net/u012906122/article/details/27187007注意每次paintEvent()的时间:原创 2014-05-27 17:31:35 · 958 阅读 · 2 评论 -
TQ210开发板人脸检测代码优化(1)
源代码见:http://blog.csdn.net/u012906122/article/details/26847447跑在TQ210开发板上的测试时间如下:原创 2014-05-27 11:45:46 · 1372 阅读 · 2 评论 -
人脸检测代码详细解析
转载的出处和链接:http://blog.csdn.net/jasonque/article/details/8471572转载 2014-05-24 17:11:15 · 4354 阅读 · 2 评论