- 博客(37)
- 资源 (2)
- 收藏
- 关注
原创 使用javah 命令 报找不到 类文件
在使用javah时,会遇到报错误:找不到 ”XXX“的类文件,是因为命令不对正确命令是javah -classpath F:\workspace\TestJNI\bin\classes com.tcl.jni.TestJNI
2017-12-07 13:06:45 552
原创 X86 X64 区别
有时候遇见 X86, X64这样的说法,那X86和X64分别是什么意思呢?简单来说,X86就是32位, x64就是64位系统。比如WIN7,Ubuntu都有32位和64位操作系统的版本哦。就是这样了。
2017-10-19 11:28:24 954
原创 imx6q u-boot 启动脚本分析
bootcmd=run findfdt; (1)mmc dev ${mmcdev}; (mmc dev 2) (2)if mmc rescan; then (3)if run loadbootscript; then run bootscript; else if run loadimage; then (4)run mmcboot;
2017-09-28 17:03:05 1789
转载 apt-get install E: Encountered a section with no Package: header
今天新装 Ubuntu GNOMEN 13.10 进入系统 #sudo apt-get update 的时候出现了如下错误。Reading package lists... Error! E: Encountered a section with no Package: header E: Problem with MergeList /var/lib/a
2017-09-13 16:44:30 276
转载 caffe 命令及参数解析
caffe的运行提供三种接口:c++接口(命令行)、python接口和matlab接口。本文先对命令行进行解析,后续会依次介绍其它两个接口。caffe的c++主程序(caffe.cpp)放在根目录下的tools文件夹内, 当然还有一些其它的功能文件,如:convert_imageset.cpp, train_net.cpp, test_net.cpp等也放在这个文件夹内。经过编译后,这些文
2017-05-03 17:06:35 450
原创 imx6 u-boot 启动 Can't find PMIC:PFUZE100
最近在将imx官方源码imx-4.1-krogoth里面的u-boot移植到一个淘宝开发板的过程中,遇到了u-boot启动时提示错误:Can't find PMIC:PFUZE100原因如下:淘宝购买的开发板,没有用nxp的pmic,二是用独立电源芯片,所以检测不到pmic。但是官方源码默认启动的时候,会去检测pmic,所以需要把这部分代码屏蔽掉。 第1:改了这个宏
2017-04-19 20:04:55 5281 2
转载 函数 可变参数
转自 http://www.cnblogs.com/MarvinGeng/archive/2012/07/19/2598923.html
2017-02-13 16:33:18 269
原创 野指针的3种常见情况
1 .局部指针变量没有被初始化。int main(){char *p;strcpy(p,"hello world");//p指针是局部变量指针,没有被初始化,所以p指针所指的内存区不确定,也就是p的内容不确定//所以用strcpy给p指针指向的内存区赋值,这个过程也不确定。 p = "hello world"; 将字符串常量 "hello world"的地
2017-02-13 13:32:43 3273
原创 malloc calloc realloc
malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针, #include 函数原型:void *malloc(size_t size);char *p = (char *)malloc(10*sizeof(char));...free(p);(2) calloc函数
2017-02-13 10:51:20 213
原创 宏定义中##符号的作用
在宏定义中,经常会遇到使用##符号,这个符号到底什么作用呢?今天这里简单的说明下:1. ## 名称:记号粘帖操作符(token paste operator) 作用:##先变成空格,将字符分隔开来,然后再将字符连接起来。 在宏定义中,预处理器一般把空格解释为分段标志,对每一段进行比较,与前面相同的,就进行替换。但是如果用空格隔开,就不太好看,所以可以用##来代替
2017-02-10 14:28:32 1034 1
转载 vim 中Ctags的安装和使用
转自:http://blog.csdn.net/duguteng/article/details/7412652这两天看到网上有将vim 改造成功能强大的IDE的blog,突然心血来潮,亲身经历了一下。网友的帖子都不错,我这里只是将各种插件分开罗列,然后加上一些使用技巧。希望本文对你有所帮助!『插件介绍』Ctags工具是用来遍历源代码文件
2017-02-07 10:49:57 326
原创 linux 内核编译原理
前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式:模块和直接编译进内核,并介绍了模块的一种编译方式——在一个独立的文件夹通过makefile配合内核源码路径完成 那么如何将驱动直接编译进内核呢? 在我们实际内核的移植配置过程中经常听说的内核裁剪又是怎么麽回事呢?我们在进行linux内核配置的时候经常会执行make men
2017-01-20 23:54:56 2386 3
转载 关于makefile中 .PHONY的使用
转自:http://www.cnblogs.com/hnrainll/archive/2011/04/12/2014082.html
2017-01-20 18:00:05 532
原创 Make file 函数
Makefile中有很多函数,这里逐步归类:1. if函数 函数原型: $(if ,,) 函数说明:condition是判断条件,如果condition返回非空字符串,那就执行部分,如果condition返回空字符串,那就执行部分。 函数返回:返回 或者的执行结果举例:$(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUT
2017-01-19 17:33:30 560
原创 ARM交叉编译工具链 gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别
为什么要用交叉编译器?交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,比如在PC平台(X86 CPU)上编译出能运行在以ARM为内核的CPU平台上的程序,编译得到的程序在X86 CPU平台上是不能运行的,必须放到ARM CPU平台上才能运行,虽然两个平台用的都是Linux系统。交叉编译工具链是一个由编译器、连接器和解释器组成的综合开发环境
2017-01-18 10:47:31 3581 2
原创 shell脚本的执行和source
shell命令可以事先写入一个文件中,使用时shell读取文件中的命令逐条解释执行,这种文件,被称为脚本。 执行脚本的方法与执行其他程序一样,如: ./setenv.sh #setenv.sh是当前目录下的一个脚本 以这种方法执行脚本时,其中的命令是在一个子shell中执行的。子shell继承了父shell的环境变量,但无法修改他们,或者说所做的修改仅对子shell有效。 如果
2017-01-17 17:10:39 9552
转载 Linux下的作业管理
转自 http://blog.csdn.net/ancient_wind/article/details/9858907进程的一个比较正式的定义是:在自身的虚拟地址空间运行的一个单独的程序。Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。 交互进程——由一个shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。 批处理进程
2017-01-16 19:56:37 2372
转载 linux shell 输入输出重定向 分析
linux shell数据重定向(输入重定向与输出重定向)详细分析在了解重定向之前,我们先来看看linux 的文件描述符。linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作。 用户可以自定义文件描述符范围是:3-num,这个最大数字,跟用户的:ulimit –n 定义数字有关系,不能超
2017-01-16 17:21:43 325
原创 Linux Error: curses.h: No such file or directory
Debian / Ubuntu Linux下的解决办法:sudo apt-get install libncurses5-dev libncursesw5-dev
2017-01-14 16:09:01 700
转载 降低make版本
转自 http://blog.csdn.net/zhongwcool/article/details/52300582为什么要降make版本?因为编译MTK 平台的Android source code报错,而且是莫名奇妙的错误,困扰很久。一、问题背景Ubuntu 15.04以上的make版本都已经是4.0+,官方目前推荐的编译环境还是基于Ubunt
2017-01-14 16:00:32 301
原创 linux常用命令
linux 常用命令如下1 . tar.gz 解压命令为 tar -zxvf tar.gz .tar.bz2 解压命令为 tar -jxvf .tar.bz2
2017-01-14 15:34:45 240
原创 UBUNTU 优麒麟 16.04 上面samba的配置
在 VMWARE上面配置了samba服务之后,可以方便的在windows和vmware里面的ubuntu之间共享文件。samba服务配置如下:1.安装samba服务执行命令 sudo apt install samba2.启动samba服务 3. 配置samba服务 samba服务配置的主要文件为/etc/samba/smb.conf文件 需要
2017-01-14 14:40:29 1863
转载 git下载 linux 源码
http://www.360doc.com/content/14/0722/09/15064667_396207029.shtml
2017-01-13 16:33:35 660
原创 一个好的学习文档下载服务器
Linux设备驱动程序(中文第三版) 2.6内核.pdf下载地址免费下载地址在 http://linux.linuxidc.com/用户名与密码都是www.linuxidc.com具体下载目录在 /pub/编程知识/2011/09/Linux设备驱动程序(中文第三版) 2.6内核/
2017-01-11 22:00:06 202
原创 IP地址与子网掩码
一、IP地址介绍 IPV4的IP地址长度为4字节,通常采用点分十进制表示方法,例如0xc0a80002表示为192.168.0.2。为了标识不同的网段,需要把32位的IP地址划分为网络号(Network ID)和主机号(Host ID)。网络号相同的各个主机位于同一网络段,相互间可以直接通信。 以前有一种划分网络号和主机号的方案,把所有的IP地址分为5类,如下图
2017-01-04 15:50:49 870
原创 位操作的一些常用宏定义
在嵌入式开发的过程中,需要经常用到一些位操作,比如设置字节的某个位的值,设置字节的某几个位的值等,可以将这些操作定义为一些宏定义,方便调用。1. setBitValue 功能:设置字节的某个位的值为0或者为1。 宏定义:#define setBitValue(x,k,value) (x) = ( (value>0) ?((x) | (1 x ----- 字节
2017-01-03 12:43:13 2832
转载 物理地址和线性地址介绍
在硬件工程师和普通用户看来,内存就是插在或固化在主板上的内存条,它们有一定的容量——比如64 MB。但在应用程序员眼中,并不过度关心插在主板上的内存容量,而是他们可以使用的内存空间——他们可以开发一个需要占用1 GB内存的程序,并让其在OS平台上运行,哪怕这台运行主机上只有128 MB的物理内存条。而对于OS开发者而言,则是介于二者之间,他们既需要知道物理内存的细节,也需要提供一套机制,为应用程序
2017-01-01 18:22:44 294
转载 C语言中的static 详细分析
转自 http://blog.csdn.net/keyeagle/article/details/6708077 google了近三页的关于C语言中static的内容,发现可用的信息很少,要么长篇大论不知所云要么在关键之处几个字略过,对于想挖掘底层原理的初学者来说参考性不是很大。所以,我这篇博文博采众家之长,把互联网上的资料整合归类,并亲手编写程序验证之。
2016-10-20 18:03:28 191
原创 gdb 调试
1)gdb编译命令 gcc -g base64.c -o base642)进入调试 gdb base643)设置断点 break 11(11为代码行数)4)查看代码 list5)开始运行 run(或者r)6)单步跑 n7)打印变量x 按十六进制格式显示变量。d 按十进制格式显
2016-10-17 18:24:42 241
转载 base64编码 【转】
base64 编辑Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作
2016-10-17 11:40:07 441
转载 git github
The agent has no identities.# ssh-add ~/.ssh/id_rsagit使用记录git是分布式的代码管理工具,远程的代码管理是基于ssh的,所以要使用远程的git则需要ssh的配置。github的ssh配置如下:一 、设置git的user name和email:$ git co
2016-10-14 17:58:15 298
转载 Git命令用法手册
新建代码库# 在当前目录新建一个Git代码库git init# 新建一个目录,将其初始化为Git代码库git init [project-name]# 下载一个项目和它的整个代码历史git clone [url]配置Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。# 显示当前的Git配置git config --li
2016-10-14 16:21:34 267
转载 git config
一.配置你的用户名和密码当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中: [html] view plain copy$ git config --global user.name "wirelessqa" $ git conf
2016-10-14 15:43:27 270
转载 [GIT] warning: LF will be replaced by CRLF问题解决方法
开发环境:操作系统: windows xpruby 1.9.2rails 3.1.3git version 1.7.8.msysgit.0 问题描述:启动GIT: 新建了一个rails工程 Ruby代码 $ rails new blog 当切换到bl
2016-10-14 15:38:40 208
转载 ubuntu 修改时区
http://blog.sina.com.cn/s/blog_6c9d65a1010145st.html1.首先查看时区:swfsadmin@swfsubuntu:~$ date -RTue, 17 Dec 2013 18:23:01 +0800如果要修改时区,执行sudo tzselect2.选择区域:亚洲swfsadmin@sw
2016-10-13 16:50:45 262
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人