- 博客(240)
- 收藏
- 关注
转载 解决samba共享虚拟机第二块磁盘的难题
linux下使用samba共享文件到window下已经实现过了 点此链接但是共享时磁盘空间是有限的,如果空间使用完了该怎么处理呢?这是个头疼的问题,不知道samba支持不支持共享第二个文件夹,由于相关知识有限没能够实现,最后想了个其他办法饶了过去。使用nfs挂载方式解决。具体步骤如下:新建磁盘挂载在/media下,已共享文件夹为/home/levy/share1.在 /e...
2019-08-12 10:51:00 459
转载 Ubuntu 出现access denied by server while mounting
3516cv500板端nfst调试时如此配置虚拟机:#vi /etc/exports 添加/home/"待分享文件路径" *(rw,sync,no_root_squash,no_subtree_check)板端:启动后根目录下mount -t nfs -o nolock 192.168.133.197:/home/"待分享文件路径"/ /mnt挂载...
2019-08-07 17:24:00 730
转载 Makefile 中各种函数列举(进行 ing)
1.wildcard : 扩展通配符 notdir : 去除路径 patsubst :替换通配符举例:有文件 /a.c /b.c /home/a.c /home/b.c /home/k.osrc=$(wildcard *.c ./home/*.c)file=$(notdir $(src))obj=$(patsubst %.c,%.o,$(src) )...
2019-08-07 16:26:00 293
转载 编译3516cv500 osdrv失败解决
configure: WARNING: cannot find uuid library required for mkfs.ubifsconfigure: mtd-utils can optionally be built without mkfs.ubifsconfigure: WARNING: cannot find headers for extended attributesc...
2019-08-06 11:06:00 486
转载 在Linux上搭建VisualSVN Server(svn服务端)
一、检查是否安装了低版本的SVN#rpm -qa | grep subversion如果已安装SVN,则会返回版本信息。这时需要卸载旧版本的SVN。卸载旧版本SVN#yum remove subversion2、安装SVN# yum install subversion3、检查安装是否成功#svnserve --version...
2019-08-06 09:24:00 220
转载 三种形参交换方式导致不同的实参结果分析
swap1(int *a ,int *b) //交换1{ int temp =*a; *a=*b; *b=temp;}swap2(int *x,int *y) //交换2{ int *temp = x; x = y; y = *temp;} swap3(int i,int j)...
2019-08-01 15:11:00 203
转载 V4L2视频采集原理
一、简介Video for Linuxtwo(Video4Linux2)简称V4L2,是V4L的改进版。V4L2是linux操作系统下用于采集图片、视频和音频数据的API接口,配合适当的视频采集设备和相应的驱动程序,可以实现图片、视频、音频等的采集。可以对uvc免驱摄像头直接操作。在远程会议、可视电话、视频监控系统和嵌入式多媒体终端中都有广泛的应用。二、V4L2视频采集原理...
2019-07-31 10:39:00 639
转载 V4L2 API详解 Buffer的准备和数据读取
1. 初始化 Memory Mapping 或 User Pointer I/O.int ioctl(int fd, intrequestbuf,struct v4l2_requestbuffers * argp);参数一:open()所产生的句柄。参数二:VIDIOC_REQBUFS(向设备申请缓存区)参数三:in/out结构体。struct v4l2_re...
2019-07-30 14:33:00 801
转载 U-Boot的常用命令详解
U-Boot还提供了更加详细的命令帮助,通过help命令还可以查看每个命令的参数说明。由于开发过程的需要,有必要先把U-Boot命令的用法弄清楚。接下来,根据每一条命令的帮助信息,解释一下这些命令的功能和参数。1、bootmbootm [addr [arg ...]] - boot application image stored in memory passin...
2019-07-03 14:44:00 149
转载 块 /宏块(MB)/片(Slice/片组/图像(picture) 对应关系
根据包含关系从大到小顺序排列 序列(GOP)-> 帧(I/IDR/P/B)-> 片组 -> 片(slice)-> 宏块(Block)-> 块(Macro Block)-> 像素(pixel)1.宏块(Macro Block):是H.264编码的基本单位,一个编码图像首先要划分成多个块(4x4 像素)才能进行处理,显然宏块应该是整数个块组...
2019-07-02 10:24:00 965
转载 Linux内核镜像格式
1 Linux内核镜像格式 Linux内核有多种格式的镜像,包括vmlinux、vmlinuz,Image、zImage、bzImage、uImage、xipImage、bootpImage等.1.1 vmlinux vmlinuz是可引导的、可压缩的内核镜像,vm代表Virtual Memory。Linux支持虚拟内存,因此得名vm。它是由用户对内核源码编译得到,实质...
2019-06-19 16:41:00 241
转载 uboot向kernel的传参机制——bootm与tags
http://blog.csdn.net/skyflying2012/article/details/35787971最近阅读代码学习了uboot boot kernel的过程以及uboot如何传参给kernel,记录下来,与大家共享:U-boot版本:2014.4Kernel版本:3.4.55一 uboot 如何启动 kernel1 do_bootm...
2019-06-19 16:35:00 233
转载 bootm跳转到kernel的流程
转自https://blog.csdn.net/ooonebook/article/details/53495021一、bootm说明bootm这个命令用于启动一个操作系统映像。它会从映像文件的头部取得一些信息,这些信息包括:映像文件的基于的cpu架构、其操作系统类型、映像的类型、压缩方式、映像文件在内存中的加载地址、映像文件运行的入口地址、映像文件名等。紧接着boot...
2019-06-15 11:30:00 162
转载 load address、entry point、 bootm address以及kernel运行地址
load address:加载地址 load_addr mkimage -aentry point: 入口地址 entry_point mkimage -ebootm address:bootm 命令后面紧跟的地址,也就是加载地址 addrkernel运行地址:zImage自解压后将kernel解压到实际运行的物理地址所谓加载地址...
2019-06-12 11:03:00 1011
转载 嵌入式linux开发uboot启动内核的机制(二)
一、嵌入式系统的分区嵌入式系统部署在Flash设备上时,对于不同SoC和Flash设备,bootloader、kernel、rootfs的分区是不同的。三星S5PV210规定启动设备的分区方案如下:SD/MMC设备的分区方案:NandFlash设备的分区方案:嵌入式系统在启动时,uboot、kernel、rootfs不能随意存放,必须存放在...
2019-06-10 15:47:00 222
转载 嵌入式linux开发uboot启动过程源码分析(一)
一、uboot启动流程简介与大多数BootLoader一样,uboot的启动过程分为BL1和BL2两个阶段。BL1阶段通常是开发板的配置等设备初始化代码,需要依赖依赖于SoC体系结构,通常用汇编语言来实现;BL2阶段主要是对外部设备如网卡、Flash等的初始化以及uboot命令集等的自身实现,通常用C语言来实现。1、BL1阶段uboot的BL1阶段代码通...
2019-06-10 15:41:00 264
转载 大小端模式到底该怎么记忆?
网上找到的一个比较经典的例子2019 = 2*10^3+0*10^2+1*10^1+9*10^0可以称高位对应的权重(10^3)大,低位对应的权重小。类比 0x12345678大端按从左到右的读写顺序存储 存储结果是 12 34 56 78而从左到右的地址是增加的。也就是先存储权重大(12)的,最后存储权重小(78)的,而小端存储结果是 7...
2019-06-06 15:27:00 191
转载 __attribute__((weak))
情况是这样的,碰到一个棘手的问题:我们不确定外部模块是否提供一个函数func,但是我们不得不用这个函数,即自己模块的代码必须用到func函数:extern int func(void);...................int a = func();if( a > .....){..........}............我们不知道func...
2019-05-30 15:13:00 303
转载 静态链接和动态链接区别
作为一名C/C++程序员,对于编译链接的过程要了然于胸。首先大概介绍一下,编译分为3步,首先对源文件进行预处理,这个过程主要是处理一些#号定义的命令或语句(如宏、#include、预编译指令#ifdef等),生成*.i文件;然后进行编译,这个过程主要是进行词法分析、语法分析和语义分析等,生成*.s的汇编文件;最后进行汇编,这个过程比较简单,就是将对应的汇编指令翻译成机器指令,生成可重定位...
2019-05-30 15:09:00 237
转载 华为海思系列芯片开发学习中常见缩写详解
1. 系统控制Hi —— HiSilicon 海思半导体公司MPP —— Media Process Platform 媒体处理平台MPI —— MPP Programe Interface MPP程序接口DDR —— Double Data-Rate 双倍速率,DDR SDRAM=双倍速率同步动态随机存储器,人们习惯称为DDR,其中,SDRAM 是Synchronous D...
2019-05-22 09:15:00 305
转载 C语言const和volatile关键字
这部分内容比较简单,我这里直接先做总结,然后通过写三个测试代码,体会其中的关键点一、总结 1、const使得变量具有只读属性(但是不一定就是不能更改) 2、const不能定义真正意义上的常量(因为有的用const定义的变量,仍然可以更改) 3、const将具有全局生命期的变量存储于只读存储区(这个是对现代编译器是这样的,但是对ANSI编译器,仍然...
2019-05-17 17:15:00 401
转载 指针数组(int *a[])和数组指针 (int (*a)[])
1.对指针有关的表达式阅读遵循的规则是“从右到左、由近到远、括号优先”。int *a[10] 从字符a开始,右侧是[10],表示a 为一个包含10个元素的数组,左侧为指针标记,表示这个数组中保存的事指针,再左边是int 表示所有的指针指向整型数据。int (*a)[10] 从字符a开始,括号优先,表示a是一个指针,右侧为[10]表示指针指向一个数组,左侧是int ,表示指针指...
2019-05-17 11:42:00 3138
转载 YUV和RGB格式单像素所占内存大小分析
图片的大小定 义为:w * h,宽高分别为w和h一、YUV格式1.1.YUV420格式存储方式:先Y,后V,中间是U。其中的Y是w * h,U和V是w/2 * (h/2)举例:如果w = 4,h = 2,则:yyyyyyyyuuvv即yyyyyyyyuuvv采样规律是:每个像素点都采样Y,奇数行采样1/2个U,不采样V,偶数行采样1/2个V,不采样U需要占用的内存:w * h ...
2019-05-08 11:51:00 1239
转载 认真分析mmap:是什么 为什么 怎么用
mmap基础概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。相反,内核空间对这段区域的修改也直接反映用...
2019-05-07 14:49:00 80
转载 图像处理中Stride和Width的关系
一行有 11 个像素(Width = 11), 对一个 32 位(每个像素 4 字节)的图像, Stride = 11 * 4 = 44. 但还有个字节对齐的问题, 譬如: 一行有 11 个像素(Width = 11), 对一个 24 位(每个像素 3 字节)的图像, Stride = 11 * 3 + 3 = 36. 为什么不是 Stride = 33? 因为它是...
2019-05-07 14:47:00 914
转载 module_init的加载和释放
像你写C程序需要包含C库的头文件那样,Linux内核编程也需要包含Kernel头文件,大多的Linux驱动程序需要包含下面三个头文件:#include <linux/init.h>#include <linux/module.h>#include <linux/kernel.h> 其中,init.h 定义了驱动的初始化和退出相关的函...
2019-04-18 17:11:00 118
转载 __attribute__的一些相关属性
__attribute__((format())) 这个format有3个参数。intmy(NSString*str,NSString*str1,NSArray*str2,...)__attribute__((format(__NSString__,2,4)));三个参数告诉编译器,第二个参数必须是NSString类型,且可变参数从第4位开始。如果你把第二个参数...
2019-04-18 16:29:00 374
转载 内联函数 —— C 中关键字 inline 用法解析
一、什么是内联函数 在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗。 为了解决这个问题,特别的引入了inline修饰符,表示为内联函数。 栈空间就是指放置程式的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足所造成的程式出错的问题,函数的死循...
2019-04-18 16:02:00 359
转载 利用gcc的__attribute__编译属性section子项构建初始化函数表
gcc的__attribute__编译属性有很多子项,用于改变作用对象的特性。这里讨论section子项的作用。__attribute__的section子项使用方式为:__attribute__((section("section_name")))其作用是将作用的函数或数据放入指定名为"section_name"的段。看以下程序片段:#inclu...
2019-04-18 15:07:00 131
转载 Linux 内核 hlist 详解
在Linux内核中,hlist(哈希链表)使用非常广泛。本文将对其数据结构和核心函数进行分析。和hlist相关的数据结构有两个:hlist_head 和 hlist_node//hash桶的头结点struct hlist_head { struct hlist_node *first;//指向每一个hash桶的第一个结点的指针};//hash桶的普通结点struct hl...
2019-04-17 12:13:00 301
转载 #define宏定义中## #@ # \ 符号使用
C/C++ 宏命令的神奇用法。先看下面三条语句:#define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) #x1. ## 连接操作符##表示连接(token pasting, or token concatenation,merge two tokens into one while exp...
2019-04-11 10:09:00 110
转载 Hi3519v101-uboot-start.S分析
00032: #include <config.h>00033: #include <version.h>1)#include <config.h>。config.h是在include目录下的,这个文件不是源码中本身存在的文件,而是配置过程中自动生成的文件。(详见mkconfig脚本)。这个文件的内容其实是包含了一个头文件:#include <...
2019-04-03 16:03:00 252
转载 广告文案:用文案讲好故事的广告是如何做?
生活中,人们是讨厌广告的。但是,对于品牌来说,为了让产品有销量,让品牌有知名度,广告是不得不做的。如果广告做好了,品牌可以像热门小说、电影、电视剧一样受到观众追捧。一个好故事可以省去大笔广告费,还可以使新品牌迅速在同类产品中脱颖而出。对于新品牌更是如此。就像,如果你想建一座树屋,先不要急着去搭树木,而是要激起人们对森林的渴望。如果你想激起人们对森林的渴望...
2019-03-29 19:26:00 529
转载 socket技术详解(看清socket编程)
socket编程是网络常用的编程,我们通过在网络中创建socket关键字来实现网络间的通信,通过收集大量的资料,通过这一章节,充分的了解socket编程,文章用引用了大量大神的分析,加上自己的理解,做个总结性的文章1:socket大致介绍 socket编程是一门技术,它主要是在网络通信中经常用到 既然是一门技术,由于现在是面向对象的编程,一些计算机行业的大...
2019-03-22 15:17:00 156
转载 一张非常强大的OSI七层模型图解。。。
源自http://www.colasoft.com.cn/download/protocols_map.php,非常适合小白入门,后面罗列出来方便大家浏览记忆。。。(不经意间看到的,分享一下)OSI七层模型 相关协议 缩写应用层HTTP 超文本传输协议FTP 文件传输协议SMTP 简单邮件传输协议TELNET TCP/IP终端仿真协议POP3 邮局协议...
2019-03-22 14:29:00 242
转载 为什么计算机和一些电子产品的时间选择在1970.1.1
现在计算机和一些电子设备时间的计算和显示是以距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量为标准的,如1970-1-10 20:47 偏移量为2724441632毫秒,出现类似字样说明时间被初始化了。小知识:格林威治标准时间GMT许多人都知道两地时间表简称为GMT或UTC,而世界时区表则通称为World Time,那么GMT...
2019-03-13 17:05:00 1394
转载 内存(RAM或ROM)和FLASH存储的真正区别总结
1.什么是内存 什么是内存呢?在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存)。外存通常是磁性介质或光盘,像硬盘,软盘,磁带,CD等,能长期保存信息,并且不依赖...
2019-02-20 13:54:00 476
转载 __attribute__ 机制详解
GNU C的一大特色就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。其位置约束为: 放于声明的尾部“;”之前__attribute__书写特征为: __attribute__前后都有两个下...
2019-02-15 10:51:00 249
转载 svn命令行使用积累
1.Node remains in conflict,修改问价svn 提交后其他客户端svn update更新时出现以下问题Updating '.':Skipped 'Hi3559_Stream' -- Node remains in conflictSkipped 'out_bg0601' -- Node remains in conflictAt revision 641.S...
2019-01-15 18:13:00 430
转载 linux下编译出现tmp空间不足解决办法
编译的时候出现问题:fatal error: error writing to /tmp/ccHqgMoi.s: No space left on device原因 :系统/tmp/空间不足,tmp文件夹空间不足了,不能满足编译的需求,编译的中间文件不能写入。df -h查看发现才1M大小解决办法 :1.任选位置 创建一个文件夹,例如:mkdir/home/tmp...
2018-12-27 09:45:00 5524
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人