- 博客(23)
- 资源 (2)
- 收藏
- 关注
原创 c++ primer第10章 - 泛型算法
1 概述 标准库没有给每个容器提供大量的功能,而是提供了一组算法,这些算法大部分独立于特定的容器。这些算法是通用的:他们可以用于不同类型的容器和不同类型的元素。 泛型算法:一些经典算法的公共接口,用于不同类型元素、多种容器类型的排序、搜索。头文件:algorithm 这些算法一般,遍历由两个迭代器指定的一个元素范围来操作:
2017-09-30 20:17:19 227
原创 c++ primer第九章 - 顺序容器
1 顺序容器概述 顺序容器:为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值,而是与元素加入容器时的位置相对应; 有序和无序关联容器:根据关键字的值来存储元素; 新版本容器比旧版本快的多;通常,使用vector;2 容器库概述 每个容器都定义在一个头文
2017-09-27 21:06:51 222
原创 shell脚本 - chmod、find、后台命令、文件名置换、shell输入输出、&&、||
1 chmod 命令的一般格式为:chmod [who] operator [permission] filename举例:命 令 结 果 含 义chmod a-x myfilerw- rw- rw- 收回所有用户的执行权限chmod og-w myfilerw- r-- r- - 收回同组用户和其他用户的写权限chmod g+w myfile
2017-09-27 10:25:45 2330
原创 c++primer 第八章 - IO库
1 IO库概述iostream 处理控制台IOfstream 处理命名文件IOstringstream 完成内存string的IO类 fstream和stringstream 都继承自类iostream的。 2 IO库类型和头文件3 文件输入输出3.1 特有操作
2017-09-26 21:07:58 268
原创 c++primer 第五、六章 - 语句、函数
1 范围for:例:vector v={0,1,2,3,4,5,7,8}; for(auto &r : v) r*=2;范围for来源于:for(auto beg=v.begin(),end=v.end();beg!=end;++beg) { auto &r=*beg; r*=2; }
2017-09-26 16:13:16 180
原创 hi3518e SDK - mpp2/ko/load3518e出错
1 执行 mpp2/ko/load3518e 出错海思sdk:mpp2/ko/load3518e出错信息(翻译出错信息很有用):Hisilicon Media Memory Zone ManagerERROR: Conflict MMZ:PHYS(0x82000000, 0x83FFFFFF), GFP=0, nBYTES=32768KB, NAME="anony
2017-09-25 23:01:54 1262
原创 c++ primer 第四章 - 表达式
1 算术运算符 / % (M/N)*N+(M%N)=Mm/(-n) = - (m/n) //是一个负数,(m/(-n))*(-n) 是正数,这个正数不到m,要想满足 (M/N)*N+(M%N)=M; m%(-n) 一定要是正数;同理:(-m)/n 是负数 、负数乘以正数是负数;(-m)%n为负数 m/(-n)是负数、负数乘以负数是正数; m
2017-09-23 12:03:03 210
原创 c++ primer第三章 - 字符串、向量、数组
using std::cin; 标准库类型:string vector1 string #include string s4(10,'c'); //自己初始化1.1 string的相关操作拷贝初始化 "="、直接初始化 "()":string s1="sdhf"; //拷贝初始化string s1(“
2017-09-19 17:42:18 335
原创 内核启动参数详解、参数为什么这么设置
1 查看内核启动参数在uboot界面中输入printenv,即可查看启动参数。示例:jz2440:2 主要的启动参数有bootargs、bootcmd2.1 bootargs示例:jz2440:bootargs=console=ttySAC0,115200 root=/dev/mtdblock3 rootfstype=jffs2bootatg
2017-09-16 10:05:08 5285
原创 uboot解析;uboot对bootcmd、bootargs读取传递
1 uboot编译:打补丁:patch -p1 配置:make 100ask24x0_config编译:make执行make 100ask24x0_config后发生了什么uboot的目标:1 从flash中读取内核放到ram中2 启动内核uboot应有的功能:1 读flash2 初始化ram、初始化时钟、初始化串口3 启动内核
2017-09-15 11:19:05 2129
原创 串口传输bin文件-C - kermit工具、kermit协议
1 C-kermit简介:C-kermit是一个串口传工具。可以传送文件。 用于pc串口通信。C-kermit是一款集成了网络通信、串口通信的工具,它有如下多种功能: 1.支持kermit文件传输协议 2.自定义了一种脚本语言,它强大而易于使用,可用于自动化工作 3.无论是网络通信,还是串口通信,操作是一致的,并支持多种硬件、软件平台 4.有安全认证、加密功能 5.内建FTP、HTTP客户端功能及...
2017-09-13 22:08:50 4799
原创 韦东山第12.7课-字符驱动之同步互斥阻塞、原子操作、信号量、阻塞
1 原子操作目的:同一时刻,只能有一个app打开 /dev/bottun有可能open刚读取canopen=1;就切换到另一个函数跑了,这事正常open设备,返回后canopencv=0,但是已经读取了不会再次读取,所以又成功打开;原因是因为if(--canopen != 0)分多步执行,中间打断。所以如何让修改成为无法打断的操作;将canopen设置为原子操作,atomic_t
2017-09-13 10:16:42 608
原创 韦东山第12.6节-字符驱动之异步通知
1 异步通知机制讲解按键查询的方法:1 查询:耗资源2 中断:会休眠,read函数一种等待3 poll:指定超时时间这三种方式都是应用程序主动读read。目的:让驱动程序去通知应用程序去read;fcntl函数有5种功能: 1. 复制一个现有的描述符(cmd=F_DUPFD). 2. 获得/设置文件描述符标记(cmd=F_GETFD或F_SETF
2017-09-12 19:41:05 296
原创 c++ primer-第二章 变量和基本类型
1 c++变量基本类型 出去bool型和扩展的字符型外,其他整形可以划分为 带符号类型,无符号类型;1.1 超出范围unsigned char i = 258;cout cout 1.2无符号有符号混用1.3 变量的定义和声明extern int i; //声明,在工程的另一个文件中声明 e
2017-09-12 17:43:46 207
原创 韦东山第12.5课 - 驱动程序poll机制
1 sys_poll函数分析:对于系统调用poll或select,它们对应的内核函数都是sys_poll。分析sys_poll,即可理解poll机制。测试程序用poll(),内核调用sys_poll函数;sys_poll函数分析:sys_poll //sys_poll(struct pollfd __user *ufds, unsigned int nfds,long
2017-09-11 09:27:31 419
原创 韦东山第12课-字符设备、中断方式查询驱动
1 裸板中断方式查询按键(详情看嵌入式linux应用开发完全手册 P143)源码见:百问网JZ2440v2主光盘\hardware\int疑问点:期间有很多基础器没有设置说是用的默认配置,但是技术手册中并没有看到默认设置。比如说你要设置EINT0为中断触发功能,在技术手册中,将设计到EINT0的寄存器设置一遍,内容看一遍就会了。中断模式图:最主要代码://hea
2017-09-07 17:26:10 610
原创 韦东山第12课-字符设备驱动、按键查询、copy_to_user
1 decond_drv.c#include #include #include #include #include #include #include #include #include #include static struct class *seconddrv_class;static struct class_device *seconddrv_class_
2017-09-07 10:47:39 548
原创 c++ primer - 第一章 开始
1. while(std::cin>>val)#include int main(){ int sum=0,value=0; while(std::cin>>value) sum+=value; std::cout return 0;}while() 退出:需要输入结束符:windows:ctrl+Z,然后按enter或return;UNI
2017-09-06 19:53:12 180
原创 韦东山第12课-字符设备驱动框架、led驱动
1 first_drv驱动函数first_drv.c:#include #include #include #include #include #include #include #include #include #include #include #include #include #include static
2017-09-05 17:27:13 682
原创 linux设备驱动开发详情 - 文件操作
2 linux文件操作:P952.1 创建int creat(const char *filename, mode_t mode); 参数 mode指定新建文件的存取权限,它同 umask一起决定文件的最终权限(mode&umask),其中 umask 代表了文件在创建时需要去掉的一些存取权限。umask可通过系统调用 umask()来改 变,如下所示:
2017-09-05 09:49:13 254
原创 linux设备驱动开发详情-linux内核模块相关知识
1 模块相关命令×mod×:“insmod ./hello.ko”命令可以加载它“rmmod hello”命令可以卸载它lsmod 命令可以获得系统中加载了的所有模块以及模块间的依赖关系,lsmod 命令实际上读取并分析/proc/modules文件, 2 Linux 内核模块的程序结构代码清单4.1 一个最简单的 Linux 内核模块1 #in
2017-09-04 21:43:18 267
原创 命名规则
1 Linux下的C编程1.1 Linux 程序命名习惯Linux 程序的命名习惯和 Windows 程序的命名习惯及著名的匈牙利命名法有很大的不同。在 在 Windows 程序中,习惯以如下方式命名宏、变量和函数:#define PI 3.1415926 /*用大写字母代表宏*/int minValue, maxValue; /*int minVa
2017-09-04 20:49:49 199
原创 linux设备驱动开发详情-设备驱动概念、硬件基础
第一章:设备驱动概述:1.1 操作系统的用处: 有了操作系统之后,设备驱动反而变得复杂,那要操作系统干什么? 首先,一个复杂的软件系统需要处理多个并发的任务,没有操作系统,想完成多任务并发是很困难的。 其次,操作系统给我们提供内存管理机制。一个典型的例子是,对于多数含 MMU的处理器而言,Windows、Linux等操作系统可以让每个进程都独立地访问
2017-09-02 10:23:14 279
haar+Adaboost人脸检测(viola-jones人脸检测)、人脸检测样本库正负样本
2018-01-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人