- 博客(76)
- 资源 (2)
- 收藏
- 关注
转载 Makefile - $@ $^ $< 讲解
http://bbs.chinaunix.net/thread-1596089-1-1.html给个例子你分析一下(来自国内开源项目g-bios)g-bios/app/net/Makefile--------------------------------------------------------------------------------------------------
2017-10-10 17:36:55
267
原创 gcc - 参数讲解
$(TARGET):%:%.o $(COMM_OBJ)$(CC) $(CFLAGS) -lpthread -lm -o $@ $^ $(MPI_LIBS) $(AUDIO_LIBA) $(SENSOR_LIBS)CFLAGS := -Wall -g $(INC_FLAGS) -D$(HIARCH) -DHICHIP=$(HICHIP) -DSENSOR_TYPE=$(SENSOR_TY
2017-10-10 17:04:10
402
原创 makefile - 反引号、单引号双引号、dirname、wildcard
1 反引号、单引号、双引号的区别`反引号: `date` 等同于 $(date)在Linux中反引号起着命令替换的作用;将反引号中的字符串做为命令来执行;如下,shell会执行反引号中的date命令,把结果插入到echo命令显示的内容中。> echo The date is `date`the date is 2015
2017-10-10 15:56:22
6365
原创 c++ primer 第11章 - 关联容器
1 使用关联容器1.1 使用map1.2 使用 set2 关联容器操作2.1 关联容器迭代器2.2 遍历元素2.3 添加元素
2017-10-09 20:42:15
292
原创 c++ primer第10章 - 泛型算法
1 概述 标准库没有给每个容器提供大量的功能,而是提供了一组算法,这些算法大部分独立于特定的容器。这些算法是通用的:他们可以用于不同类型的容器和不同类型的元素。 泛型算法:一些经典算法的公共接口,用于不同类型元素、多种容器类型的排序、搜索。头文件:algorithm 这些算法一般,遍历由两个迭代器指定的一个元素范围来操作:
2017-09-30 20:17:19
282
原创 c++ primer第九章 - 顺序容器
1 顺序容器概述 顺序容器:为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值,而是与元素加入容器时的位置相对应; 有序和无序关联容器:根据关键字的值来存储元素; 新版本容器比旧版本快的多;通常,使用vector;2 容器库概述 每个容器都定义在一个头文
2017-09-27 21:06:51
289
原创 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
2482
原创 c++primer 第八章 - IO库
1 IO库概述iostream 处理控制台IOfstream 处理命名文件IOstringstream 完成内存string的IO类 fstream和stringstream 都继承自类iostream的。 2 IO库类型和头文件3 文件输入输出3.1 特有操作
2017-09-26 21:07:58
351
原创 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
208
原创 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
1333
原创 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
252
原创 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
379
原创 内核启动参数详解、参数为什么这么设置
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
5499
原创 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
2315
原创 串口传输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
5266
原创 韦东山第12.7课-字符驱动之同步互斥阻塞、原子操作、信号量、阻塞
1 原子操作目的:同一时刻,只能有一个app打开 /dev/bottun有可能open刚读取canopen=1;就切换到另一个函数跑了,这事正常open设备,返回后canopencv=0,但是已经读取了不会再次读取,所以又成功打开;原因是因为if(--canopen != 0)分多步执行,中间打断。所以如何让修改成为无法打断的操作;将canopen设置为原子操作,atomic_t
2017-09-13 10:16:42
669
原创 韦东山第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
360
原创 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
258
原创 韦东山第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
458
原创 韦东山第12课-字符设备、中断方式查询驱动
1 裸板中断方式查询按键(详情看嵌入式linux应用开发完全手册 P143)源码见:百问网JZ2440v2主光盘\hardware\int疑问点:期间有很多基础器没有设置说是用的默认配置,但是技术手册中并没有看到默认设置。比如说你要设置EINT0为中断触发功能,在技术手册中,将设计到EINT0的寄存器设置一遍,内容看一遍就会了。中断模式图:最主要代码://hea
2017-09-07 17:26:10
668
原创 韦东山第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
608
原创 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
220
原创 韦东山第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
749
原创 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
294
原创 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
304
原创 命名规则
1 Linux下的C编程1.1 Linux 程序命名习惯Linux 程序的命名习惯和 Windows 程序的命名习惯及著名的匈牙利命名法有很大的不同。在 在 Windows 程序中,习惯以如下方式命名宏、变量和函数:#define PI 3.1415926 /*用大写字母代表宏*/int minValue, maxValue; /*int minVa
2017-09-04 20:49:49
247
原创 linux设备驱动开发详情-设备驱动概念、硬件基础
第一章:设备驱动概述:1.1 操作系统的用处: 有了操作系统之后,设备驱动反而变得复杂,那要操作系统干什么? 首先,一个复杂的软件系统需要处理多个并发的任务,没有操作系统,想完成多任务并发是很困难的。 其次,操作系统给我们提供内存管理机制。一个典型的例子是,对于多数含 MMU的处理器而言,Windows、Linux等操作系统可以让每个进程都独立地访问
2017-09-02 10:23:14
328
原创 韦东山第11课-构建根文件系统busybox、启动参数
编译busybox:make menuconfig (具体见《嵌入式linux应用开发完全手册》P347makebook@book-desktop:~/workspace/jz2440/systems/busybox-1.7.0$ make CONFIG_PREFIX=../firstbusybox install //将文件系统安装在该目录下之后要构建文件系统{构建
2017-08-31 22:38:48
1399
原创 韦东山-烧写uboot、kernel、文件系统
韦东山的烧写方式:1 oflash烧写 在windows上找到oflash的文件夹 输入 oflash 之后安装步骤即可。 该方法是用openjtag烧写的。2 usb+dnw烧写 韦东山uboot的开机界面,在数秒时按空格。电脑端打开dnw软件,configuration->opention连接软件、USB Port->transmit 选择要烧写
2017-08-31 15:16:17
1389
原创 韦东山第11课-根文件系统init进程分析
创建设备文件:mknod /dev/ttySAC0 c 4 64mknod /dev/hda1 b 3 1挂载文件/目录:mount -t tmpfs none /tmpprintf() scanf() err()接着上一讲的init_post()函数:if (sys_open((const char __user *) "/dev/console", O_
2017-08-30 16:05:41
288
原创 韦东山第10课-内核启动
u-boot/armlinux.c 的theKernel (0, bd->bi_arch_number, bd->bi_boot_params); 是uboot启动时的uboot的结束点,kernel的开始点,bd->bi_arch_number指的是支持的挡板类型。ENTRY(stext)msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ en
2017-08-30 09:41:53
421
原创 韦东山第10课-内核启动流程makefile分析
搜索命令:find -name “confid” 搜索文件夹名称 grep “config” * -nwR 当前目录哪个文件出现了 config 字样 -n在第几行配置结果:生成 .config配置项:CONFIG_DM9000在哪里出现(用grep命令查找):c源码:CONFIG_DM9000 宏makefile:drivers/net/Makefi
2017-08-29 20:17:38
1079
原创 韦东山第10课—内核编译
1 内核解压,打补丁,编译if 解压 :tar xjf linux-2.6.22.6.tar.bz2endifif 打补丁cd linux-2.6.22.6/patch -p1 endifif 配置1.1 make menuconfig 自己配置1.2 搜索已有的配置文件 find -name “*defconfig*” (默认配置文
2017-08-29 17:07:53
673
原创 hi35系列选型,及烧写uboot
3536:2x1080p@30fps H.264编码3535:1x1080p@30fps H.264编码3531: (5个1080P 30fps,怪不得这个芯片贵,是3535的一倍左右)4x1080P@30fps+4x(960x540)@15fps编码3531是5路1080P编码,6x1080P@30fps解码 (120元价格量级)3535是1路10
2017-08-23 10:27:43
1695
1
转载 nfs连接(转载加修改)
1、IP地址设置 设置主机、虚拟机以及开发板静态IP(不能使用自动获取IP),确保3个静态IP地址处于同一网段(192.168.1.*),如: 主机:192.168.1.10 默认网关:192.168.1.1 首选DNS:202.96.128.86 虚拟机:192.168.1.100 开发板:192.168.1.2072、虚拟机
2017-07-27 14:19:08
1031
转载 linux嵌入式 - 虚拟机 主机Ping不通,即虚拟机不可上网问题解决方法
1 虚拟机和主机windows,linux嵌入式如何互相ping通 1.1 虚拟机连接方式设置:桥接模式 1.2网络配置器 注意:如此配置网络配置器linux虚拟机是不能上网的
2017-05-19 23:13:40
441
haar+Adaboost人脸检测(viola-jones人脸检测)、人脸检测样本库正负样本
2018-01-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅