自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

原创 Python OpenCV读取并显示USB UVC摄像头

USB UVC Python OpenCV

2023-08-02 23:24:56 2642

原创 ROS2导航运行TurtleBot模拟器报错

ROS 导航模拟器运行报错 [controller_server-8] [INFO] [local_costmap.local_costmap]: Timed out waiting for transform from base_link to odom to become available, tf error: Invalid frame ID "odom" passed to canTransform argument target_frame - frame does not exist

2022-08-21 12:22:21 2511 1

原创 树莓派安装后常用配置操作

树莓派 更换国内源 远程桌面连接 Samba python源

2022-05-14 21:20:49 394

原创 ARM64汇编打印hello

arm64汇编程序模板

2022-05-04 10:52:59 1542 2

原创 setjmp, longjmp使用不当引起崩溃

setjmp 将CPU核中的一组寄存器保存在一块jmp_buf中,要注意它不保存局部变量,当函数调用过深时发生错误,可以用longjmp跨越式跳回当初setjmp的地方,根据setjmp的返回值,可以判断是首次调用setjmp,还是从longjmp返回。setjmp和longjmp的使用要处于链式调用关系的函数中, 如果是在平级函数中,由于栈帧被后面的函数复用,再跳转回来时,局部变量失效,导致各种各样的异常。libpng库里使用了大量setjmp, longjmp处理异常, 某业务层在使用这些函数时

2022-01-08 10:29:44 467

原创 利用ARM的高级SIMD NEON特性

使用 arm neon 特性

2021-12-05 12:21:24 922

原创 Android JNI 记

局部和全局引用多数JNI函数返回局部引用, 用(*env)->NewGlobalRef(env, xxx) 创建全局引用,(*env)->DeleteGlobalRef(env, xxx)销毁全局引用。创建弱引用, (*env)->NewWeakGlobalRef(env, xxx)判断弱引用有效: JNI_FALSE == (*env)->IsSampleObject(env, weakRef, NULL)线程同步java中按对象进行同步synchr

2021-08-07 11:44:55 100

原创 gcc优化对static函数调用的处理

最近追查一个崩溃问题,反汇编根据调用栈一层层查找,到了某一函数后竞找不到对应代码行,后进入其调用的某一个函数才将其调用顺序串起来。由此做了一个实验,从汇编层面看看编译器如何处理。...

2021-06-13 14:35:32 665 1

原创 加快IOT设备连接WIFI的速度

连接WIFI的主要步骤为 扫描(信道)、认证、关联、DHCP, 有些使用LWIP协议栈的还可能有一个检测IP冲突的操作。扫描阶段可以在第一次搜索到之后 将信道 记录下来,下次启动优先扫描此信道。 此方法对于一些频繁自动切换信道的路由器来说达不到好的效果。认证阶段,小型设备在此阶段根据密码加上WIFI名 计算得到PMK(pairwise master key), 耗时较多,可提前计算并存储,以便下次使用;DHCP阶段有条件的可以考虑使用静态IP。有些LWIP协议栈,在申请到IP后,会检测是否有

2021-04-10 21:14:35 211

原创 安卓 毫秒级时间显示APK

最近需要测试点播延时,发现网上的不少定时器刷新精度不够,有不少网页计时器不少是40多毫秒才刷新一次时间。写了个简单的APK, 60Hz屏幕上,基本做到16ms刷新一次。编译好的APK:https://download.csdn.net/download/konga/15988270主要代码: private static String TAG = "MainActivity"; private TextView timeView; @Override pr.

2021-03-20 18:00:33 1781 1

原创 Network code notes

UDP报文接收BUF长度小于实际报文长度,剩余的会被丢弃。发送广播时需要设置: int option = 1; setsockopt(fd, SOL_SOCKET, SO_BROADCAST, &option, sizeof(option));接收组播时需要加入组: /* join ipv4 group */ struct ip_mreq mreq...

2020-03-08 23:02:35 205

原创 ARM同步原语 摘要

http://infocenter.arm.com/help/topic/com.arm.doc.dht0008a/DHT0008A_arm_synchronization_primitives.pdf一、软件同步当访问共享资源必须限制同一时间只能有一个Agent时,软件必须进行同步。共享资源: 共享内存、外设Agent: 处理器、进程、线程通过对表示共享资源的状态...

2019-12-08 18:48:48 418

原创 读文件时收到信号,read函数部分成功

#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <errno.h>#include <signal.h>#define BUF_SI...

2019-10-23 00:06:13 231

原创 VLC点播RTSP问题处理

HISI的参考RTSP Server.VLC 2.x版本点播私有RTSP服务, 可正常出图像;VLC 3.x版本点播RTSP服务, 三秒后停止;抓包看VLC3.x 的RTSP会话过程,PLAY方法后不久,VLC发送了GET_PARAMETERS请求,然后服务端就断开了。与VLC2.x版本的正常RTSP点播对比, 正是多了一个GET_PARAMETERS操作;对服务...

2019-05-26 22:56:21 1061

原创 eclipse中配置javap

Run -> External Tools -> External Tools ConfigurationsLocation: javap.exe 绝对路径Working Directory: ${workspace_loc}/${project_name}Arguments:-classpath bin -c ${java_type_name}...

2019-04-27 23:14:20 308

原创 Cache的clean和invalidate操作

用某ARM芯片做硬件逻辑解压缩,从其开源的Uboot里取出解压缩代码,拿到LiteOS里面使用。先从Flash读取压缩文件到内存, 申请一块足够大的目标Buffer, 将两块内存交给解压硬件逻辑,有低概率解失败;。。。在读取flash上的压缩数据到内存后,将这段存放压缩数据的内存进行clean cache操作,没有复现此问题。原因应该是解压缩逻辑没有使用Cache里的内容, ...

2019-04-03 23:25:11 14084

原创 向Android项目添加系统库和外部预编译ffmpeg库

项目添加 C 和 C++ 代码,官网参考文档。https://developer.android.google.cn/studio/projects/add-native-codeapp/build.gradle添加abiFilters defaultConfig { ... externalNativeBuild { cma...

2018-12-08 09:51:10 288

原创 编译Android 8.1 并刷入Nexus 6P

-----------------AOSP Android源码----------------源码下载:https://lug.ustc.edu.cn/wiki/mirrors/help/aospcd ~/bin#curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repocurl -sSL ...

2018-12-04 13:01:20 2163

原创 Android NDK 随记

jni规范: https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.htmlNDK文档:https://developer.android.google.cn/ndk/guides/NDK参考:https://developer.android.google.cn/ndk/reference/N...

2018-11-25 21:55:23 156

原创 ARM架构、汇编摘要

架构:处理器通用行为特性处理器: 实现了某种架构,可以集成到不同的设计中设备:包含处理器和额外组件ARM架构包括: 编程模型 指令集 系统配置 异常处理 存储模型一个处理器可以实现不同的内存管理模型: VMSA(Virtual Memory System Architecture), 基于MMU(Memory Management Un...

2018-11-25 21:54:07 612

原创 minix文件系统格式分析

参考https://www.zybuluo.com/harpsword/note/207478https://blog.csdn.net/hejinjing_tom_com/article/details/52319189http://www.cnblogs.com/zhangchaoyang/articles/1896605.htmlhttps://www.cnblogs.com/codes...

2018-11-19 08:15:58 1312

原创 一次LiteOS运行时崩溃的解决

现象:运行时崩溃 ,根据打印的寄存器信息,回溯到 malloc-&gt;LOS_MemAlloc()函数, 线程栈信息 水线显示将要溢出; 多次测试发现不止一个在线程和函数里崩溃 ,栈信息看起来要溢出, 栈回溯都是指向malloc函数。 过程:liteos目录有 osShellCmdMemCheck函数, 将会检查 malloc内部堆结点的一致性,不一致将会打印异常; ...

2018-11-17 23:34:31 981

原创 树莓派做二级路由抓包

一、刷open wrt (LEDE)镜像1. 树莓派3B LEDE镜像下载https://openwrt.org/toh/views/toh_fwdownloadRaspberry Pi 3BCPU: Broadcom BCM2837Target: brcm2708SubTarget: bcm27102. 在Linux下使用dd把解压后的镜像写入SD卡设备/...

2018-07-23 00:18:05 2223 1

原创 make和bash调试选项

bash -x 执行脚本时打印出每一行命令make -n 只打印不执行make V=1 查看完整的gcc编译信息

2018-05-06 10:06:20 226

原创 基于QEMU搭建完整的虚拟ARM开发环境(uboot+linux+rootfs)

主机环境:ubuntu 16.04虚拟机,目标机器:QEMU模拟vexpress-a9。------------------------------------------------一、准备工作安装qemu, 交叉编译工具等略过。konga@ubuntu:~/work/vexpress/uboot$ qemu-system-arm -M ?Supported machines are:……ve...

2018-03-17 20:02:11 7229

原创 智能指针笔记

2017-12-25 22:55:48 186

原创 一次踩内存事件

做各个模块集成,其中包含了文件管理、录像业务相关的库。背景:在文件管理初始化时,应用层会指定数据根目录。 测试发现在执行特定操作时,目录失效,无法创建文件,日志大概这样  (NULL) /Movie/xxxx.MP4,好像是指定的根目录变空了。 检查一番, 没有进行去初始化, 跟文件管理库负责同事远程沟通了下,他在库里维护了一个指针,指向 应用 层设置的 目录字符串(这个方法当然不...

2017-04-25 23:46:45 3099 1

原创 Android logcat信息记录到手机文件

添加权限: 示例代码:public class MyApp extends Application { private Process mLogProcess; @Override public void onCreate() { super.onCreate(); try { int

2017-04-16 18:46:00 2273

原创 sigaction检测段错误示例

#include #include #include #include #include #include #include #define ARRAY_SIZE(a) sizeof(a)/sizeof(a[0])#define DEBUG#ifdef DEBUG #define LOG(fmt,args...) printf("%s():%d " fmt, __FUNC

2017-03-12 17:30:56 785

原创 Linux下安装C++手册

GNU GCC 提供了一份关于 MAN 格式的C++ 标准库的文档,可以在其镜像点(http://gcc.gnu.org/mirrors.html ) 中下载。具体的路径是:libstdc++/doxygen/libstdc++-man-xxxxxx.tar.bz2,可找一个最新日期的下载。 1. 下载C++文档压缩包 ftp://ftp.mirrorservice.org

2017-03-10 22:48:56 1468

原创 ffmpeg命令: 删除视频中不需要的音频流

konga@ubuntu:~/work$ ffprobe  gf.mkv Input #0, matroska,webm, from 'gf.mkv':  Metadata:    encoder         : libebml v1.3.0 + libmatroska v1.4.0    creation_time   : 2014-11-22 12:29:18  Dur

2017-01-15 14:50:07 16011 2

原创 记录几次内存泄露问题

一、 2014年底,我们的Android客户端在长时间操作后会发生内存不够而崩溃,还好安卓平台有一个强大的堆内存查看工具,如下图:然后开着这个,不断操作客户端的各个功能,直到发现一进入文件浏览界面(要显示缩略图),堆中75K左右的对象数量就会上涨,而且降不下来,后来拿着缩略图宽高计算了下,一个Bitmap占用空间差不多就是75KB,那基本上就可以确定是缩略图了,经过检查最终发现是bit

2016-10-06 14:35:30 642

原创 Android Acivity LaunchMode 总结

Activity LaunchMode:    standard: 标准(默认), 可能启动多个实例;    singleTop: 已经Activity已经在栈顶,则使用当前的实例(需处理onNewIntent), 如果不是Activity栈顶,则启动新实例;    singleTask: 应用程序上下文中只一个实例,如果不在栈顶,将其上的Acitivty全部出栈;

2016-10-02 12:48:03 409

转载 Android 中 Canvas 绘图之 PorterDuffXfermode 使用及工作原理详解

http://android.jobbole.com/83948/

2016-07-23 23:02:26 430

原创 fcntl 对文件加锁示例

fcntl, flock, 加锁

2016-04-30 16:30:33 2424

原创 正则表达式

2015-12-13 11:56:42 457

转载 weightSum 和 layout_weight 以及 为什么有时要设置0dp

线性布局(水平为例)的weightSum  定义子控件weight的最大值, 如果未指定,则等于 所有子视图的 layout_weight累加和。子视图的layout_weight  占用父视图的空间比重。一个线性布局的子视图真正宽度计算: 子视图自身的宽度    + 自身比重 / 总比重  *  父视图的宽度为什么在设置了layout_weigth后,开发环境会

2015-07-19 16:53:39 1254

原创 Unity中用触摸控制物体旋转和放大

void Update () { //单点触摸 if( 1 == Input.touchCount ){ Touch touch = Input.GetTouch (0); Vector2 deltaPos = touch.deltaPosition; transform.Rotate(Vector3.down * deltaPos.x / 2f, Space

2015-05-31 15:47:35 22772 3

原创 ffmpeg编译成一个Android libffmpeg.so库

update 2018: 生成工具链# NDK version = 14# cd $NDK_DIRINSTALL_DIR=/home/konga/binARM_TOOLCHAIN="arm-linux-androideabi-4.9"ARM64_TOOLCHAIN="aarch64-linux-android-4.9"make_toolchain_from_ndk(){...

2015-04-21 20:49:49 1198 1

原创 SDL_Texture与SDL_Renderer示例

#include #include #include SDL_Window * window;SDL_Renderer * renderer;SDL_Texture * texture;SDL_Rect rectSrc;SDL_Rect rectDest;int main(int argc, char * argv[]){ if(SDL_Init(SDL_INIT_VI

2015-04-02 21:25:04 3673 1

mstimer.apk

安卓手机APK, 显示时分秒、毫秒。 60Hz屏幕可达到16ms刷新一次。

2021-03-20

edimax7822_rtl8812a_driver.zip

EDi MAX AC-1200无线网卡抓包驱动

2021-03-19

C语言实现贪吃蛇(可选择有墙或穿墙功能)

蛇身用链表实现,链表底层数据操作分离放在lish.c中,可配置是否可以穿墙、初始蛇长、初始边界宽高等。

2012-04-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除