
LINUX
HalsonHe
拥有十多年软件开发经验的资深开发者,专注于C/C++等开发语言及Android系统驱动开发,智能家居方案开发,ESP32平台应用开发,工业互联网设备协议接入开发,Window上位机软件开发(QT)。擅长从需求分析到系统设计的全过程,注重代码质量和可维护性,具备良好的团队合作精神和问题解决能力。热衷于跟踪最新技术趋势,持续学习并应用于实际工作中,以提升项目效率和用户体验。
展开
-
瑞芯微Android6 内核编译报错解决方案
错误内容:Kernel: arch/arm/boot/zImage is ready make: *** [kernel.img] Error 127由于之前在ubuntu环境下编译没问题,现在是在centos环境下重新编译的时候报错,所以经过分析对比两个环境的区别后,发现是缺少一些依赖库没有安装才导致,所以需要安装对于的依赖库,具体方法如下:centos:原创 2024-09-15 07:08:33 · 399 阅读 · 0 评论 -
在服务器上搭建 Git仓库
在开始架设 Git 服务器前,需要把现有仓库导出为裸仓库——即一个不包含当前工作目录的仓库。 这通常是很简单的。 为了通过克隆你的仓库来创建一个新的裸仓库,你需要在克隆命令后加上--bare选项。 按照惯例,裸仓库的目录名以 .git 结尾,就像这样:$ git clone --bare my_project my_project.gitCloning into bare repository 'my_project.git'...done.现在,你的my_project.git目录中...转载 2020-06-13 23:46:39 · 901 阅读 · 0 评论 -
如何擦除eMMC存储器
根据该文章介绍我成功擦除并烧录EMMC成功,非常感谢!所以保存记录下来。有四种方式可以擦除VIMs板载eMMC存储器,如下:按键模式 串口模式 中断模式 命令行模式注意:由于VIM1、VIM2和VIM3操作方式基本上是一样的,所以本文档以VIM1为例进行说明。按键模式(确保U-boot正常运行)所有固件都只支持eMMC擦除,请按如下步骤擦除eMMC:给VIMs上电 同时按住Power和Function按键不松手 短按 ‘Reset’按键 执行上述步骤后U-boot会自动擦.转载 2020-06-13 11:12:31 · 10247 阅读 · 0 评论 -
mongodb Error: couldn’t add user: No role named userAdminAnyDatabase
最近在使用 MongoDB,在创建用户时遇到了 Error: couldn't add user: No role named userAdminAnyDatabase@xttblog : 异常问题。今天把这个问题的解决办法分享给大家!整个错误异常信息如下:Error: couldn't add user: No role named userAdminAnyDatabase@xttblo...转载 2019-12-31 08:57:25 · 2188 阅读 · 0 评论 -
linux 下安装phonon
关于qt embedded phonon 安装问题。可能在安装$sudo ./configure -phonon -phonon-backend .....的时候会说找不到phonon ,很明显因为没有这个phonon这个库,当然就会找不到,在编译的时候,特别是./configure -phonon -phonon-backend当编译很段时间后会说:Phonon support ca原创 2010-05-15 13:38:00 · 5764 阅读 · 0 评论 -
flashPlayer
<br /> 从上个月开始就说要做FLASH播放器,而且是用QT来做应用。虽然用QT来做UI事很简单,但是要有底层的驱动支持,所以在花一天把界面都完成后一直停下来,等待底层库的提供。今天老大终于把底层的库发给了我,所以今天又继续。<br /> 在提供库的同时附带有一个简单的DEMO,但是这个不是用QT做的,而是直接操纵帧BUFFER来完成。我看了一下,然后就在自己的上卡是编译这个库,刚开始在这个库上编译通不过,而且提示的是libcurl.a这个库有问题,但是我明明是连了这个库,网上搜了一会原创 2010-07-20 22:43:00 · 660 阅读 · 0 评论 -
用 GStreamer 简化 Linux 多媒体开发
GStreamer 是 GNOME 桌面环境下用来构建流媒体应用的编程框架(framework),其目标是要简化音/视频应用程序的开发,目前已经能够被用来处理像 MP3、Ogg、MPEG1、MPEG2、AVI、Quicktime 等多种格式的多媒体数据。<br />一、基本概念<br />GStreamer 作为 GNOME 桌面环境推荐的流媒体应用框架,采用了基于插件(plugin)和管道(pipeline)的体系结构,框架中的所有的功能模块都被实现成可以插拔的组件(component),并且在需要的时候转载 2010-06-03 10:03:00 · 613 阅读 · 0 评论 -
gstreamer vedio
gst-launch-0.10 playbin uri=file:///path/to/视频文件<br />在Python里播放self.player = gst.element_factory_make("playbin", "player")bus = self.player.get_bus()bus.add_signal_watch()bus.enable_sync_message_emission()bus.connect(‘message’, self.on_message)bus.connect转载 2010-06-06 16:12:00 · 880 阅读 · 0 评论 -
gstreamr vedio player
Line 1/*M///////////////////////////////////////////////////////////////////////////////////////2//3// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.4//5// By downloading, copying, installing or using the software you agree to this lic转载 2010-08-01 17:33:00 · 3577 阅读 · 0 评论 -
ln linux下的使用方法
<br />ln <br />这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同步的链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件。<br />当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln -s /bin/less /usr/local/bin/less<b转载 2010-08-01 17:43:00 · 646 阅读 · 0 评论 -
rtc hwclock 使用
<br />Linux机器上的时间比较复杂,有各式各样的时钟和选项等等。<br />一:<br />机器里有两个时钟:硬件时钟和系统时钟<br />硬件时钟从根本上讲是CMOS时钟;<br />系统时钟是由内核维护的,它是从1969年末(即传说中的标志Unix时代开端的那个拂晓)开始算起的累积秒数。<br />在DOS或Mac系统中,起作用的是硬件时钟。遗憾的是,你可能已经发现了,绝大多数电脑时钟都是很不准确的。它们从根本上讲是由小型电池供电的警报器时钟,这种锂电池一般可持续供电三年左右,那时候你系统各大块转载 2010-08-03 16:39:00 · 563 阅读 · 0 评论 -
Qt 中的多线程(一)【转载】
<br />转自:http://stallman.blogbus.com/logs/45207016.html<br /> <br />Qt 中的多线程 QT通过三种形式提供了对线程的支持。它们分别是,一、平台无关的线程类,二、线程安全的事件投递,三、跨线程的信号-槽连接。这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势。多线程编程也是一个有用的模式,它用于解决执行较长时间的操作而不至于用户界面失去响应。在Qt的早期版本中,在构建库时有不选择线程支持的选项,从4.0开始,线程总是有效的原创 2010-08-25 10:09:00 · 655 阅读 · 0 评论 -
[转]Wpa_cli usage manual
<br />1: run wpa_supplicant first<br />use the following command:<br /> wpa_supplicant -Dwext -iwlan0 -C/data/system/wpa_supplicant -c/data/misc/wifi/wpa_supplicant.conf<br /> (use “ps”to make sure wpa_supplicant is running )<br /> <br />2: Run转载 2010-09-15 13:34:00 · 1038 阅读 · 0 评论 -
gstreamer video 相关属性
转自:http://hi.baidu.com/wylhistory/blog/item/d439e3a8da2849b7ca130c3c.htmlvideo相关2008-10-02 18:30video的属性:1,framerate,就是帧率,也就是每秒播放的静态图片的张数;PAL和SECAM标准是25frame/s,NTSC是29.97 frame/s,想要给人以动画的感觉至少要15f/s;2,扫描方式,分成interlace和progressive,分别用i和p表示,比如576i50转载 2010-10-15 11:37:00 · 2701 阅读 · 0 评论 -
linux 时间查看与设置
<br />一、时区<br />1. 查看当前时区<br />date -R<br />2. 修改设置时区<br />方法(1)<br />tzselect<br />方法(2) 仅限于RedHat Linux 和 CentOS<br />timeconfig<br />方法(3) 适用于Debian<br />dpkg-reconfigure tzdata<br />3. 复制相应的时区文件,替换系统时区文件;或者创建链接文件<br />cp /usr/share/zoneinfo/$主时区/$次时区 /原创 2010-10-19 14:39:00 · 747 阅读 · 0 评论 -
使用QT SDK建立开发环境
当在一个新的linux平台下使用QT SDK的时候,设置环境变量方法如下:1.环境变量设置export PATH=/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin:$PATHexport QTDIR=/usr/local/qt4.7.0-armexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib2.原创 2010-10-19 14:41:00 · 1075 阅读 · 0 评论 -
gstreamer 使用命令来播放视频
<br />1. 用command 播放,加axis-top=50 axis-left=50,坐标值自定义,这里是(50, 50),如:<br />gst-launch -v filesrc location= li.mp4 ! qtdemux ! mfw_vpudeco<br />der ! mfw_v4lsink axis-top=50 axis-left=50<br /> <br />2. 程序里播放,参考设置画面大小的代码,不同的是,设置坐标用 axis-top 和 axis-left。原创 2010-10-19 14:43:00 · 4105 阅读 · 0 评论 -
g_main_loop_new (NULL, FALSE) 原理分析
转至:http://www.builder.com.cn我们知道GUI应用程序都是事件驱动的。这些事件大部分都来自于用户,比如键盘事件、鼠标事件或笔点事件。还有一些事件来自于系统内部,比如定时事件、socket事件和其它文件事件等等。在没有任何事件的情况下,应用程序处于睡眠状态。因为这种事件驱动机制,GUI应用程序都毫无例外的需要一个主循环(main loop)。主循环(main loop)控制应用程序什么时候进入睡眠状态,什么时候被唤醒。主循环实现得好,应用程序才能工作正常又省电。转载 2010-10-21 09:27:00 · 6240 阅读 · 0 评论 -
linux下测试RTC驱动date和hwclock
<br />【基础知识】<br />1.date,Linux中用于显示/修改系统时间的一个命令。<br />2.Linux的RTC驱动实现完了后,一般是默认的是一个普通的字符型设备,或者一个misc设备,也可以是一个平台设备。<br />对应地,如果insomod驱动后,或者build-in到kernel后,对应的设备一般是<br />/dev/rtc 或 /dev/rtc0 或者 /dev/misc/rtc<br />3.hwclock,见名知意,hw clock, hardware clock,硬件(R转载 2010-12-15 09:50:00 · 4281 阅读 · 0 评论 -
Shell脚本语法
转自:http://learn.akae.cn/media/ch31s05.html5. Shell脚本语法 请点评5.1. 条件测试:test [ 请点评<br />命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为1(注意与C语言的逻辑表示正好相反)。例如测试两个数的大小关系:$ VAR=2$ test $VAR -gt 1$ echo $?0$ test $VAR -gt 3$ ech转载 2010-12-20 14:12:00 · 459 阅读 · 0 评论 -
Ubuntu下Samba服务器的最简配置
<br />一. Samba的安装:i#sM9c;S5n6`%`051Testing软件测试网0O _f aOMZL1F&y8g%lN<br /># sudo apt-get insall samba<br />Q4UlyY x051Testing软件测试网^o*O&F-V?o<br /># sudo apt-get install smbfs51Testing软件测试网o}tLal<br />51Testing软件测试网ET;ph+D ?|dF:t<br转载 2010-12-23 09:48:00 · 584 阅读 · 0 评论 -
strtol()详解
转自:http://hi.baidu.com/qwpsmile/blog/item/9bc44efa4f41018a9f514637.html<br />今天,在review 一些代码的时候,看到了strtol()这个函数,由于以前使用它的时候,还没有深刻的了解,这次,我决定探个究竟。<br />网上关于这个函数的资料大都来源于同份资料,linux库函数,讲的不够细致。于是,我花了几个小时,认真地尝试其功能,并整理了这篇文章,希望能对C语言的爱好者一些帮助。<br />希望大家能够将本文中发现的错误及时转载 2010-11-02 13:12:00 · 750 阅读 · 0 评论 -
MIME之Quoted-Printable编解码
<br />MIME之Quoted-Printable编解码<br />Quoted-Printable也是MIME邮件中常用的编码方式之一。<br />同Base64一样,它也将输入的字符串或数据编码成全是ASCII码的可打印字符串。<br />Quoted-Printable编码的基本方法是:输入数据在33-60、62-126范围内的,直接输出;其它的需编码为“=”加两个字节的HEX码(大写)。为保证输出行不超过规定长度,可在行尾加“=/r/n”序列作为软回车。<br />int EncodeQuote转载 2010-11-02 13:38:00 · 1431 阅读 · 0 评论 -
EMAIL 如何发送给多人,如何CC,BCC?
<br />如何发送给多人,如何CC,BCC?ANSWER: (此答案由SnifferPro监听OUTLOOK发送多人邮件分析出来的)<br />同一封信发送/抄送给多人,在MAIL FROM:<...> 后,多次使用 RCPT TO:<...> <br />每次一个邮件地址,需要发给多少人就 RCPT TO 多少次。在DATA里面写的CC,BCC,TO,等信息只起显示作用,与实际发送人接收人无关。CC与BCC的差别:同样都是RCPT TO指定收件人,但是邮件客户端程序,不会将BCC的收件人写到DATA要传原创 2010-11-03 15:11:00 · 12430 阅读 · 0 评论 -
Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量
Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量2009-04-22 14:48<br />转自:http://yypp1984.blogspot.com/2009/03/linuxgccincludelib.html<br /><br />对所有用户有效在/etc/profile增加以下内容。只对当前用户有效在Home目录下的<br />.bashrc或.bash_profile里增加下面的内容:<br />(注意:等号前面不要加空格,否则可能出现 command not found转载 2010-12-29 10:47:00 · 766 阅读 · 0 评论 -
telnet实现通过可认证的smtp发送邮件(转)
telnet实现通过可认证的smtp发送邮件2009-04-11 00:391、得到用户名和密码的encode64编码(可通过下面的js取得)<br />2、telnet到smtp主机:<br />[root@newsclub east]# telnet smtp.163.com 25 //登陆 smtp.163.com 端口号为 25<br />Trying 202.108.44.205...<br />Connected to smtp.163.com (202.108.44.205).<br />转载 2010-11-15 12:24:00 · 3123 阅读 · 2 评论 -
linux下WIFI的AP搜索及连接方法
<br /> <br />wpa_supplicant -Dwext -ieth1 -c/etc/wpa_supplicant.conf &<br />wpa_cli save_config<br />wpa_cli reconfigure<br />wpa_cli list_networks<br />wpa_cli status<br />wpa_cli remove_network 0<br />wpa_cli -ieth1 scan //搜索无线网<br />wpa_cli -ie原创 2011-02-25 21:27:00 · 8816 阅读 · 1 评论 -
Linux高手之路---SVN使用笔记
<br />Linux高手之路---SVN使用笔记 http://blog.youkuaiyun.com/nhczp/archive/2007/08/20/1751561.aspx SVN是CVS的下一个版本,主要用来进行版本控制,可以对程序代码,音频,视频以及图像文件等,做版本控制。 目录以及文件是Subversion中可以记录版本的对象。其主要工作原理如下图: _ _ _ _ _ _ _ _ _ _ / / | | | 项目仓库 | | | /_ _ _ _ _ _ _ _ _ _/ / | / check in转载 2011-02-18 13:09:00 · 595 阅读 · 0 评论 -
FBreader
<br /> 之前在编译FBReader的时候,碰到一些问题,现在把下在这里,方便翻看。<br />在编s译X86版本时,提示没找到qconfig.hs<br />1. ln -s /usr/local/qt4.5.3-x86/src/corelib/global/qconfig.h /usr/local/qt4.5.3-x86/include/QtCore/qconfig.h<br />2 .$ export QTDIR=/usr/local/Trolltech/QtEmbedded-4.原创 2011-02-18 21:34:00 · 1068 阅读 · 0 评论 -
MP3播放器
<br />转自: http://hi.baidu.com/falimon_7/blog/item/3aada9ecece7861bfcfa3c13.html<br /> <br />今天研究了一下libmad,发现用这个库做一个简单的mp3播放器非常容易,网上也有很多例程,于是想把播放mp3功能加入我的wav播放小程序里面。晚上实验了一下,的确很好用,在sep4020这颗小arm7上面跑的很欢乐。程序结构目前很乱,还要整理一下,现在的仅仅实现功能,算是beat版。<br />首先需要编译安装libmad,转载 2011-03-15 17:58:00 · 1165 阅读 · 0 评论 -
MPlayer 音量控制
Mplayer 音量控制<br />1 mplayer -af volume=-10 *.mp3<br />volume 的范围可以是-200到+60. -200是静音. 而+60是噪<br />每首歌开播的时候,音量被重置到启动时的音量,你没有办法在播放的时候提高声音<br /><br />2 mplayer -softvol -softvol-max 10 *.mp3<br />刚启动用的是默认音量.这样,音量没有变化,只有你按了一下0或9的时候.才会生效. 最大音量变成原来的10%,转载 2011-05-26 16:07:00 · 5728 阅读 · 0 评论 -
Android 应用程序开发错误调试问题
<br />Android 应用程序开发错误调试问题:<br /> <br />1.<br /> E:/project/Image/res/anim/hyperspace_jump.xml:1: ERROR Error parsing XML: unbound prefix<br /> <br />添加xmlns:android="http://schemas.android.com/apk/res/android"即可。<br />原创 2011-05-27 17:24:00 · 881 阅读 · 0 评论 -
QT 从子窗口返回主界面时处理
<br />在主界面中添加如下公共函数,然后在接收返回主界面的地方调用此函数即可返回。<br />void homePage::closeAllWidgets()<br />{<br /> foreach(QWidget *widget, QApplicaton::topLevelWidget())<br /> {<br /> if(widget->isWindow() && widget != this)<br /> {<br />原创 2011-06-02 16:36:00 · 6525 阅读 · 0 评论 -
QProgressDialog 快速实现进度的显示界面
p { margin-bottom: 0.21cm; }QProgressDialogprogressDialog;progressDialog.setCancelButtonText(tr("&Cancel"));progressDialog.setRange(0,m_nFilesSize);progressDialog.setWindowTitle(tr("FindFiles"));progressDialog.setWindowFlags(Qt::Frameless原创 2011-05-09 13:58:00 · 3478 阅读 · 0 评论 -
ubuntu 下MPlayer 的实现
的安装需要的安装包all-20071007.tar(未使用)windows-all-20071007http://www1.mplayerhq.hu/MPlayer/releases/codecs/windows-essential-20071007.zipMplayer-1.0rc2.tar1.http: http://www1.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc2.tar.bz2essential-20071007.ta原创 2011-05-09 13:55:00 · 1604 阅读 · 0 评论 -
Linux下Kill()函数 + QProcess 用法
[ KILL ]功能描述:用于向任何进程组或进程发送信号。头文件用法: #include sys/types.h>#include signal.h>int kill(pid_t pid, int sig);int n_pid = QProcess::pid();if(n_pid > 0) kill(n_pid, SIGINT);原创 2012-03-15 15:01:40 · 4830 阅读 · 0 评论 -
扫描可以使用的NFS Server目录
在客户端本地建立mount point,使用mount挂载远程主机共享的目录。假设主机名是"halson",使用showmount查看NFS Server可以共享的目录,然后将/home/public挂载在/home/ nfs/public下:# showmount -e halsonExport list for localhost:/tmp */home/lin原创 2012-03-16 18:27:56 · 1025 阅读 · 0 评论 -
编译portmap和nfs-utils (转)
转自:http://www.cnitblog.com/gouzhuang/archive/2010/03/23/nfs_utils.html为了在播放机上实现NFS服务器的功能,我们已经在uClibc中打开了完整RPC支持,并且在新编译的内核中打开了NFS服务器支持。此外还有两个软件包也是提供NFS服务所必需的:portmap和nfs-utils。portmap为RPC程序提供端口映射服务,n转载 2012-03-19 16:39:54 · 748 阅读 · 0 评论 -
QImageReader 某些文件读取失败
最近在使用QImageReader读取图片文件的时候,大部分都可以正常显示,但是就有个别是读取失败,显示就为空,但 把图片放到Windows可以正常显示,我就觉得莫名其妙,后来就重新看了下QImageReader的帮助文档,发现几个API需要设置下。因为图片是从网上下载下来的下载地址都是以JPG格式,所以就怀疑是否是格式问题,最后设置下属性就OK。所以在此记录下来。原创 2012-05-04 17:39:11 · 3208 阅读 · 2 评论 -
QListWidget 设置焦点在某个Item
一般是当焦点在别的窗口,然后把焦点设置到QListWidget 的某个ITEM,一般的方法为: QListWidget *widget = new QListWidget(this); widget->setFocus(); widget->setCurrentRow(0); 改设置方法焦点是可以设置有效了,但某个ITEM的焦点无效,必须互换下原创 2012-05-04 18:04:59 · 5123 阅读 · 1 评论