linux
文章平均质量分 65
青澜爸爸
不牛x,只想做个记录
展开
-
ZYNQ petalinux 2022 DMA调试
petalinux dma原创 2022-06-15 22:31:05 · 1285 阅读 · 0 评论 -
关于linux信号对sleep的影响与相关对策
关于linux信号对sleep的影响首先想说用sleep来定时是不靠谱的简单记录一下当前有个功能,底层传递一个信号上来,然后linux应用会调用相关的中断处理函数。但是每次触发了信号,主程序里面sleep函数就直接退出了。主程序就乱了。那么首先想的是为什么sleep会退出?NAME top &nbs...原创 2020-04-22 14:04:17 · 840 阅读 · 0 评论 -
am5728 uboot console到uart8
随意的标题一最近碰到个需求,原来am5728的console是在uart3上面的,然后需要改到uart8,一般来说这个并没有什么难度,但是看了下,有点懵逼,因为麻烦的是uboot串口默认1-6是随意切换的,但是后面7往后就没有那么简单了.于是还是写下来记录一下.捡一些重要的说一下.主要参照的是ti论坛内的一个回复修改的,但是当前写博客的时候,我已经懒得去找那个链接了…代码修改dtb切换输...原创 2019-11-22 09:07:19 · 467 阅读 · 0 评论 -
sscanf造成的越界
这几天写代码的时候发现了一个错误,比较奇怪。代码如下:#include "stdio.h"#include "stdlib.h"#include "stdint.h"int main(){ uint8_t a = 0; uint16_t b = 0; uint32_t c = 100; uint8_t buff[] = "1 2"; sscanf(buff,"%d %d"...原创 2019-11-03 17:01:22 · 1511 阅读 · 0 评论 -
libmad的使用 mp3解码 实现套路
硬件环境: imx6ul 自制电路板 本次中使用到了cs4344和pt12913(这两个没啥说的一个i2s,一个i2c但是蛮好用的)。软件: linux 3.14.10(好像是,记不清了) libmad 0.15.1b最大的感觉是这玩意蛮方便,但是使用过程中还是被他坑了一波(其实说到底还是自己太水)。 在这里吐槽一下我司,项目经理和产品实在是比较无力,没啥说的。 最差的端午。2天...原创 2018-06-19 00:51:55 · 2880 阅读 · 0 评论 -
alsa frame period period_size buffer_size 等解释
英文原版FramesPeriods一个frame就等于一个要被播放的声音样本。与通道数和样本长度无关。 例子:1帧立体声48khz 16位的pcm数据长度为4bytes1帧5.1正道48k 16位pcm流的大小为12bytes一个period就是每两次硬件中断之间的帧数。poll()会每个周期return一次。 buffer是一个环形buffer,大小一般来说比一个p...翻译 2018-05-24 19:46:42 · 9831 阅读 · 2 评论 -
uboot logo 保持到 kernel或者说延迟logo的显示
方案参考了天外之客大佬的博文硬件配置imx6ul 单核A7 256m 内存 256m nandflash任务清单修改uboot内fb获取的地址。修改uboot内的logo。将fb内存地址传递给kernel在kernel中获取到logo的数据。kernel显示logo修改uboot内fb获取的地址/driver/video/mxsfb.c 在vi...原创 2018-03-28 14:53:10 · 5344 阅读 · 3 评论 -
涨姿势了
UTFH (“Use The Fucking Help”)STFW (“Search The Fucking Web”)STFG (“Search The Fucking Google” or “Search The Fantastic Google”)GIYF (“Google Is Your Friend”)JFGI (“Just Fucking Google It”)UTSL原创 2018-01-08 14:34:37 · 624 阅读 · 0 评论 -
beagleboneblack TI_Android_JB_4.2.2_DevKit_4.1.1 移植
最近在搞Android的项目,正好手里有黑狗板(beagleboneblack)那就拿来用吧主要步骤在 开发引导安卓版本4.2.2 Jelly BeanLet’s go安装各种库啥的sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl libc6-dev libnc原创 2018-01-05 22:38:25 · 489 阅读 · 0 评论 -
cmake学习
http://blog.csdn.net/dbzhang800/article/details/6314073 http://blog.csdn.net/dbzhang800/article/details/6329068 http://blog.csdn.net/dbzhang800/article/details/6329314转载 2017-11-27 19:49:42 · 179 阅读 · 0 评论 -
hostapd和dhcpd
hostapd.conf##### hostapd configuration file ##############################################interface=wlan0ctrl_interface=/var/run/hostapdssid=rtwapchannel=6wpa=2wpa_passphrase=87654321#bridge=br0原创 2017-12-01 17:11:23 · 981 阅读 · 0 评论 -
openssl交叉编译
这几天编译个东西 需要openssl 下载了openssl-1.0.1s.tar.gz 一直编译不过 不是 -m64 就是elfclass32 什么的 搞的怀疑人生 删掉重新下了一个openssl-1.1.0g.tar.gz 瞬间解决战斗大概步骤写一下 ./config no-asm shared –prefix=/usr/local/openssl 修改Makefile 将里面的的原创 2017-11-16 22:28:44 · 735 阅读 · 0 评论 -
sox+ffmpeg+mad+flac
一切为了听歌上次用了libmad 搞了mp3的解码+alsa的音乐播放,但是不可能只是支持一种格式。所以改改改改需要支持 mp3,flac,m4a,wav,wmv…..格式而且在这里我们还有resample channels 等一些关于音频的其他参数的需求,最终我们选用了sox ,sox提供了带其他解码库的编译选项,比方说ffmpeg的库,libavxxxx,libflac,l...原创 2018-08-02 23:14:42 · 2399 阅读 · 0 评论 -
ssh连接成功,但是不能进行通信
本文针对嵌入式linux的情况在前几天开始切内核,然后切完能正常运行,but发现ssh上不去了一直就在Connecting to 134.149.55.30:22...Connection established.To escape to local shell, press 'Ctrl+Alt+]'.这地方停下了。 用的是dropbear。 调试一波发现时无法创建pty...原创 2018-08-31 09:06:49 · 2137 阅读 · 0 评论 -
Qt5.6.3交叉编译
开头最近刚编译了Qt,网上有一大把教程,but我还是要写。主要是感觉太捷豹坑。来来回回的出错。套路我用的是IMX6ul,套路都是一样的起手对qt/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf进行修改,添加自己的编译器。然后就是套路的configure make make install。BUT如果真像套路那么简单我就不写了,碰到了下...原创 2018-11-01 14:39:36 · 2600 阅读 · 0 评论 -
ssd2828调试
很久没写了 来更新下。最近调试了rgb转mipi的一个芯片叫做ssd2828,拿到的是linux上的rgb信号通过一个stm8控制的ssd2828输出mipi的信号。有源码,但是源码真的是比较简陋。源码在我的资源里面。就不放链接了。我做的其实并没有多少东西。主要分两个部分,一个是ssd2828的寄存器配置。另外一个是linux上lcd的设置。ssd2828设置。ssd2828的话,寄存...原创 2019-08-31 17:11:45 · 19976 阅读 · 0 评论 -
python扩展模块交叉编译
搞个啥这篇主要是最近在工作上,需要在板子上跑python,有一些扩展比较麻烦,比方说spidev啥的,单纯的使用 pip install spidev 是不行的,这个会报错。如下: 占个位置,下次补上这就有点蛋疼了。主要问题是在板子上没有交叉编译器,但是有一些C的文件需要编译成库供调用(性能原因??)。但是这样的话就比较麻烦。要么就是找一个for arm的编译器(我自己是在 ar...原创 2019-07-02 11:08:11 · 3090 阅读 · 1 评论 -
sftp搭建
这段时间搭了一个环境写python,发现可以直接部署在板子上,然后直接从pc上进行调试,然后打算搞下sftp东西是比较简单,直接编译openssh就可以得到,但是配置比较蛋疼。首先我的是嵌入式设备,和网上很多的centos或者其他的发行版不一样,裸的linux加文件系统网上很多修改为如下UseDNS noAddressFamily inetPermitRootLogin yesSys...原创 2019-04-28 13:38:02 · 408 阅读 · 0 评论 -
nginx+uwsgi+flask
nginx+uwsgi+flask前提nginxuwsgiflask前提本文主要描述通过这几个软件网页访问嵌入式设备。当前的项目原来的需求是linux上跑一个webserver然后php做后台,在传送python应用到嵌入式设备上,运行python脚本的。移植完成之后发现,python其实也可以做后台的一些东西,那么这样的话 php就省掉了。省了一些空间。效率上没有进行过比较,要求比较低,能...原创 2019-04-02 22:23:48 · 683 阅读 · 0 评论 -
记录一些自己比较常用的命令
2019年3月12日更新linux:查询并替换文件的内容find ./ | xargs perl -pi -e 's|dddd|rrrr|g'搜索dddd替换为rrrr可以通过增加find的参数来控制搜索的文件。原创 2019-03-12 10:24:35 · 359 阅读 · 0 评论 -
linux(imx6ul)开机 内核kernel播放动画(连续刷png图片或者jpg图片)
新鲜出炉,热乎的前言:我们当前的设备对界面亮起来的速度要求比较高,开机需要在3s内show出界面,在我们当前的配置下imx6ul+nandflash的情况下,难度比较大,我们之前做到的结果,通过裁剪内核减少读取内容,并且加快读取速度,基本上只能做到4s前后,那已经是裁减了比较多的东西了,连调试的信息都裁剪掉了。但是看了下友商的东西,起来2.5s就能出图像,略略操蛋。这波不能忍啊:大概评估了...原创 2019-02-22 13:21:44 · 4761 阅读 · 8 评论 -
QtCreator配合gdbserver调试开发板QT程序
这篇主要是记录一下QtCreator配合gdbserver调试板子上面的程序写的,虽然以前也搞过这个套路,但是没写下来这次既然又搞了一次,那就写写吧,把碰到的问题也顺道写写。准备编译好的Qt环境(不会看QT编译)linux PC环境一个 我用的是ubuntu,QtCreator装好gdbserver编译好的一份。开工先配置QtCreator的kit,新增一个kit,然后把各个选项填入...原创 2018-12-29 15:05:48 · 1720 阅读 · 0 评论 -
关于僵尸进程和孤儿进程
转自 https://www.cnblogs.com/Anker/p/3271773.html daleshi大神侵删 1、前言 之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认真...转载 2018-11-28 17:22:21 · 182 阅读 · 0 评论 -
usb热插拔多次之后无法识别
linux version:linux-3.12.10-ti2013.12.01 usb调试过程中,发现多次热插拔之后会出现无法识别的情况。在具体的调试过程之中看到以下dsps_interrupt 401: CAUTION: musb: Babble Interrupt Occurredhub 2-0:1.0: state 7 ports 1 chg 0002 evt 0000hub 2-0:原创 2017-09-26 13:40:06 · 5145 阅读 · 0 评论 -
hdc1000 linux下驱动
linux版本 linux-3.12.10-ti2013.12.01在网上看了一下好像在linux4.x的版本会有hdc1000的驱动,但是我们现在使用的是linux-3.12.10-ti2013.12.01,所以要自己撸,没有办法,撸的不好,求斧正。199 hdc1000:hdc1000@40 {原创 2017-09-18 11:52:45 · 842 阅读 · 0 评论 -
am335x otg配置
这段时间在搞am335的东西,在配置otg的时候摔了个大跟头,搞了好久都没有搞出来。最终皇天不负有心人 还是被我搞定了。大概讲讲过程首先是dts am335x-evm.dts 798 &usb0 { 799 status = "okay"; 800 dr_mode = "otg"; 801 };没有修改33xx的dtsi然后出来就这这幅德行:[ 57.890442] U原创 2017-09-18 11:13:13 · 2701 阅读 · 0 评论 -
c与c++互相调用
本文参考了C中如何调用C++函数 C和C++之间库的互相调用 如有侵权,请告知,谢谢。这几天在写qt的东西,我作为一个终端设备要通过uart与下面单片机进行交互,关于通信协议已经写完(c写的),给他们单片机移植的话的确是挺方便的,但是qt用的是c++。于是调用起来就是C++ -> C -> C++略略有些麻烦分两部分来说说吧C++调用C 这个相对来说会简单一些,主要思路就原创 2016-11-08 17:29:19 · 613 阅读 · 0 评论 -
linux dev_dbg输出
这几天在搞smbus(大致上算是阉割版的i2c吧),在调试的时候碰到了一个问题:内核3.12.10直接perror出来的调试错误信息,只会给你一个Invalid argument,但是在内核同一个函数中有好多地方都返回了EINVAL,根本不知道是错在哪儿找方法解决: 发现返回之前会有一句 dev_dbg(&client->adapter->dev, "size原创 2016-08-26 11:14:47 · 3028 阅读 · 0 评论 -
关于Device tree的问题
在搞am335x的东西,最近到了spi的地方, 按照uart的套路&uart1{ pinctrl - names = "default"; pinctrl - 0 = <&uart1_pins_default>; status = "okay";};我写了spi的套路&spi1 { pinctrl - names = "default"; pinctrl原创 2016-08-05 13:59:50 · 853 阅读 · 0 评论 -
Linux下延时的问题
今天要做延时的东西,us级别。 首先选择了usleep,基本没什么太大用写个usleep(10)也能定时定到10ms去, 后来选择了select,超过5ms左右还是好用的, 再后来nanosleep,然而并没有什么卵用。好像结果也差不多了多少。(此处存疑,平台问题还是其他问题)。到最后。at last! 最霸道的!void Delay(){unsigned char a,b,c;fo原创 2016-08-22 22:52:51 · 676 阅读 · 0 评论 -
关于加载器ld-linux-armhf.so.3
关于加载器ld-linux-armhf.so.3这几天在搞一块am335x的板子,移植完成之后,发现在上面运行程序时候出现-sh: ./a.out: not found这个就很奇怪了。 后来发现并不是我的a.out找不到而是板子当前的环境下,缺少加载器。运行 readelf a.out -aesc_fei@fei-virtual-machine:~/test/hello$ readelf a.ou原创 2016-07-27 11:17:19 · 11005 阅读 · 2 评论 -
C++调用C静态库,出现undefined reference to “” 的问题
哥们在搞一个软件C++写的,跑在linux上,中间涉及到需要调用一个内核中的静态库的步骤。 So here comes the trouble。一开始出现undefined reference to,然而我并不方。这种问题一般都是缺少实现之类的问题。需要添加库,添加头文件路径。添加库路径。So easy! But! 然而并没有成功,WTF,抓耳挠腮,各种路径查一遍,没错啊, 开始宕机。。。。原创 2016-07-15 03:49:16 · 4055 阅读 · 0 评论 -
shell查询xml内容
这几天用到了shell下解析xml的知识,shell好难。这么多符号,完全记不住啊!先贴上xml文件<Config> <Name> metis matrix </Name> <DHCP> on </DHCP> <IP> 192.168.1.1 </IP> <Gateway> 192原创 2016-07-03 17:22:08 · 1234 阅读 · 0 评论 -
dtb文件的反向编译
最近在弄ti的am335x系列,在移植的时候,出现了新概念:dtbdtsdtc说实话看不太懂dts文件,不太好改,但是我手上有一个已经编译可用了的dtb的文件(没有对应的dts),所以选择反编译dtb文件。在内核顶层目录下运行:(am335x-evm2.dtb,是我已有的dtb文件)./scripts/dtc/dtc -I dtb -O dts am335x-evm2.dtb -o myte原创 2016-06-13 13:05:22 · 5172 阅读 · 0 评论 -
Ralink RT5350 GPIO配置(坑了个大爹的)
这几天在做Ranlink RT5350的模块,sdk比较方便,几个命令就基本上完成了所有的配置。但是小弟不才还是遇到了问题:在内核开了GPIO Support的情况下,不管如何调试管脚都不跳变。应用层测试程序如下:#include<stdio.h>#include "ralink_gpio.h"#include <fcntl.h>#define devnode "/dev/gpio"#de原创 2016-06-06 00:30:25 · 5201 阅读 · 0 评论 -
linux定时器流程自我总结
linux定时器流程自我总结1.定义sigaction 2.定义sigevent 3.设定action需要接受的信号,和接受后的handler。 4.将event触发的信号选择为action接受的信号(SIGUSR1或2),和通知方式notify 5.timer_create()生成一个timerid,并且已经将sigevent进行绑定。 6.设定时间。 7.set_timer.原创 2016-05-16 01:31:05 · 393 阅读 · 0 评论 -
waiting for root device /dev/mmcblk0p2
刚刚解决了这个问题 很多问题都能导致这个问题 主要有两种CS脚连接,应该不接。mmcblkxp2配置出错。我这次出在dts配置出错。配置了另外一个管脚。 还有看到mmcblk3p2协作mmcblk0p2 还有管教接不接的问题。原创 2016-11-08 18:15:50 · 10132 阅读 · 0 评论 -
QT QCreator 变量
QT QCreator 版本为4.0.2原创 2016-11-23 15:01:51 · 601 阅读 · 2 评论 -
交叉编译lis3dh
_oo0oo_ o8888888o 88" . "88 (| -_- |) 0\ = /0 ___/`---'\___ .' \\| |/原创 2017-08-25 10:09:34 · 753 阅读 · 0 评论 -
为什么你用python3.6 编译dbus-python告诉你configure: error: could not find Python headers
fxxk dbus-python已经deprecated了 请使用pydbus原创 2017-07-26 17:25:31 · 3349 阅读 · 0 评论