- 博客(41)
- 资源 (8)
- 收藏
- 关注
原创 Qt 添加自定义控件过程
一、qt编译自定义控件的编译器选择Qt Creator中编译项目使用的是MinGW/g++编译器,而Qt提供的Qt Creator本身是由MSVC2017编译的,所以Qt Creator中编译的插件无法在Qt Creator中使用,下面是我安装的Qt Creatorqt自定义控件应该选择 MSVC2017,32bit二、创建自定义控件工程1、选择qt工程2、选择编译器3、自定义控件类4、编写控件自定义控件参考gitee举例,地址如下https://gitee.com/liuzhanc
2020-09-04 11:19:35 2376
原创 Ubuntu下安装eclipse-最简单的方式
网上安装方法很多,但是都比较复杂 整理最简的安装方式一、安装jdksudo apt-get updatesudo apt-get install openjdk-8-jdkjava -versionsudo update-alternatives --config java二、eclipse官网下载对应版本这里以C++ 版本为例eclipse-cpp-2020-06-R-linux-gtk-x86_64.tar.gz加压后执行 eclipse即可$ /tools/eclipse-cpp
2020-08-28 09:54:54 2054
转载 Linux Netlink通信机制 用户空间与内核空间数据交互
一:什么是Netlink通信机制Netlink是linux提供的用于内核和用户态进程之间的通信方式。但是注意虽然Netlink主要用于用户空间和内核空间的通信,但是也能用于用户空间的两个进程通信。只是进程间通信有其他很多方式,一般不用Netlink。除非需要用到Netlink的广播特性时。那么Netlink有什么优势呢?一般来说用户空间和内核空间的通信方式有三种:/proc、ioctl、Netlink。而前两种都是单向的,但是Netlink可以实现双工通信。Netlink协议基于BSD socke
2020-08-21 13:25:09 1322
转载 PC-Lint c/c++ 代码检查工具
概述PC-Lint是GIMPELSOFTWARE公司的一个产品。它是一个历史悠久,功能异常强劲的静态代码检测工具。它的使用历史可以追溯到计算机编程的远古时代(30多年以前)。经过这么多年的发展,它不但能够监测出许多语法逻辑上的隐患,而且也能够有效地帮你提出许多程序在空间利用、运行效率上的改进点。在很多专业级的软件公司,比如Microsoft、华为,PC-Lint检查无错误无警告是代码首先要过的第一关。C/C++语言的灵活性带来了代码效率的提升,但相应带来了代码编写的随意性,另外C/C++编译..
2020-06-17 22:39:33 1685
原创 Linux 内部路由实现及网口转发之理论篇
基于iptables 实现内部路由功能(arm交叉编译该工具即可实现)ptables实现NAT路由NAT路由一.问题描述 :主机B充当路由使处在内网中的主机C能通过主机B访问外网二.实验原理:Nat(Network Address Translation、网络地址翻译)表中,也就是用以实现地址转换和端口转发功能的这个表,定义了PREROUTING, POSTROUTING,OUTPUT三个链:NAT 的原理 简单的说就是当内网主机访问外网时,当内网主机的数据包要通过路由器时,路由
2020-06-17 22:31:23 1830
原创 source insight使用与配置
1、source insight下载与汉化网上搜索汉化版,中文汉化程度不等,耐心搜索几个版本,如下汉化比较漂亮的2、source insight配置2.1 选项->文档选项2.2 右键点击 上下文窗口属性字体显示行号2.3 选项-> 参数选择->颜色->窗口背景->颜色豆绿色 色调84 饱和度121 亮度 1982.4 半个汉子问题使用修改SuperBackspace.em1、项目 > 打开项目 打开“基本”项目2、项目 >
2020-05-24 12:06:07 407
原创 Linux 调试辅助工具之 addresssanitizer 内存分析工具
使用AddressSanitizer做内存分析新建文件mem_leak.cpp,键入代码:#include <iostream>int main(){int* p = new int[10];p = NULL;return 0;}编译时加上-fsanitizer=leak选项,并执行:$ g++ mem.leak.cpp -o main -fsanitize=l...
2020-04-14 11:08:16 793
原创 Linux 调试辅助工具之perf 火焰图
1、第一节1、perf top关于perf top界面常用命令如下:h:显示帮助,即可显示详细的帮助信息。UP/DOWN/PGUP/PGDN/SPACE:上下和翻页。a:annotate current symbol,注解当前符号。能够给出汇编语言的注解,给出各条指令的采样率。d:过滤掉所有不属于此DSO的符号。非常方便查看同一类别的符号。P:将当前信息保存到perf.hist.N中...
2020-04-14 11:03:53 1486
原创 AM5728设备数的描述
bootloader引导内核时,ARM寄存器r2会将.dtb的首地址传给内核,内核根据该地址,解析.dtb中根节点的compatible属性,将该属性与内核中预先定义machine_desc结构体的dt_compat成员做匹配,得到最匹配的一个machine_desc。一、设备树简介arm-linux内核在3.0版本以后,不再使用板级文件添加设备驱动信息了,而是使用设备树进行添加...
2020-04-14 10:21:07 545
转载 Linux 下常用SVN命令
常用命令1、svn checkout pathpath 是服务器上的目录。svn checkout path例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co1.1 svn checkout path subv这样将把你的工作拷贝放到subv而不是和前面那样放到trunk2、svn add filefile是某个文件或者...
2020-04-08 15:55:39 298
转载 Source Insight 常用设置和快捷键大全
Source Insight 4.0 文件类型、编码格式、tab转空格、tab键自动补全设置。。。http://www.cnblogs.com/bluestorm/p/6864540.html1.括号配对高亮:“在前括号左侧,后括号左侧” 双击鼠标左键,可以选定匹配括号和其中内容(<>,(),L{R},[]之间)2.让{ 和 } 不缩进:Options ->...
2020-04-08 14:41:30 518
原创 基于VISA标准的仪器驱动器设计
一、VISA仪器编程的简介基于NI-VISA/VISA32(Virtual Instrument Software Architecture)的仪器编程,支持RS232、USB、GPIB及LAN通信的SCPI仪器编程。RS232支持常见的RS232串口编程,一般地址为“ASRL1::INSTR”。USB支持常见的USB接口编程,一般地址类似为“USB0::0x2A8D::0x...
2020-04-08 08:56:54 4884 1
原创 AM5728 arm端 spi调试 设备树方式
一、spi管脚定义的查找1、硬件的连接2、根据硬件的连接从芯片手册中查找管脚的定义根据控制寄存器跳转到相应的管脚定义,查看管脚的复用功能二、设备树修改加编译2三、测试应用程序 使用内存代码中的测试程序即可 路径Documentation/spi下的spidev_test.c/** SPI testing utility (usin...
2020-04-02 09:31:57 1019 2
原创 uboot底板型号配置及管脚定义跟踪分析
一、底板型号配置配置完成后查看config文件board_detect.c文件中板子型号匹配board.c中确定底板的宏定义二 、管脚复用定义board.c中引用管脚定义的结构体mux_data.h文件中相关结构体定义说明...
2020-03-31 16:51:22 600
原创 FPGA差分信号缓冲的转换(IBUFDS、IBUFGDS和OBUFDS)
IBUFDS、IBUFGDS和OBUFDS都是差分信号缓冲器,用于不同电平接口之间的缓冲和转换。1)IBUFDS是差分输入的时候用;2)OBUFDS是差分输出的时候用;3)IBUFGDS则是时钟信号专用的输入缓冲器。下面详细说明:1、IBUFDS(DifferentialSignaling Input Buffer with Selectable I/O Interface)/...
2020-03-17 11:15:59 4707
原创 SRS服务器搭建 rtmp推流
一、SRS服务器搭建srs源码下载 https://github.com/ossrs/srs编译 运行./configure && make./objs/srs -c conf/srs.conf二、rtmp 推流代码上传到github https://github.com/liuzhanchun/RtmpPush运行时的IP为SRS服务器的IP三、测试1、web...
2020-01-15 14:05:20 2073
原创 ffmpeg简介及编码支持
一、 ffmpeg简介FFmpeg框架的基本组成包含 AVFormat 、AVCodec、AVFilter、AVDevice、AVUtil等模块库,如下图片: 1 、FFmpeg的封装模块AVFormatAVFormat中实现了目前多媒体领域中的绝大多数媒体封装格式,包含封装和解封装,如MP4、FLV、KV、TS等文件封装格式,RTMP、RTSP、MMS、HLS等网络协议封装格式。FFmpe...
2019-12-05 15:00:57 2380
原创 视频直播系统的完整处理流程
完整的视频直播过程采集处理编码封装推流传输转码分发解码播放一、采集音频采集 音频的采集过程主要通过设备将环境中的模拟信号采集成 PCM 编码的原始数据,然后编码压缩成 MP3等格式的数据分发出去。常见的音频压缩格式有:MP3,AAC,HE-AAC,Opus,FLAC,Vorbis (Ogg),Speex 和 AMR等。图像采集 图像的采集过程主要由摄像头等设备拍摄成 YUV 编码的原始数...
2019-12-05 10:49:27 1811
原创 Ubuntu 下 FFmpeg环境搭建
1 官网下载最新源码http://www.ffmpeg.org/download.html或者git上clonegit clone https://git.ffmpeg.org/ffmpeg.git ffmpeg2 Ubuntu18安装依赖库sudo apt-get install nasmsudo apt-get install yasmsudo apt-get install ...
2019-12-04 17:46:51 469
转载 Linux C 程序执行shell命令并获取返回值结果的方法
据说有统计数据表明,代码的缺陷率是一定的,与所使用的语言无关。Linux提供了很多的实用工具和脚本,在程序中调用工具和脚本,无疑可以简化程序,从而降低代码的缺陷数目。Linux shell 脚本也是一个强大的工具,我们可以根据需要编制脚本,然后在程序中调用自定义脚本。 《Unix 编程艺术》中有一句话“一行 Shell 脚本胜过万行 C”。那么在 Linux 编程中,C 程序如何调用 shel...
2019-12-04 13:42:04 8559
原创 mysql 环境搭建及测试
一、sqlite环境搭建官网下载有安装板和免安装版(根据自己要求选择适合的版本和平台)搭建过程参考如下链接https://blog.csdn.net/u010877050/article/details/102029160二、命令行测试1、进入到bin目录2、执行./mysql -uroot -proot3、命令方式创建表 插入查询create da...
2019-11-27 16:40:26 891
原创 sqlite 环境搭建及demo测试
一、sqlite 优势sqlite不需要server,轻量级适合嵌入式开发使用,接口有C++ Java等,开发方便,详细优势如下链接https://blog.csdn.net/qq_34470212/article/details/52769724二、移植官网下载源码https://www.sqlite.org/download.html编译x86版本./confi...
2019-11-27 16:12:10 378
转载 vim指令速查表
进入vim命令 描述 vim filename 打开或新建文件,并将光标置于第一行首 vim +n filename 打开文件,并将光标置于第n行首 vim + filename 打开文件,并将光标置于最后一行首 vim +/pattern filename 打开文件,并将光标置于第一个与pattern匹配的串处 vim -r filen...
2019-11-25 17:20:52 176
转载 vscode 快捷键
按 Press 功能 Function Ctrl + Shift + P,F1 显示命令面板 Show Command Palette Ctrl + P 快速打开 Quick Open Ctrl + Shift + N 新窗口/实例 New window/instance Ctrl + Shift + W 关闭窗口/实例 Close window...
2019-11-25 17:19:17 139
原创 C++ 抛异常处理
一、概念C++ 标准的异常C++ 提供了一系列标准的异常,定义在<exception>中,我们可以在程序中使用这些标准的异常。它们是以父子类层次结构组织起来的,如下所示:下表是对上面层次结构中出现的每个异常的说明:异常 描述 std::exception 该异常是所有标准 C++ 异常的父类。 std::bad_alloc 该异常可以通...
2019-11-19 17:43:34 1044
转载 C++注释规范
1 文件头部注释Ø列出:版权、作者、编写日期和描述。Ø示例:/*************************************************Copyright:buptAuthor:Date:2010-08-25Description:描述主要实现的功能********************************************...
2019-11-19 15:49:50 825
原创 C++ 智能指针
一、概述1. auto_ptr: c++11中推荐不使用他(放弃)2.shared_ptr:每添加一次引用 就+1,减少一次引用,就-1;做到指针进行共享3.unique_ptr:一个指针同时只能有一个使用者使用4.weaked_ptr:与shared_ptr搭配使用二、详细说明1. shared_ptr为T类型的变量定义std::shared_ptr<...
2019-11-19 14:44:57 195
原创 uboot启动及代码跟踪
uboot-2016u-boot启动分为stage1和stage2两个阶段概述: stage1通常是开发板的配置等设备初始化代码,需要依赖于SoC体系结构,通常用汇编语言来实现。 stage2阶段主要是对外部设备如网卡、Flash等的初始化以及u-boot命令集等的自身实现,通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。...
2019-11-04 17:02:05 609
原创 Qt5.9.8 交叉编译 移植到 arm
一、交叉编译qt1、在QT官网上下载QT5.9.8的源码2、vim qt-everywhere-opensource-src-5.9.8/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf修改为如下所示:MAKEFILE_GENERATOR = UNIXCONFIG ...
2019-10-31 14:31:53 3292
原创 tslib 触屏移植
一、tslib库的编译:1、在tslib官网上下载tslib-1.4的源码:tslib-1.4.tar.gz2、cd /home/ubuntu(ubuntu是我开发板的用户名称)3、将tslib-1.4.tar.gz放在/home/ubuntu下面;(方法:1、可以通过共享文件;2、也可以直接从Windows中直接拖进来;建议使用共享文件)4、tar -zxvftslib-1....
2019-10-31 09:59:19 140
原创 python3.7移植到ARM开发板
一、编辑环境及软件版本host:Ubuntu 16.04 LTS(x64)target: ZC706(ARMV7)虚拟机:VMware® Workstation 14 Propython版本:3.7.5编译工具链:arm-linux-gnueabihf-二、编译编译Python的嵌入式版需要解释器解析setup.py从而编译Python的模块,因此需要先编译出host的解释器...
2019-10-30 20:03:04 2063
原创 vsftp 移植到arm
一、下载vsftpd-3.0.2.tar.gz二、交叉编译修改MakefileCC = arm-linux-gnueabihf-gccmake 后,当前目录下会生成两个文件:vsftpd和vsftpd.conf,这两个文件是我们要用的三、修改配置并移植到armanonymous_enable=NO# 默认的 YES 改...
2019-10-30 11:03:36 1099
原创 GDB 交差编译
一、环境及软件版本Ubuntu16.04 64位gdb-8.3.tar.gz 官网下载二、配置及编译export CC=arm-linux-gnueabihf-gcc./configure --prefix=`pwd` --host=arm-linux-gnueabihf --target=arm-linux-gnueabihfmake -j8make install...
2019-10-29 13:39:25 132
原创 Linux根文件系统搭建二
构建文件系统dev 目录init 进程需要用到“/dev/console”和“/dev/null”这两个设备文件,所以,需要在制作文件系统时静态创建这两个设备文件mknod console c 5 1mknod null c 1 3etc 目录fstab :指明需要挂载的文件系统group:用户组inittab:init进程的配置文件shadow :使用pass...
2019-10-28 15:58:27 180
原创 Linux根文件系统搭建一
一、创建目录#mkdir rootfs#cd rootfs#mkdir bin dev etc lib proc sbin sys usr mnt tmp var#mkdir usr/bin usr/lib usr/sbin lib/modules二、创建设备文件#cd rootfs/dev#mknod -m 666 console c 5 1#mknod -m 666 nul...
2019-10-28 13:10:07 195
原创 基于 CCS 使用仿真器连接 DSP 核心方法说明
1、Debug 模式下仿真器连接 DSPDebug 启动方式, 将拨码开关拨到 11111,连接仿真器到 JTAG 接口在 CCS 界面下, 点击 View 后, 点击 Target Configurations在弹出的目标配置窗口单击右键, 新建一个配置。修改目标配置文件名称,便于确认,如 AM5728.ccxml 或者 AM57xx.ccxml。点击 Finish 进入目标配置...
2019-10-24 14:53:45 17452 2
原创 AM57xx uboot启动参数详解
U-Boot-2016.05 启动参数详解系统启动时,快速按任意键进入 U-Boot 命令行,执行 printenv 命令即可看到 U-Boot 的所有启动参数,若使用默认参数则类似如下。以下为 AM57x 平台 U-Boot-2016.05 版本 U-Boot 启动参数详解:1、启动过程如下=> printenvarch=armargs_mmc=run finduuid;s...
2019-10-24 13:16:22 2240
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人