- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 emwin f1c100s:加载SPI FLASH图片
要用emwin加载图片,常规做法是使用bmpcv转换图片生成如下代码:static GUI_CONST_STORAGE unsigned short ac_back_0[] = {...};GUI_CONST_STORAGE GUI_BITMAP bm_back_0 = { 240, /* XSize */ 320, /* YSize */ 480, /* BytesPerLine */ 16, /* BitsPerPixel */ (unsigned char *)ac.
2020-10-15 01:36:20
1205
5
原创 f_lseek速度优化
最近用fatfs读tf内mp3文件并解码播放,发现随着时间推移音乐出现周期卡顿,而且越来越明显,于是排查函数耗时情况,首先是mp3软解部分,排查耗时1ms以内且比较稳定,接着看tf卡读数据,耗时长且逐渐增加,发现是f_lseek的问题,因为mp3文件是分段读-解码,循环往复,需用f_lseek更新定位文件读取位置,随着读取深入f_lseek寻找簇的时间会增加(网上有相关讨论),参考博客和论坛找到解决方法,使用快速seek,文件对象中的成员cltbl不是NULL时启用快速查找函数。首先,在ffconf.h
2020-10-10 01:07:43
1842
1
原创 openwrt交叉编译curl记录
下载curl-7.65.3.tar.gztar zxfcurl-7.65.3.tar.gzcdcurl-7.65.3mkdir install参考博客https://www.cnblogs.com/findumars/p/7496146.htmlopenwrt已经安装了OpenSSL,在openwrt/build_dir/target-mipsel_24kc_musl/openssl-1.0.2p/ipkg-install/usr/lib执行./configure --pre..
2020-09-22 22:55:34
919
原创 一次linux & windows换行符的坑
在我linux嵌入式设备上有个sh脚本用来开启服务与应用,但从服务器(linux系统)上ftp更新了一下该脚本文件后重启设备就不上线了,本地登录设备后查看权限么问题,手动启动脚本提示脚本不存在,但文件明明是有的,于是换成之前的脚本又是可以运行的,对比两份脚本内容没有任何差别,唯一区别是字节数,可以运行的是388字节,不能运行的是409字节,联想到换行符问题,网上搜索看换行符:Windows为一个回车’\r’(CR或^M)和一个换行’\n’(NL或LF) Linux为一个换行’\n’ Mac为一个回车
2020-08-13 01:28:20
219
原创 qt编译出现错误:aarch64-buildroot-linux-gnu-g++.br_real:-1: error: internal compiler error: Killed (program
问题原因是因为内存不足 使用交换分区来解决:#count的大小就是增加的swap空间的大小,64M是块大小,所以空间大小是bs*count=1024MBsudo dd if=/dev/zero of=/swapfile bs=64M count=16 sudo mkswap /swapfile #把刚才空间格式化成swap格式sudo swapon /swapfile #使用刚才创建的swap空间...
2020-05-20 11:16:43
3020
原创 opencv3.2交叉编译体验
目标板:飞凌IMX6ULL之前用的3.4.0版本,编译各种报错,按下葫芦浮起瓢,网上苦苦搜索,看到有同仁的“血泪教训”说:根据本人30小时惨痛尝试,各位不要再试图安装openCV 3.3 以上版本了。在x86/amd64的intel CPU 上使用ubuntu 12.04 LTS,编译openCV 3.4.1 是可以成功的,但在开发板上无法顺利编译。作者最终使用了openCV 3.1.0在开发...
2020-03-17 18:10:26
303
原创 openwrt mtk7688修改flash大小16M->32M
由于固件是基于之前16MB SPI FLASH,而实际板载的是32MB,现在要把剩余的16MB利用起来,在网上搜集资料并实践,整理了下来。更改之前先用df -h查看磁盘利用率,看到剩余磁盘空间8.2MB。1、进入target/linux/ramips/dts,选择和硬件相对应的设备树文件,我是U7628-01-128M-16M.dts:partition@50000 { compa...
2020-03-10 16:02:15
4702
1
原创 openwrt utc时区修改
openwrt系统默认是UTC时间root@root:/# date -u Thu Mar 17 11:36:33 UTC 2019root@root:/# date -RThu, 17 Mar 2019 11:36:49 +0000date -u或date显示UTC时间,date -R显示UTC+时区。修改为本地时区:在openwrt中更改时区vi /etc/conf...
2020-03-02 14:22:25
2264
原创 vsftpd:ftpput与ftpget使用
飞凌IMX6UL已经安装vsftpd服务并上电自启,因数据有问题需要获取IMX6UL本地sqlite数据库文件,使用ftp命令上传/下载比较便捷(需要在后台服务器安装FTP服务端)。在网上收集资料整理一下。上传(模块上传到服务端):ftpput -u name -p 123456 -P 21 127.0.0.1 /config/a.txt /mnt/b.txt###把本地/mn...
2020-03-02 10:25:20
1760
1
原创 SSH登录docker环境出错
按照荔枝派官网步骤(http://nano.lichee.pro/build_sys/docker.html)完成docker搭建并导入nano.tar.gz后,执行SSH登录命令出现错误:xxx@ubuntu:~$ ssh -p 6666 root@127.0.0.1The authenticity of host '[127.0.0.1]:6666 ([127.0.0.1]:6666)...
2019-10-10 03:37:36
468
原创 pthread的条件变量:pthread_cond_wait
在阅读mjpg-streamer源码时,看到input_uvc.c中,在input_run()函数中会创建一个摄像头图像捕获线程cam_thread(),cam_thread中循环通过select判断摄像头文件再读取帧,读到帧数据后广播发送条件变量消息。...pthread_mutex_lock(&pglobal->in[pcontext->id].db);...p...
2019-05-11 17:20:24
220
原创 C语言中"##"的用法
多年前在看一个开源程序uCGUI(后升级为emWin不再开源)底层代码时,看到过几个宏定义里有##符号,当时不明所以,如今想来有必要扫盲一下,通过查找资料,总结如下。#把宏参数变为一个字符串##把两个宏参数贴合在一起#define STR(s) #s#define CONS(a,b) int(a##e##b)int main(){ printf(STR(vck)...
2019-05-09 15:00:14
9057
原创 可变参数的函数
libv4l2.c中的v4l2_ioctl()函数使用的频次是最高的,所有对摄像头的操作几乎都是调用它实现,它还是一个变参函数。int v4l2_ioctl (int fd, unsigned long int request, ...){ void *arg; va_list ap; int result, index, saved_err; int is_capture...
2019-04-28 10:26:17
138
原创 luvcview源码之YUV转RGB
RGB是一种图像格式,是图像最原始的色彩,图片显示、处理和识别也都是基于RGB格式,而一般摄像头常用的输出格式是YUV,要对摄像头图像显示和处理第一步就要把YUV转换为RGB。YUV有几种格式,比如YUV444,YUV422,YUV420等(RGB也有多种格式比如RGB444、RGB565、RGB888,还有红蓝基交换BGR等等,这些在网上有很多资料)。网上查到,YUV转RGB...
2019-04-09 09:54:17
682
原创 IMX6UL开发板上UVC摄像头挂载
在网上买了一只50元的UVC摄像头,30W像素,准备在IMX6UL开发板上试试,开发板系统是linux3.14,内核支持V4L2协议,先看看插上去是不是识别。在插入摄像头前:root@freescale ~$ lsusbBus 001 Device 002: ID 0424:2514Bus 001 Device 001: ID 1d6b:0002Bus 001 Device 003:...
2019-04-01 23:05:55
1710
原创 Ubuntu12.04下编译luvcview-0.2.6
编译之前先要安装几个依赖包:安装依赖sudo apt-get install debhelpersudo apt-get install libsdl1.2-devsudo apt-get install libv4l-devsudo apt-get install pkg-config把在网上下载的源码 luvcview_0.2.6.orig.tar.gz 到ubuntu...
2019-04-01 16:16:13
782
原创 Ubuntu12.04安装SDL
“SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。”----百度百科在Ubuntu下编译luvcview报错...
2019-04-01 14:16:24
320
转载 qt creator 配置说明
看到一个朋友的博客清晰的描述了对qt的配置步骤:原博客 https://blog.csdn.net/lanmanck/article/details/79054091、下载mingw 4.4:http://get.qt.nokia.com/misc/MinGW-gcc440_1.zip,解压到一个文件夹,例如d:\qt\mingw2、下载qt creator2.5.2,安装之,例如d:\qt\qt...
2018-06-15 10:20:06
757
转载 qt,qt creator官方下载地址
Qt官网镜像下载地址: http://download.qt.io/转至:http://blog.csdn.net/friendan/article/details/44873347
2018-06-15 09:46:51
262
原创 STM32中NVIC_Init导致的上电程序不运行
最近使用在STM32上使用ucosii的运行多任务时候遇到一个奇怪问题,我用到了4个串口,随着程序增大,出现了上电后不运行的情况,我用一个LED闪烁指示运行,使用STLINK进行debug没有问题,但重新上电运行就不行,硬件复位了也不行,排除了硬件问题、指针跑飞、任务堆栈溢出、卡死在某死循环 等可能性后,怀疑是哪句初始化问题,就屏蔽了所有初始化语句(LED的IO口配置除外),最后定位在一个串口的N...
2018-04-12 08:55:59
3037
1
华为模拟电子讲义基础篇
2010-08-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人