5 Mnnk

尚未进行身份认证

暂无相关简介

等级
TA的排名 3w+

GStreamer基础教程03 增加对video数据的处理

官方教程3:Basic tutorial 3: Dynamic pipelines译文教程3:GStreamer基础教程03——动态pipeline教程3只处理了音频数据,下面加上对视频数据的处理,修改的地方都加了注释,对比学习对理解还是有帮助的,译文中的代码有过更新,下面的代码是基于官方最新的例程。#include <gst/gst.h>/* Structure to contain all our information, so we can pass it to callback

2020-05-12 14:40:45

树莓派:No module named 'PyQt5.QtMultimedia'

解决:How can I add a missing PyQt5 modules on Raspberry PiIf you installed the Raspbian pyqt5-dev and pyqt5-dev-tools packages, this will only provide the core PyQt5 modules like QtCore, QtGui, QtWidg...

2020-03-13 16:01:58

拿个勋章

oe .n~~%x. .--~*teu. xeee .@88 x88X 888. dF 988Nx d888R ==*88888 X888X...

2019-10-24 18:00:47

RT-Thread 应用篇

问题:串口乱码,或者延时时间不准确解决:查看外部晶振配置是否正确,文件stm32f4xx.h中HSE_VALUE要与实际的晶振大小相同。#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */同时,system_stm32f4xx.c文件中PLL_M页要修改为对应值。...

2019-04-16 20:37:35

Linux驱动开发(一):字符设备

**目的:**实现最简单的点灯操作。Linux一切皆文件,应用程序访问某个物理设备(文件)时,首先通过open, read, write等库函数调用系统调用接口(System call interface),系统调用通过传进来的系统调用号操作虚拟文件系统(Virtual File System),VFS再根据目标文件类型去找相应的驱动程序。应用程序和VFS之间的接口是系统调用,而VFS与文件系...

2019-04-09 22:06:58

RT-Thread移植到S5P4418(五):线程通信

RT-Thread实现了三种线程间通信方式,邮箱(mailbox)、消息队列(messagequeue)、和信号(signal)。邮箱邮箱中的每一封邮件只能容纳固定的 4 字节内容。任何线程都可以发送或接受邮件消息。邮箱控制块struct rt_mailbox{ struct rt_ipc_object parent; rt_uint32_t* msg_pool; ...

2019-03-10 23:21:50

RT-Thread移植到S5P4418(四):线程同步

同步是指按预定的先后次序进行运行,线程同步是指多个线程通过特定的机制(如互斥量,事件对象,临界区)来控制线程之间的执行顺序,也可以说是在线程之间通过同步建立起执行顺序的关系,如果没有同步,那线程之间将是无序的。线程的同步方式有很多种,其核心思想都是:在访问临界区的时候只允许一个 (或一类) 线程运行。RT-Thread实现了三种线程间同步方式,信号量(semaphore)、互斥量(mutex)...

2019-02-26 14:36:22

RT-Thread移植到S5P4418(三):静态内存池管理

内存堆管理器可以分配任意大小的内存块,非常灵活和方便。但其也存在明显的缺点:一是分配效率不高,在每次分配时,都要空闲内存块查找;二是容易产生内存碎片。为了提高内存分配的效率,并且避免内存碎片,RT-Thread 提供了另外一种内存管理方法:内存池(Memory Pool)。内存池是一种内存分配方式,用于分配大量大小相同的小内存块,它可以极大地加快内存分配与释放的速度,且能尽量避免内存碎片化。此外...

2019-02-21 16:49:55

RT-Thread移植到S5P4418(二):动态内存管理

内存管理在RT-Thread中分为动态内存管理和静态内存管理。静态的又称为内存池管理,动态的称为内存堆管理。内存堆:官方提供了三种管理方式。小内存管理。申请时在一块大的、连续的内存中按需求分割出相匹配的小内存块;释放时,归还给堆管理系统。每个内存块都包含一个管理用的数据头,通过双向链表来管理使用块和空闲块。slab 管理算法。TODO!memheap 管理算法。适用于系统含有多个地址...

2019-02-17 19:19:21

RT-Thread移植到S5P4418(一):调度器

S5P4418,Cortex-A9系列。结合了 RT-Thread内核实现(六):时间片 和 S5P4418裸机开发(十四):TIMER 的代码。SysTick & PendSVRT-Thread实现线程调度两个比较核心的中断。SysTick更新系统时基。PendSV做上下文切换。SysTick在S5P4418中用timer0代替。周期10ms,注意中断服务函数要清除中断标志位...

2019-01-28 20:25:27

imxq Freescale Yocto Project编译记录

参考: IMX6Q环境搭建、安装Yocto包和编译编译内核配置menuconfig指令:bitbake -c menuconfig -v linux-imx单独编译kernel、模块、设备树bitbake -c compile -f -v linux-imxbitbake linux-imx -c compile_kernelmodules -f -vbitbake -c dep...

2019-01-21 09:40:09

opencv3 C/C++不同接口

类型CC++头文件#include <opencv/cv.h>#include <opencv/highgui.h>…#include <opencv2/opencv.hpp>#include <opencv2/highgui/highgui.hpp>…主要数据类型IplImage *imgMat img显示...

2018-12-12 17:02:49

RT-Thread内核实现(六):时间片

整体思想假如A、B两个线程优先级相同,A先启动,只要A不主动让出CPU,线程B就没机会执行。时间片就是为了解决相同优先级下多线程的并发问题。线程控制块添加rt_ubase_t init_tick属性,remaining_tick记录剩余的时间片。struct rt_thread{ /* rt 对象 */ char name[RT_NAME_MAX]...

2018-12-09 20:51:44

RT-Thread内核实现(五):定时器

1

2018-12-09 13:56:50

RT-Thread内核实现(四):多优先级

整体思想:前几章并不支持多优先级,都是手动切换指定的线程来运行。支持优先级后,调度器只会找当前最高优先级的线程来运行。RT-Thread属于抢占式实时操作系统,CPU会被当前最高优先级线程抢占,除非最高优先级线程主动放弃,比如调用rt_thread_delay(rt_tick_t tick)延时函数,会将线程状态改为挂起状态或者说阻塞状态,然后执行系统调度。线程控制块添加了几属性...

2018-12-02 00:21:26

VSCode 返回上一个光标 (上一个浏览位置)

Ctrl + 鼠标左击跳到定义.返回Windows: Alt + ← ;或者 鼠标侧键Linux: Ctrl + Alt + - ;貌似数字键盘的减号没效果Mac: Ctrl + -

2018-11-28 11:47:12

涨姿势系列:花里胡哨调试信息

#include <stdio.h>#define logD(fmt, ...) \ fprintf(stdout, "[\e[34m debug \e[0m] %s:%02d --> ", __FILE__, __LINE__); fprintf(stdout, fmt, ##__VA_ARGS__);#define logE(f

2018-11-28 10:11:05

RT-Thread内核实现(三):空闲线程与阻塞延时的实现

空闲函数 idle如果没有其它线程可以运行, RTOS 都会为 CPU 创建一个空闲线程,这个时候 CPU 就运行空闲线程。 在 RTThread 中,空闲线程是系统在初始化的时候创建的优先级最低的线程,空闲线程主体主要是做一些系统内存的清理工作。相关定义。idle.c#define IDLE_THREAD_STACK_SIZE 512 // 空闲线程的栈大小ALIGN(...

2018-11-27 21:20:01

RT-Thread内核实现(二):临界区,对象容器

临界区(Critical Section)保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。RT-Thread 对临界段的保护就处理的很干脆,直接把中断全部关了, NMI FAULT 和硬 FAULT 除外。Cortex M3权威指南 中对异常掩蔽寄存器的说明。当临界段嵌套时,如果简单的开关总中断,内部临界段释放时总中断被打开,而外部临界段并...

2018-11-24 21:59:45

RT-Thread内核实现(一):线程与调度

线程是一个独立的、无限循环且不能返回的函数。系统为了顺利的调度线程,为每个线程都额外定义了一个线程控制块,这个线程控制块就相当于线程的身份证,里面存有线程的所有信息,比如线程的栈指针,线程名称, 线程的形参等。rtdef.h中定义了线程控制块结构体/*****************************************************************...

2018-11-19 14:08:33

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享精英
    分享精英
    成功上传11个资源即可获取