自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(47)
  • 资源 (4)
  • 收藏
  • 关注

原创 QT error:cannot find -lGL & collect2:ld returned 1 exit status

在Ubuntu(16.04)下QT(5.6.3)编译运行出现以下2个错误提示:1.cannot find -lGL2.collect2:ld returned 1 exit status解决方法:由于 Qt5.0 以上的版本默认将OpenGL加入了工程,但是机器上没有安装OpenGL,所以只需要在机器系统安装OpenGL即可,安装命令:apt-get install libgl1-...

2019-01-04 15:50:53 630

原创 AndroidManifest.xml file missing!问题

问题现象:Android项目提示AndroidManifest.xml file missing!解决方法:网上常见的说法是目录包含中文导致的。我的情况是项目建立的时候刚开始不小心建成中文了,但是建好后马上就Delete项目重新建立了。但是最后还是出现这个问题。后面在网上找到解决的办法,需要在Project->Clean操作一下,估计是清楚旧文件。...

2018-11-06 09:17:52 4342 1

转载 为什么你应该(从现在开始就)写博客

(一)为什么你应该(从现在开始就)写博客  用一句话来说就是,写一个博客有很多好处,却没有任何明显的坏处。(阿灵顿的情况属于例外,而非常态,就像不能拿抽烟活到一百岁的英国老太太的个例来反驳抽烟对健康的极大损伤一样)  让我说得更明确一点:用博客的形式来记录下你有价值的思考,会带来很多好处,却没有任何明显的坏处。Note:碎碎念不算思考、心情琐记不算思考、唠唠叨叨也不算思考、没话找话

2016-09-20 13:52:59 436

转载 U-Boot启动阶段修改启动参数方法及分析

作者:围补本来启动方式这节不是什么复杂的事儿,不过想简单的说清楚明白,还真是不知道怎么组织。毕竟文字跟有声语言表达有别。但愿简单的东西别让我讲的太复杂!Arm板系统文件一般有三个——bootloader(uboot)、kernel(uImage)及根文件系统(rootfs)。在arm板上电后,按uboot->kernel->rootfs的顺序依次启动。由于开发板上有多种存储介质,三

2016-09-05 13:39:31 5115

转载 用CEDET浏览和编辑C++代码

作者: Meteor Liu1 前言 2 简介 2.1 EDE 2.2 Semantic 2.3 SRecode 2.4 Cogre 2.5 Speedbar 2.6 EIEIO 3 安装 4 semantic配置 4.1 功能介绍 4.1.1 semantic-load-enable-mini

2016-08-31 15:34:09 1273

转载 Emacs快捷键和设置基础知识

转载自http://blog.chinaunix.net/uid-26185912-id-3334793.html1 前言 不想再说废话了,既然你会阅读这篇文档,说明你多少对Emacs有些兴趣,或者已 经非常熟悉Emacs的基础操作了,并且希望有所提高。因此我不需要再把"编辑器 之神,还是神的编辑器"之类的恶俗话语放出来,来吸引你的好奇心。下面的内容, 从最

2016-08-28 15:56:33 13257

转载 U-Boot代码中常见汇编指令

转载自http://blog.csdn.net/liangkaiming/article/details/5956049在嵌入式开发中,汇编程序常常用于非常关键的地方,比如系统启动时初始化,进出中断时的环境保护,恢复等对性能有要求的地方。ARM指令集可以分为六大类,分别为数据处理指令 、Load/Store指令 、跳转指令 、程序状态寄存器处理指令 、协处理器指令 和异常产生指令 。 

2016-08-22 15:21:21 635

转载 U-BOOT的两个阶段启动过程与第二阶段的board_init_f和board_init_r

转载自http://tscsh.blog.163.com/blog/static/200320103201312645149965/U-BOOT的两个阶段启动过程:(2010.06经典版来说)第一阶段:start.S的路径位于arch\arm\cpu\arm920t\这段汇编代码一般被称作第一阶段初始化代码。主要作用是初始化运行环境;初始化内存;重新放置UBOOT代码到内存中;

2016-08-07 15:37:31 2518

转载 Exynos4412 Uboot 移植(六)—— 相关知识补充

转载自http://blog.csdn.net/zqixiao_09/article/details/50819648Uboot版本:u-boot-2013.01一、gd结构体的定义与使用gd_t 和 bd_t 是u-boot中两个重要的数据结构,在初始化操作很多都要靠这两个数据结构来保存或传递。gd_t 定义在/u-boot-2013.01/a

2016-08-07 15:31:21 462

转载 Exynos4412 Uboot 移植(五)—— Uboot 移植过程

转载自http://blog.csdn.net/zqixiao_09/article/details/50818428Uboot 版本:u-boot-2013.01开发板:FS_4412 平台(Exynos4412,可以根据自己的板子修改,只要是4412的过程都是一样的)一、建立自己的平台1、下载源码我们可以在下面这个网站上下载最新的和以前任

2016-08-07 15:29:47 3350 2

转载 Exynos4412 Uboot 移植(四)—— Uboot引导内核过程分析

转载自http://blog.csdn.net/zqixiao_09/article/details/50817500bootloader 要想启动内核,可以直接跳到内核的第一个指令处,即内核的起始地址,这样便可以完成内核的启动工作了。但是要想启动内核还需要满足一些条件,如下所示:1、cpu 寄存器设置    * R0 = 0    * R1 = 机器类型 id

2016-08-07 15:27:32 729

转载 Exynos4412 Uboot 移植(三)—— Uboot添加自定义命令

转载自http://blog.csdn.net/zqixiao_09/article/details/50805936Uboot添加自定义命令:uboot中的命令使用U_BOOT_CMD这个宏声明来注册进系统,链接脚本会把所有的cmd_tbl_t结构体放在相邻的地方。UBoot版本:u-boot-2013.01 一、U-Boot命令的格式  即使是内

2016-08-07 15:25:33 554

转载 Exynos4412 Uboot 移植(二)—— Uboot 启动流程分析

转载自http://blog.csdn.net/zqixiao_09/article/details/50805720

2016-08-07 15:22:00 1557 1

转载 Exynos4412 Uboot 移植(一)—— Uboot 编译流程分析

转载自http://blog.csdn.net/zqixiao_09/article/details/50805205Uboot 所用版本 u-boot-2013.01      u-boot-2013.01 中有上千文件,要想了解对于某款开发板,使用哪些文件、哪些文件首先执行、可执行文件占用内存的情况,最好的方法就是阅读它的Makefile。根据顶层R

2016-08-07 13:35:20 2597

转载 两种方法实现MFC对话框最大化时控件也随比例最大化或者还原

转载自http://blog.csdn.net/zyw_anquan/article/details/8257722方法一:单个控件ID操作第一步、在对话框类中(.h文件)定义如下变量和函数定义如下几个变量:[cpp] view plain copyvoid ReSize(int nID);  

2016-08-02 15:20:42 4457 1

转载 VS2010下MFC串口编程

转载自:http://www.cnblogs.com/gaohongchen01/p/4432922.html串口通信简介  一般来说,计算机都有一个或多个串行端口,这些串口提供了外部设备与PC进行数据传输和通信的通道,在CPU和外设之间充当解释器的角色。当字符数据从CPU发送给外设时,这些字符数据将被转换成串行比特流数据;当接收数据时,比特流数据被转换为字符数据传递给CPU,再进

2016-07-29 16:35:05 2221 1

转载 Linux 从虚拟地址到物理地址

原文地址:http://blog.chinaunix.net/uid-24774106-id-3427836.html我们都知道,动态共享库里面的函数的共享的,这也是动态库的优势所在,就是节省内存。C 编译出来的可执行文件几乎都会用到libc的库,假如没有这个共享的技术,每个可执行文件都要占一份libc库的内存,这将是极大的内存浪费。 可是一直没搞明白,怎么样才能证明共享库里面函数的地

2016-06-03 17:33:01 1106

转载 Segmentation fault到底是何方妖孽

前两天和阿彬扯淡的时候(注意不是扯蛋),他说自己一个礼拜解决了三个Core dump,华丽丽之极,让我对其敬仰、膜拜之情如滔滔之江水,绵绵不绝。今天我也来谈一下Linux环境下开发时经常遇到的“Segmetation fault”的一点点个人看法,也算是抛砖引玉了。   (备注:我的glibc版本是2.12,GCC版本4.4.6,内核版本2.6.32-279)   Linux上开发时最恼火

2016-05-31 23:21:08 1062

转载 浅析container_of(ptr, type, member)

问题:如何通过结构中的某个变量获取结构本身的指针???Linux内核链表:#define list_entry(ptr, type, member) \container_of(ptr, type, member)关于container_of见kernel.h中:/*** container_of - cast a member of a structure out

2016-05-30 11:15:32 390

转载 Ubuntu下查看Printk的输出

由于Linux内核的级别控制,导致printk打印的内容不一定都能从控制台正常输出,可以使用dmesg命令来输出所有级别的信息。输入: sudo dmesg –n 8 可以把所有日志信息输出来Linux命令:dmesg 功能说明:显示开机信息。语 法:dmesg [-cn][-s ]补充说明:kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用

2016-05-26 00:42:59 2808

转载 linux内核模块的安全

linux可以动态的加载内核模块,在很多场合可能需要确保加载内核的安全性。如果被攻击者加载恶意内核模块,将会使得内核变得极其危险。   当然,稳妥的做法就是给内核模块进行签名,内核只加载能正确验证的签名。这是最首先想到的方法,当然,这个方法并不是很简单,你需要选用一套公钥加密方法,一般就是rsa算法了。难点是要在内核中进行验证模块的签名,这需要修改内核中的一些对应的地方。明显在load_m

2016-05-25 15:32:45 1920

转载 更改Ubuntu gcc、g++默认编译器版本

升级Ubuntu到11.10,但在编译Android的时候出错了。这个Android在升级系统之前编译是没有错误的,对比发现升级到Ubuntu 11.10后gcc、g++的版本都是4.6.1。而升级之前的版本是4.4.6。我想多半原因就在这里了。要想解决问题需要更改Ubuntu gcc、g++默认编译器版本。google一把发现有两种方法可以更改。方法一:首先,看一下你的Ubuntu都

2016-05-25 14:42:44 1713

转载 ubuntu12.04 insmod&rmmod出现Error:Device or resource busy

一:insmod时候错误:1:错误信息insmod: error inserting 'hello.ko': -1 Device or resource busy2:原因:你的代码里面的设备号和系统已经存在的相冲突3:查看系统的设备号:cat /proc/devices cat /proc/devices  查看和你的设备号有冲突的吗,注意要分开字符设备和块设备4

2016-05-25 14:18:49 1394

转载 static_cast、dynamic_cast、reinterpret_cast和const_cast之间的区别

C-style cast举例: int i; double d; i = (int) d; 上面的代码就是本来为double类型的d,通过(int)d将其转换成整形值,并将该值赋给整形变量i (注意d本身的值并没有发生改变)。这就是典型的c-style类型转换。 下面是一个简单的程序:#include using namespace std; int m

2016-05-12 10:33:28 266

原创 error: lvalue required as unary ‘&’ operand

源码:printf("Now time is:%s\n",asctime(gmtime(&time(NULL))));提示错误:error: lvalue required as unary ‘&’ operand原因分析:time(NULL)返回的是一个long型,为什么会出现这个错误,如果你深入汇编里,可以看到函数返回值一般存储在eax寄存器里,如果你写了这样的语句

2016-05-09 17:16:38 16671

转载 getchar的用法

getchar函数名: getchar功 能: 从stdin流中读字符用 法: int getchar(void);注解:  getchar有一个int型的返回值,当程序调用getchar时程序就等着用户按键,用户输入的字符被存放在键盘缓冲区中直到用户按回车为止(回车字符也放在缓冲区中)。当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符getchar函数

2016-05-09 15:13:29 2750

转载 Linux基础知识

1、linux分区 --在linux里面所有的设备、任何东西,在linux看来都是文件。 --文件在它看来,有两种形式:   第一种是字符型(键盘输入、打印机);   第二种是二进制型(硬盘、光驱、U盘) --linux中所有硬件 --手动分区 --A、至少有两个分区   /    根分区   SWAP 交换分区(物理内存大小的两倍) --B、个人桌面分区 

2016-05-09 12:34:19 236

转载 Ubuntu的复制粘贴操作及常用快捷键

Ubuntu的复制粘贴操作  1.最为简单,最为常用的应该是鼠标右键操作了,可以选中文件,字符等,右键鼠标,复制,到目的地右键鼠标,粘贴就结束了。2.快捷键。一般通用的是Ctrl+C与Ctrl+V。不过通用也是有限制的,一般的程序下是没有问题,遇到终端就不行了。其实终端下默认的是 Ctrl+Shift+C,Ctrl+Shift+V,可以自己在编辑项下面自己设置为常用的。3.文件

2016-05-09 12:31:42 90141 3

转载 Linux文件权限详解

文件和目录权限概述在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问;允许一个预先指定的用户组中的用户访问;允许系统中的任何用户访问。同时,用户能够控制一个给定的文件或目录的访问程度。一个文件活目录可能有读、写及执行权限。当创建一个文件时,系统会自动地赋予文件所有者读和

2016-05-08 14:55:32 211

转载 Linux man手册使用指南

使用Linux下man已经很久了。但只是大概知道其内容的存放目录,以及man number xxx中mumber的含义。今天需要添加C++ man page。顺便将man的内容作一个较详细的了解。0. man后面数字的含义:之前Sam在查找C库函数时,会使用#man 3 func在查找系统调用时,则使用#man 2 fork.否则有时会出现查到同名的shell中命令

2016-05-08 14:11:21 251

转载 linux 下c 编译和调试

在linux下编写和调试c程序的环境搭建:需要安装gcc编译器和gdb调试器。其中gcc编译器只能用rpm包或者用linux的安装盘里的gcc安装文件安装。查看是否安装gcc可用gcc -v来显示相关gcc信息,如显示如下内容:则说明你的linux安装了gcc 同样用gdb -v来检测是否安装gdb 如果显示说明你已经安装好了gdb具体安装过程略..

2016-05-06 10:35:15 3629

转载 bzero 和memset的区别

bzero  原型:extern void bzero(void *s, int n);  用法:#include   功能:置字节字符串s的前n个字节为零且包括‘\0’。  说明:bzero无返回值,并且使用strings.h头文件,strings.h曾经是posix标准的一部分,但是在POSIX.1-2001标准里面,这些函数被标记为了遗留函数而不推荐使用。在P

2016-05-05 22:28:39 1027 1

转载 怎样高效阅读源码?

写代码是从模仿开始的,提高也是从观摩别人的优秀设计和代码开始的。所以阅读源码至关重要,接下来咱从下列方面聊聊阅读源码的事儿。目的工具知识准备运行与开发环境笔记实用技巧心理调试(散步在各个环节)目的当我们阅读面前的源码时,无非有以下几种目的:纯粹学习添加新功能重构旧代码修复他人的Bug不同的目的会有不同的心情,会影响到工作的进展,像修复他人的Bug这种事情,类似于没被掰弯

2016-04-30 14:46:09 2068 3

转载 Win10关闭休眠方法

操作步骤如下:  1、首先以管理员账户登录;  2、按win+r,调出运行对话框,输入cmd;  3、命令窗口中输入 powercfg -h off,即可关闭休眠功能,同时 Hiberfil.sys 文件也会自动删除。如果输入powercfg -h on,即可开启休眠功能

2016-02-02 22:11:37 12697 1

转载 可重入和线程安全

编写可重入和线程安全的代码在单线程的进程中,有且仅有一个控制流。这种进程执行的代码不必是可重入的,或线程安全的。在多线程的程序中,同一个函数或是同一个资源可能被多个控制流并发地访问。为了保证资源的完整性,为多线程程序写的代码必须是可重入的和线程安全的。本节提供了一些编写可重入和线程安全的代码的信息。 理解可重入和线程安全可重入和线程安全都是指函数处理资源的方式。可重入和线程安全

2016-01-31 22:03:28 395

原创 Windows设置眼睛保护色

Win10系统:1、windows+R键调出运行窗口(或者鼠标右击开始键,选择运行)2、在运行窗口中输入 regedit 调出注册表编辑器3、按照如下顺序找到windows:[HKEY_CURRENT_USER\Control Panel\Colors] windows4、双击windows 进入编辑状态 将原本数值删除并输入:202 234 206,点击确定推出注册表编辑5、

2016-01-24 10:37:47 1827

转载 source insight相对路径设置

在创建source insight工程时,最好用“相对路径”,并“将si的工程文件,保存到源码包里”!这样一来,等以后,将源码包放置于硬盘上其他位置,或分发给其他人,或改了源码包的名称,si工程仍然能用! 方法步骤如下: 以建立一个阅读busy-box源码的工程为例。有如下目录:E:\code\busybox-1.7.0,其中存放的是busybox的源码,那里面有很对文

2016-01-21 21:28:33 1303

转载 C语言字符串操作总结大全

1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长

2015-12-28 10:25:01 318

转载 白盒测试和黑盒测试详解

白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。采用什么方法对

2015-12-26 01:03:24 5366

转载 白盒测试和黑盒测试

1,一般软件开发人员和测试人员对白盒测试和黑盒测试的感念都有一定的认识,但认为是编代码所做的测试是白盒测试,黑盒测试不用编写代码,这其实是一种误解。2,首先说一下概念,任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作

2015-12-26 00:56:24 609

ADBMS1818驱动程序

ADBMS1818驱动程序

2022-04-15

飞思卡尔芯片MC9S12XS128的BootLoader设计.pdf

详细介绍了飞思卡尔16位单片机MC9S12XS128实现 bootloader 的方法原理以及实现过程,包括主要核心代码讲解。

2020-04-13

LTC6804菊花链方式驱动代码.zip

BMS电池采集AFE芯片LTC6804菊花链通讯方式驱动代码(LTC6804.cpp,LTC6804.h),也适用于LTC6811芯片

2020-04-13

exynos4412-uboot移植笔记

基于exynos4412的uboot移植笔记

2016-08-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除