- 博客(39)
- 资源 (114)
- 收藏
- 关注
转载 x86 linux内核栈溢出一则
这是前一段时间遇到的一个问题,先看这段代码:struct result{ unsigned int a; unsigned int b; unsigned int c;};int func(){ struct result temp[512]; memset(temp,0,sizeof(struct res
2016-11-30 23:17:22 1112
转载 内核堆栈溢出
Linux内核的堆栈一般是8K,所以在写内核程序的时候一定要小心,防止函数递归的出现,递归可能导致内核堆栈溢出。1. 查看Linux内核线程堆栈,源代码里一般定义为 #define THREAD_SIZE (2*PAGE_SIZE)2. 如果怀疑有堆栈溢出的情况,可以在代码里面加入如下的代码来检查当前内核堆栈。uint32 mystack_used (void) {
2016-11-30 23:15:12 2703
转载 Linux内核Crash分析
在工作中经常会遇到一些内核crash的情况,本文就是根据内核出现crash后的打印信息,对其进行了分析,使用的内核版本为:Linux2.6.32。每一个进程的生命周期内,其生命周期的范围为几毫秒到几个月。一般都是和内核有交互,例如用户空间程序使用系统调用进入内核空间。这时使用的不再是用户空间的栈空间,使用对应的内核栈空间。对每一个进程来说,Linux内核都会把两个不同的数据结构紧凑的存放在
2016-11-29 22:38:17 655
原创 Allwinner SPI 驱动的使用和调试方法
常见问题5.1【现象】:启动过程中 SPI 总线驱动有错误信息提示:sunxi_spi_request_gpio()1238 - SPI0 pinctrl_lookup_state() failed! return ffffffedsunxi_spi_hw_init()1336 - [spi-0] Request GPIO failed!【原因分析】:1)首先确认 pinctrl 模块的初始化
2016-11-21 23:23:21 3924 1
转载 Atitit.linux 内核 新特性 新功能
1. Linux 3.2内核新特性 2012-02-12 22:41:4711.1. EXT4:支持更大的块21.2. BTRFS:更快的数据清理、tree roots自动备份、详细的错误消息、元数据手动检查21.3. 进程带宽控制器21.4. 新架构:Hexagon21.5. Device Mapper中的自动精简配置和递归快照21.6. I/O
2016-11-21 22:20:30 735
转载 使用buildroot搭建linux文件系统
(文件系统搭建,强烈建议直接用buildroot,官网上有使用教程非常详细buildroot官网) 文件系统通常要包含很多第三方软件,比如busybox,tslib,qt,vim,交叉编译工具等,为了避免繁杂的移植工作。buildroot应运而生。通过menuconfig配置我们需要的功能,不需要的功能去掉,再执行make指令编译,buildroot就会自动从指定的服务器上下载源码包,自动编译
2016-11-19 23:42:14 3476 1
原创 linux busybox 1.25.x
config BR2_PACKAGE_BUSYBOX bool "BusyBox" default y help The Swiss Army Knife of embedded Linux. It slices, it dices, it makes Julian Fries. http://busybox.net/
2016-11-19 23:22:27 1484
原创 arm-linux-gcc4.4.3编译busybox-1.25.1
系统环境:1、操作系统:Ubuntu12.042、交叉编译工具链:arm-linux-gcc4.4.33、busybox源码包:busybox-1.25.1 一、修改Makefile配置首先解压源码包:tar -jxvf busybox-1.25.1.tar.bz2进入busybox-1.25.0目录,修改Makefile文件如下:ARCH ?= armCR
2016-11-19 23:17:53 3615
原创 linux buildroot 配置
## Automatically generated make config: don't edit# Buildroot 2011.02-dirty Configuration# Tue Jun 28 10:07:00 2016#BR2_HAVE_DOT_CONFIG=yBR2_arm=y# BR2_armeb is not set# BR2_avr32 is n
2016-11-19 21:54:38 5034
转载 视音频数据处理入门:RGB、YUV像素数据处理
=====================================================视音频数据处理入门系列文章:视音频数据处理入门:RGB、YUV像素数据处理视音频数据处理入门:PCM音频采样数据处理视音频数据处理入门:H.264视频码流解析视音频数据处理入门:AAC音频码流解析视音频数据处理入门:FLV封装格式解析视音
2016-11-19 18:51:26 671
转载 Buildroot构建指南--Overview
使用Buildroot,让嵌入式Linux系统构建更加便捷。本文以Buildroot-2016.05的版本为基础来讲解,不同版本之间有细节差异,需要根据读者使用的版本自行调整。Buildroot是什么Buildroot是Linux平台上一个开源的嵌入式Linux系统自动构建框架。整个Buildroot是由Makefile脚本和Kconfig配置文件构成的。你可以和编译Linux内核
2016-11-19 00:16:28 1245
原创 Linux /Android ARM 64 bit/32 bit 编程移植
32bit user @ 64 bit kernell Usecompat_ioctl( ) but not onlyunlock_ioctl() in kernel driverlcompat_ioctl( ) :支持64bit的driver必须要实现的ioctl,当有32bit的userspace application call 64bit kernel的IOCT
2016-11-17 23:52:30 3770
转载 sina33打开spi0dev0.0、spi1dev1.0的步骤.txt(全志a33下生成设备节点/dev/spi0dev0.0、/dev/spi1dev1.0)
sina33打开spi0dev0.0/spi1dev1.0的步骤.txtsina33打开spi0dev0.0、spi1dev1.0的步骤.txt(全志a33下生成设备节点/dev/spi0dev0.0、/dev/spi1dev1.0)0、S:\lichee\tools\pack\chips\sun8iw5p1\configs\default\env.cfgboo
2016-11-16 23:19:04 1444
转载 sina33打开spidev0.0的步骤.txt(全志a33下生成设备节点/dev/spidev0.0)
sina33打开spidev0.0的步骤.txt(全志a33下生成设备节点/dev/spidev0.0)0、S:\lichee\tools\pack\chips\sun8iw5p1\configs\default\env.cfgbootdelay=0修改为bootdelay=3方便按 enter 进u-boot,进行调试。1、rootroot@rootroot-
2016-11-16 23:16:23 1326
原创 Android/Linux 全志平台摄像头sensor调试记录(一)
1 .摄像头模组型号OV2710 + XC7021( ISP) +H5,电压需求 ISP: OV2710:senor 的电压AVDD 和 DOVDD 电压为3.3V,DVDD 1.5V 。ISP 控制sensor PWDN XC7021 I2C 地址为0x36, OV2710地址为0x6C #define I2C_ADDRBP
2016-11-16 22:56:31 7822
原创 linux spi 测试程序
/**spidev_test.c * SPI testing utility (using spidev driver) * * Copyright (c) 2007 MontaVista Software, Inc. * Copyright (c) 2007 Anton Vorontsov * * This program is free software; y
2016-11-15 00:16:31 5857
转载 cubieboard 之SPI的使用
折腾了将近一个月的SPI通信(如果是大神的话估计早搞出来了,但是收获还是蛮大,至少差不多搞懂了SPI子系统),总算小出成效了,Cubieboard上的SPI口,也算是打通了,在此要感谢hipboi等等网络上的大神对我的帮助,感谢CCTV。 首先,跟SPI通信相关的,主要有三个代码文件,spi_sunxi.c,spi.c,spidev.c。spi_sunxi.c主要是全志A10的s
2016-11-14 23:39:38 1485 3
转载 linux基础之spi驱动程序理解
1.1 重要的数据结构1. spi_device虽然用户空间不需要直接用到spi_device结构体,但是这个结构体和用户空间的程序有密切的关系,理解它的成员有助于理解SPI设备节点的IOCTL命令,所以首先来介绍它。在内核中,每个spi_device代表一个物理的SPI设备。它的成员如程序清单 1.1所示。程序清单 1.1 spi_device[cp
2016-11-14 23:22:28 1254
转载 如何基于FFMPEG和SDL写一个少于1000行代码的视频播放器
FFMPEG是一个很好的库,可以用来创建视频应用或者生成特定的工具。FFMPEG几乎为你把所有的繁重工作都做了,比如解码、编码、复用和解复用。这使得多媒体应用程序变得容易编写。它是一个简单的,用C编写的,快速的并且能够解码几乎所有你能用到的格式,当然也包括编码多种格式。唯一的问题是它的文档基本上是没有的。有一个单独的指导讲了它的基本原理另外还有一个使用doxygen生成的文档。这就是为什么
2016-11-13 23:18:20 688
原创 FFMPEG 数据结构分析
typedef struct AVPacket { /** * A reference to the reference-counted buffer where the packet data is * stored. * May be NULL, then the packet data is not reference-counted.
2016-11-13 22:42:00 324
转载 ffplay.c函数结构简单分析(画图)
最近重温了一下FFplay的源代码。FFplay是FFmpeg项目提供的播放器示例。尽管FFplay只是一个简单的播放器示例,它的源代码的量也是不少的。之前看代码,主要是集中于某一个“点”进行研究,而没有从总体结构上进行分析。本文就打算弥补之前学习的不足,从总体结构上分析一下FFplay的源代码,画图理一下它的结构。其中还有诸多不足,以后有机会慢慢完善。说明一下自己画的结构图的规则:图中仅画出
2016-11-13 15:01:38 522
原创 解决linux(ubuntu12.04) ffmpeg编译后ffplay没有生成的问题
从官网下载最新版SDL2-2.0.5.tar.gz的源码,解压后cd进目录,依次执行:./autogen./configuremakesudu make install一切顺利的话SDL2.0就安装编译好了。库文件在 /usr/local/lib中头文件在 /usr/local/include/SDL2 中。1、确认Makef
2016-11-13 14:13:55 3756 1
转载 静态链接和动态链接
引言即使是最简单的HelloWorld的程序,它也要依赖于别人已经写好的成熟的软件库,这就是引出了一个问题,我们写的代码怎么和别人写的库集成在一起,也就是链接所要解决的问题。首先看HelloWorld这个例子:[cpp] view plain copy// main.c 1 #include 2
2016-11-13 14:05:57 360
转载 ffmpeg教程
cffishappy的专栏目录视图摘要视图订阅移动信息安全的漏洞和逆向原理 程序员11月书讯,评论得书啦 Get IT技能知识库,50个领域一键直达关闭ffmpeg教程标签: audiovideodelaystreambuffercodec
2016-11-12 23:53:38 598
原创 Ubuntu 12.04安装最新版VLC2.0.2
最新版VLC2.0.2改进高清播放支持,字幕检测和Qt界面调整。Ubuntu 12.04下安装VLC2.0.2:sudo add-apt-repository ppa:videolan/stable-daily sudo apt-get update sudo apt-get install vlc 播放使用命令行 vlc test.mp4(注意不要
2016-11-12 23:49:57 457
原创 ffmpeg 编译环境搭建(ffmpeg-3.2)
1.软件环境 a.ffmpeg-3.2.tar.bz2; .ffmpeg下载地址: http://www.ffmpeg.org/download.html b.ubuntu12.04 c.安装过程需要root权限2.解压 $ tar -jxvf ffmpeg-3.2.tar.bz2
2016-11-12 22:22:14 4134
原创 linux camera isp
名词解释: 【edr】边缘增强处理算法一般调整YCbCr空间的Y值不会 明显影响到图像的色彩,也就不会出现色彩失衡的情况。【saturation】饱和度增强处理的主要作用是使图像色彩更加丰富,通常是通过对颜色分量 Cb和Cr各乘上一个增益值完成彩色饱和度增强。自动曝光控制通过调节CIS中像素单元的曝光时间和前端模拟 电路中数字可编程增益放大器的增益而使图像亮度达到用户自定义
2016-11-10 23:19:58 2737 1
转载 C++ vector 类学习笔记
vector简介 vector是STL中最常见的容器,它是一种顺序容器,支持随机访问。vector是一块连续分配的内存,从数据安排的角度来讲,和数组极其相似,不同的地方就是:数组是静态分配空间,一旦分配了空间的大小,就不可再改变了;而vector是动态分配空间,随着元素的不断插入,它会按照自身的一套机制不断扩充自身的容量。 vector的扩充机制:按照容器现在容量的一倍进
2016-11-08 23:54:47 405
转载 C++ list 类学习笔记
双向循环链表list list是双向循环链表,,每一个元素都知道前面一个元素和后面一个元素。在STL中,list和vector一样,是两个常被使用的容器。和vector不一样的是,list不支持对元素的任意存取。list中提供的成员函数与vector类似,不过list提供对表首元素的操作push_front、pop_front,这是vector不具备的。和vector另一点不
2016-11-08 23:53:00 360
原创 设计模式---观察者模式(C++实现)
#include "stdafx.h"#include #include #include #include using namespace std;////// Generated by StarUML(tm) C++ Add-In//// @ Project : Untitled// @ File Name : INotifier.h//
2016-11-08 23:34:44 294
转载 UML类图新手入门级介绍
举一个简单的例子,来看这样一副图,其中就包括了UML类图中的基本图示法。 首先,看动物矩形框,它代表一个类(Class)。类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。前面的符号,+ 表示public,- 表示private,# 表示protected。右下角的飞翔,它表示一个接口图,
2016-11-08 22:22:44 337
转载 <监听器模式>在C++ 与 Java 之间实现的差异
前言: 关于各种语言孰优孰劣的讨论在软件界就是个没完没了的话题,今天我决定也来掺和下。不过我想探讨的不是哪种语言的性能如何,钱途如何,而是站在语言本身特性的基础上中肯地比较探讨。因为现在工作用的是C/C++, 以前接触过Java,于是我就以这两门语言作为我的对比语言。本文目的: 我就以监听器的实现为例演示各自的实现代码,认识下Java与C++
2016-11-06 22:25:20 1318
转载 StarUML使用说明-指导手册
1、综述(What)StarUML是一种生成类图和其他类型的UML图表的工具。本文是一个使用StarUML创建类图(Java语言描述)的简明手册。StarUML(简称SU),是一种创建UML类图,并能够自动生成Java的“stub code” 的工具。SU也可以做JAVA逆向工程,以产生相应的UML图表。在本教程中,我们将使用SU设计一个pizza饼。执行后续步骤,可以
2016-11-06 20:10:24 3870
原创 C++中string 函数的使用
一、 erase函数的原型如下:(1)string& erase ( size_t pos = 0, size_t n = npos );(2)iterator erase ( iterator position );(3)iterator erase ( iterator first, iterator last );也就是说有三种用法:(1)erase(pos,n); 删除从pos开
2016-11-05 14:40:53 428
转载 最常用的设计模式---观察者模式(C++实现)
监听者对大家来说可能并不陌生,所谓监听者就是用来监听自已感兴趣的事件的,当收到自已感兴趣的事件时会做出相应的反映。 它的应用是非常广的,比如win32的消息机制,它跟监听者模式就异曲同工,操作系统将产生的各种事件包装成消息(msg),该消息结构包装了发生的事件的描述信息,比如消息值,屏幕坐标等,然后将它投递到相应的进程中,当该进程收到该消息时会查看该msg结构中的信息,也就知道了发生了什
2016-11-04 23:27:17 1631
转载 监听者模式(listener)(c++实现)
监听者对大家来说可能并不陌生,所谓监听者就是用来监听自已感兴趣的事件的,当收到自已感兴趣的事件时会做出相应的反映。 它的应用是非常广的,比如win32的消息机制,它跟监听者模式就异曲同工,操作系统将产生的各种事件包装成消息(msg),该消息结构包装了发生的事件的描述信息,比如消息值,屏幕坐标等,然后将它投递到相应的进程中,当该进程收到该消息时会查看该msg结构中的信息,也就知道了发生了什
2016-11-04 23:21:27 2515
转载 c++多线程编程
一直对多线程编程这一块很陌生,决定花一点时间整理一下。os:ubuntu 10.04 c++1.最基础,进程同时创建5个线程,各自调用同一个函数[html] view plain copy #include iostream> #include pthread.h> //多线程相关操作头文件,可移植众多平台 using namespace std;
2016-11-04 21:14:39 288
转载 ap与sta共存
1:wifi的concurrent mode所谓wifi的共存模式,有以下几种:station mode + station modestation mode + ap modestation mode + p2p modep2p mode + ap mode目前Android自从JB version后,就开始支持station + p2p的共存,但其他的共存模式目前在
2016-11-04 13:44:56 3337
RISC-V 体系结构原理与编程资料
2022-10-23
FatFs 文件系统在nor flash 移植
2022-09-03
CmBacktrace: ARM Cortex-M series MCU error tracking library
2022-08-28
en.stsw-stm32054_v3-6-0_en.stm32cubef1
2022-05-06
基于Ymodem协议串口升级程序的实现过程
2022-04-07
基于vs2019的lvgl模拟器lv_sim_visual_studio_sdl
2022-03-19
LvglFontTool_V0.3_littevgl
2021-09-26
LittleVGL模拟器环境a(CodeBlocks).rar
2021-09-18
darknet-master开源深度学习框架
2021-05-29
UGUI-master.7z
2021-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人