
嵌入式
文章平均质量分 57
john_liqinghan
我的人生需要一步步的积累需要一步步的实现也许前方是泥泞不堪但我也会风雨无阻的前行
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux4版本无法往前设置时间
linux4版本无法往前设置时间的修改。原创 2022-09-01 19:55:38 · 482 阅读 · 1 评论 -
基于live555实时流服务器解析
#define READ_FROM_FILES_SYNCHRONOUSLY 1READ_FROM_FILES_SYNCHRONOUSLY 1void ByteFrameLiveVideoSource:: doGetNextFrame(){ if(fLimitNumBytesToStream && fNumBytesToStream == 0) { handleClo...原创 2017-02-07 21:31:19 · 3111 阅读 · 0 评论 -
stm32f407以太网及USB OTG快速开发
stm32f407以太网及USB OTG快速开发引言想要快速完成网络协议栈和USB OTG功能,使用ST自家的工具STM32CubMx再好不过的了。如果你还不会使用,别着急下面我会一步一步的用图片告诉你如何做。软件平台:windows、STM32CubMx、keil v5硬件平台:原子的stm32f407ZGT6开发板,STM32CubMx配置1、以太网管脚的映射配置原创 2017-03-18 19:09:05 · 28701 阅读 · 6 评论 -
使用STM32CubeMx创建U盘读写程序
平台windows 7CPU:STM32F205软件:keil 5下载STM32CubeMx:http://pan.baidu.com/s/1bpsvV6R安装好后,建立usbMassClass工程,注意选择芯片。选择自己要的功能如下图:外部是时钟的选择:FSUSB的选择debug口选择UASRT1选择USB IPco原创 2017-01-21 11:18:35 · 17556 阅读 · 11 评论 -
建立live555海思编码推流服务
因项目需要,这一周弄了一下live555。需求:海思编码——>RTSP server,使用VLC可以访问,类似于网络摄像机的需求。看了一下,live555的架构太复杂了,半桶水的C++水平还真的需要花点时间才可以明白。由于live555的例子server使用的是读取文件,打包成RTSP包然后发送。例子运行live555MediaServer,把对应的视频文件发到该服务的目录下面,在VLC使用rtsp原创 2017-01-13 20:56:19 · 13407 阅读 · 7 评论 -
hisi35xx串口驱动的完善
鉴于hisi的uart3还没有打通,ls /dev/ | grep ttyA* ,看到的只有ttyAMA0 和ttyAMA1,且使用应用程序打开ttyAMA1设备后,使用write函数,发送,示波器观察没有波形输出。猜想是GPIO复用管脚没打开于是编写了GPIO复用管脚驱动,加载驱动,ttyAMA1可以正常使用 。每次启动程序都要加载此驱动,比较麻烦,所以想要在内核添加,搜索UART,定位UA原创 2017-05-09 20:44:14 · 1698 阅读 · 0 评论 -
音频技术1
音频技术1原始的音频要通过网络传输到某个点播放,一般经过采集(声波信号到模拟信号),采样(AD过程)、编码、解码、播放(DA过程)的过程。本文章主要讲述的是讲述整个过程一般的描述,让读者对音频传输的过程有一定的了解。鉴于本人才疏学浅,文中有什么描述不妥当或者有误的地方还请大家指正,谢谢!音频的采集:一般常见的有麦克风、话筒等设备。采集设备一般都是能采集声波信号然后转化成模拟量。原创 2017-06-16 23:06:18 · 469 阅读 · 0 评论 -
linux驱动调试
linux驱动调试linux 目录 /proc 下面可以配置驱动的调试信息,比如给proc目录的自己定制的驱动的一文件设置一个变量,然后驱动程序跟了proc的参数值来配置调试级别、类似于内核调试的级别来配置自己驱动调试级别。可以在dev目录创建一个设备专门用来打印相应的驱动调试信息。原创 2017-06-12 21:58:27 · 447 阅读 · 0 评论 -
海思编解码芯片添加64M nor flash
uboot和内核都必须修改。struct spi_info hisfc350_spi_info_table[] ;在结构体里面添加自己的flash节点,我这里用的是MX66LS51235E{ "MX66L(S512)35(E/F)", //chip name {0xC2,0x20, 0x1A}, ///chip id nor flash has itself ID 3原创 2017-07-08 12:37:30 · 2479 阅读 · 0 评论 -
liunx系统负载量以及性能的分析
来自:http://heipark.iteye.com/blog/1340384一、什么是load average?linux系统中的Load对当前CPU工作量的度量 (WikiPedia: the system load is a measure of the amount of work that a computer system is doing)。也有简单的说是进程队列的长度。Load转载 2017-07-16 10:46:18 · 340 阅读 · 0 评论 -
linux - windows远程鼠标
框图linux端;获取鼠标坐标,并通过socket传输给windowsmouse:linux下的鼠标设备,目录: /dev/input/mouseX , 每个mouseX对应有一个eventY,X和Y -> 0...n , X 和 Y并不一定对应。因为有些event是键盘的或者其他的输入设备。具体的设备对应关系应该由/proc/bus/input/devices文件原创 2017-10-15 21:31:09 · 687 阅读 · 0 评论 -
QT移植到hi3536
QT版本:qt-embedded-linux-opensource-src-4.5.31、添加交叉编译(1)copy qt-embedded-linux-opensource-src-4.5.3/mkspecs/qws/linux-arm-g++ 到 qt-embedded-linux-opensource-src-4.5.3/mkspecs/qws/linux-hisiv400-g++原创 2018-01-15 20:20:47 · 1743 阅读 · 0 评论 -
海思QT开发总结
1、QT移植 2、QT界面的透明度设置 发现设置空间透明度时候,QT显示的绿色的背景,没有透明!设置如下: 在程序起始的地方设置:hisi_init();QWSServer::setBackground(QColor(0,0,0,0));QWSServer::setCursorVisible(false);经过这样子设置,QT的透明度正常了!!3、对话框去掉最大化和最小化...原创 2018-03-01 21:00:00 · 2348 阅读 · 7 评论 -
嵌入式Qt支持ttf字库,并显示中文
引言 最近在做QT项目发现中文没法显示,于是百度QT嵌入式显示中文,基本上提示的都是把ttf字库转换为QPF(QT专门支持二进制的),发现这个qpf本身制作就很麻烦,按照网上的做法实实在在来了一边,发现编译一个qvfb都好麻烦了,还有makeqpf程序。qvfb属于x86用于给QT提供程序提供fb环境的。makeqpf不能直接在系统上面跑,必须依赖于系统fb才能运行。发现编译qvfb...原创 2018-05-04 18:07:39 · 8998 阅读 · 0 评论 -
虚拟鼠标设备驱动
虚拟鼠标设备驱动#include <linux/device.h> #include <linux/module.h>#include <linux/input.h>#include <linux/err.h>#include <linux/cdev.h>#include <asm/uaccess.h>#in...原创 2018-09-06 13:42:02 · 2316 阅读 · 0 评论 -
利用freetype显示unicode字符
使用freetype加载矢量字库,ttf字体文件,通过字符的unicode,load一个字符的点阵!汉字的unicode使用32bit既可表达,比如‘’我‘’的unicode是0x6211定义全局变量static FT_Library g_lib;static FT_Face g_face;初始化freetypeint init(){ int error; erro原创 2016-07-13 21:55:02 · 4440 阅读 · 0 评论 -
linux alarm 的使用
#include#include#include 第一种:void timer_handler(int m){ count++; printf("m: %d count:%d \n",m,count);} void set_timer() { struct itimerval itv; itv.it_value.tv_sec = 1; //原创 2016-07-13 21:57:21 · 954 阅读 · 0 评论 -
uboot添加命令
uboot添加自己的命令在uboot的common目录下添加自己的文件名,比如xxx命令的文件:cmd_xxx.c,然后对照其他的命令来仿写即可!在common目录下找到makefile,添加如下定义:COBJS-$(CONFIG_CMD_XXX) += cmd_xxx.o在对应的平台的头文件比如s3c2410.h上定义CONFIG_CMD_XXX即可编译在s3c2410的平台原创 2016-07-13 21:46:29 · 917 阅读 · 0 评论 -
LDD3 short程序编译出错之修改
platform:i386OS; ubuntu 10.04原创 2014-11-03 18:49:07 · 2173 阅读 · 0 评论 -
jrtplib的安装和使用
jrtplib下载地址:http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplib解压:tar -zxvf xxxx.tar.gz进入到 jrtplib-3.9.1,阅读README.TXT,可以知道如何使用这个jrtplibroot@ubuntu:~ cmake ./检测到系统没有原创 2015-01-22 16:51:41 · 1994 阅读 · 0 评论 -
给 TI BLE 添加自己UUID
给 TI BLE 添加自己UUID原创 2014-10-24 16:40:09 · 20411 阅读 · 2 评论 -
static 和const作用详述
Static 作用详述(来自http://www.cnblogs.com/Kane_zzt/archive/2009/05/18/1459697.html) 1.先来介绍它的第一条也是最重要的一条:隐藏 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同转载 2015-06-19 13:48:49 · 755 阅读 · 0 评论 -
Linux输入子系统(Input Subsystem)
来源:http://www.cnblogs.com/cute/archive/2011/08/30/2159305.htmlLinux输入子系统(Input Subsystem)1.1.input子系统概述输入设备(如按键,键盘,触摸屏,鼠标等)是典型的字符设备,其一般的工作机制是低层在按键,触摸等动作发生时产生一个中断(或驱动通过timer定时查询),然后cpu通过S转载 2015-06-25 17:28:39 · 424 阅读 · 0 评论 -
Ubuntu 12.04 64bit 无法识别交叉编译器解决办法
转自:http://blog.youkuaiyun.com/yimiyangguang1314/article/details/39996851 感谢这位朋友!由于我在ubuntu 14 64bit的版本出现arm-none-linux-gnueabi-gcc命令无法识别。最近在Ubuntu12.04 64Bit 系统安装交叉编译器,编译器安装好了,环境变量也设置OK了,在终端里面输入 ar转载 2015-07-01 14:45:39 · 1053 阅读 · 0 评论 -
基于TI 8168 RDK 4.0 多路解码
总的流程 如下:读文件代码:static Void *readRevframeThr(Void * prm){ static UInt32 flag =0; static UInt32 status ; Chains_chCfg *chCfg ; H264FileSource *pFileSource; FILE *fp =NULL; Bitstream原创 2015-07-21 15:23:42 · 2027 阅读 · 0 评论 -
TI DVRRDK4.0 设置背景地图的方法1
TI DVRRDK4.0 设置背景地图的方法1TI DVRRDK4.0 设置背景地图的方法11、在swmsLink中修改,由于swmsLink是属于vpss M3核,而我想要的是通过A8的程序去控制swmsLink显示不同的背景。一开始以为给swmsLink做interface 给A8利用,后面想想是没用。应为vpss M3 和A8是两个独立的核不能直接在A8上利用Vpss M3的代码。那原创 2015-07-17 14:51:37 · 1296 阅读 · 0 评论 -
C语言读取汉字字模
来自http://blog.youkuaiyun.com/duola_rain/article/details/10353691感谢的博主的文章!前不久,在网上看到一个生成点阵字的网站。觉得很有意思!到底什么是点阵字,点阵字和字模之间有什么关系?让我们先看一个点阵汉字和一个英文字母: ** ******************转载 2016-01-13 23:40:18 · 5319 阅读 · 1 评论 -
linux 对MTD分区nand flash的烧写和读取
使用mtd-utils工具实现对flash的升级分区的烧写yaffs2yaffs2的格式是根据所使用的nandflash来制作的,不同的nandflash,得到的yaffs2是不一样的,具体可以参考自己所用的nandflash,以及生成yaffs2文件系统的工具mkyaffs2image。yaffs2包含了oob数据,所以写flash的时候要分开,本文所使用的是256M oob是64bit原创 2016-06-01 22:08:58 · 5734 阅读 · 0 评论 -
BLE 安卓APP控制LED灯的实现
//注:参考AmoMcu源代码修改。打开APP,检查蓝牙是否打开BluetoothAdapter mBluetoothAdapter;final BluetoothManager bluetoothManager =(BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); mBlue原创 2014-11-21 11:49:46 · 20444 阅读 · 30 评论 -
蓝牙协议 基于TI cc2540 模块的理解
Bluetooth 4.0开发Platform:TI IC:cc2540Environment:windows 7tools:IAR 8.20.2demo Code:BLE_CC254x_1.4.0 from TI 协议栈|————————————————————————————————| 主机 || ————————————————原创 2014-10-24 15:57:11 · 14377 阅读 · 0 评论 -
驱动——使用readb,编译错误
最近在写一个驱动用readb和writeb等函数出现了错误,驱动在使用readb和writeb函数出现了如下的错误:/tmp/ccSI6uHX.s: Assembler messages:/tmp/ccSI6uHX.s:49: Error: selected processor does not support ARM mode `dsb'/tmp/ccSI6uHX.s:62: Error原创 2016-07-13 21:44:29 · 964 阅读 · 0 评论 -
竞态和并发
A进程和B进程同时对scull调用write函数write有如下操作:if(!dptr->data[s_pos]){dptr->data[s_pos] = kmalloc(quantum,GFP_KERNEL);if(!dptr->data[s_pos]) goto out;}如果A和B刚好到达这段代码,假设A执行,然后到B执行,则A申请的内存将会被B取代,这样就造原创 2014-11-13 14:03:24 · 637 阅读 · 0 评论