自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

转载 IP地址,子网掩码,默认网关,DNS服务器

来自博客园:https://www.cnblogs.com/JuneWang/p/3917697.html

2019-05-30 20:17:04 185

转载 CDMA,WCDMA,GSM,CDMA2000等和中国移动、联通、电信的关系

参考:https://blog.csdn.net/xiaofon/article/details/52177169

2019-05-28 09:35:24 756

转载 可重入与不可重入函数的区别

参考博客园:https://www.cnblogs.com/zhangjxblog/p/5009989.html

2019-05-28 09:18:37 569

转载 LTE-FDD和LTE-TDD的区别

注:本篇大部分内容源自“再见理想”的博客园,详细链接:https://www.cnblogs.com/exmyth/p/4572934.html1.什么叫LET 4G故名思议就是第四代移动电话行动通信标准,其中包括TD-LTE(国外称作LTE-TDD,叫法不同,意思是一样的)和FDD-LTE两种制式。而中移动使用的就是TD-LTE,中联通与中电信则是使用TD-LTE与FDD-LTE...

2019-05-13 19:25:35 16855

原创 Java中final关键字

常见的用法是修饰类、方法以及变量修饰类时,该类不能被继承;修饰方法时,该方法不能被重写;修饰变量时,该变量只能被赋值一次。如果是修饰基本类型变量,则变量的值不能改变,如果是修饰引用类型,则改引用类型变量的地址值不能改变,但地址所在内存中的内容可变。如:现在有Student类:class Student{int a = 10;}有代码: final Student ...

2019-03-01 11:30:56 111

原创 Java语言中继承的特点

1.用extends关键字实现继承:class Son extends Father2.java中只支持单个继承(只能继承父亲,无法继承母亲)3.java中支持多层继承(父亲继承爷爷,儿子继承父亲)4.子类只能继承父类中非私有成员(成员变量和成员方法)5.子类无法继承父类的构造方法,但可以通过关键字super来访问父类的构造方法6.子类中所有构造方法(带参或者不带参)都会访问父...

2019-02-27 11:49:14 1109

原创 Java语言中类的静态成员和非静态成员的区别

静态成员随着类的产生而产生,消失而消失;非静态成员随着对象的产生而产生,消失而消失。 1.静态成员变量与非静态成员变量产生时间不同:静态成员随着类的产生而产生,非静态成员随着对象的产生而产生存储位置不同:静态成员变量存在于类方法区的静态区中,非静态成员变量存在于堆内存中调用方式不同:静态成员变量可由类名调用,也可由对象调用,是属于整个类的,是该类所有对象所共有的对象;而非静态成...

2019-02-25 22:21:39 2144

原创 java中short、byte、char类型的变量参与运算时的特点

java中short、byte、char等类型的变量在参与运算时会先被隐含地转换为int类型,再参与运算。例如:         short a=3,b=4,c;           c=a+b;           System.out.println(a);此时编译器会报错:可能会损失精度这是因为a和b在参与运算之前会被隐式转换为int型,两个int型数据相加后依然是i...

2019-01-09 16:55:09 1129

原创 uboot的主Makefile中变量MKCONFIG中创建符号链接相关问题

在uboot的主Makefile中,定义了一个变量:MKCONFIG    := $(SRCTREE)/mkconfig。该MKCONFIG 变量即为源程序目录下的mkconfig脚本文件,该文件在uboot的前期配置操作时会用到。x210_sd_config :    unconfig    @$(MKCONFIG) $(@:_config=) arm s5pc11x x210 sam...

2018-10-11 21:16:43 377

原创 uboot的版本号

uboot版本号在主Makefile中,由四部分组成:VERSION (主版本号)、PATCHLEVEL (次版本号)、SUBLEVEL (再次版本号)、EXTRAVERSION (版本号附加信息)。最终的版本号为:U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION),实际上最后组成了一个字符串...

2018-09-30 22:29:40 4922

原创 uboot移植时源码的三种来源

要把uboot移植到自己的硬件平台上来作为启动代码启动linux内核,首先要寻找合适的uboot源码作为蓝本,在此基础上进行修改以使其能支持自己的硬件平台。一般uboot源码主要有三种来源:uboot官方、soc官方、硬件开发板官方。其移植难度依次减小。1.uboot官方源码:普适性的源码,里面没有和具体的soc相关的代码,只是通用性的代码。若要以此为蓝本进行移植,则要做大量的修改、删...

2018-09-27 20:37:15 395

转载 C++中new和delete的用法

new和delete运算符用于动态分配和撤销内存的运算符new用法:          1.     开辟单变量地址空间               1)new int;  //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int *a = new int 即为将一个int类型的地址赋值给整型指针a.                2)int *a = new int(...

2018-09-01 22:06:22 122

原创 i2c和spi通信协议的特点及区别

一、i2c总线i2c是由Philips公司提出的双线多主机、同步、半双工、串行低速率、非差分信号的通信总线。广泛应用于传输速率要求不高、传输距离短的场合,最大优势是可以在总线上扩展多个外围设备的支持。如soc外部的各外围设备与soc之间的通讯,常见的各种物联网传感器芯片(如gsensor、温度、湿度、光强度、酸碱度、烟雾浓度、压力等)均使用I2C接口和主SoC进行连接。双线多主机:i2c由...

2018-08-30 15:30:23 8424 1

转载 重载、覆盖、隐藏

成员函数被重载的特征(1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual 关键字可有可无。 覆盖是指派生类函数覆盖基类函数,特征是(1)不同的范围(分别位于派生类与基类); (2)函数名字相同; (3)参数相同; (4)基类函数必须有virtual 关键字。 “隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下(1)如果派生类的函...

2018-08-28 09:29:36 91

转载 c语言中变量、函数的存储类、作用域、生命周期、连接属性间的关系

1、普通(自动)局部变量分配在栈上,作用域为代码块作用域,生命周期是临时,连接属性为无连接。定义时如果未显式初始化则其值随机,变量地址由运行时在栈上分配得到,多次执行时地址不一定相同,函数不能返回该类变量的地址(指针)作为返回值,因为没有意义。2、静态局部变量分配在数据段/bss段(显式初始化为非0则在数据段,显式初始化为0或未显示初始化则在bss段),作用域为代码块作用域(人为规定的),生命周...

2018-08-23 11:37:13 274

转载 c语言中定义变量的几个关键字

1.auto(1)auto关键字在C语言中只有一个作用,那就是修饰局部变量。(2)auto修饰局部变量,表示这个局部变量是自动局部变量,自动局部变量分配在栈上。(既然在栈上,说明它如果不初始化那么值就是随机的······)(3)平时定义局部变量时就是定义的auto的,只是省略了auto关键字而已。可见,auto的局部变量其实就是默认定义的普通的局部变量。2.static(1)stati...

2018-08-23 10:44:21 16346

原创 静态链接库和动态链接库的制作和使用

静态:现有a.c,b.c,d.c三个源文件和a.h一个头文件在同一个文件夹中,a.c中包含了其余两个中的函数,a.h中有相关函数的声明,包含于a.c中。现在要把b.c和d.c做成静态库,在a.c中直接引用。a.c内容:#include<stdio.h>#include "a.h"int main(){    unsigned int n = 0;    scan...

2018-08-20 17:39:58 228

原创 带参宏、函数、及内联函数

带参宏即为带有参数的宏定义,要注意的是,在书写带参宏时一定要给每一个参数带括号,并给表达式整体带括号。如求a,b中较大者:#define MAX(a,b)  (((a)>(b))?(a):(b))众所周知,宏定义是在预处理阶段由预处理器对所定义的宏进行原地展开的,而预处理器是不带参数检验功能的,所以带参宏无法对其参数进行校验,这是它的一个缺陷。同时对它的处理是原地替换,所以不存在传参...

2018-08-20 14:54:59 553

原创 offsetof宏和container_of宏

offsetof宏:已知类型为TYPE的结构体变量,并且知道其内部有一个成员为MEMBER,在未知结构体变量指针的情况下求MEMBER成员与该结构体变量首地址之间的偏移量。#define offsetof(TYPE,MEMBER)       ((int)&((TYPE *)0)->MEMBER)   container_of宏:已知已知类型为type的结构体变量...

2018-08-19 22:04:18 108

转载 转自:博客园.海子《 结构体字节对齐》http://www.cnblogs.com/dolphin0520/。

http://www.cnblogs.com/dolphin0520/本博客中未标明转载的文章归作者海子和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...

2018-08-19 19:27:16 163

原创 c语言字符串和字符数组的区别

在函数中定义一个字符串,char *s = "asdfgh",相当于在代码段申请了7个连续的字节的内存空间用以存储字符串"asdfgh"(为何是7个字节,因为字符串末尾还有一个'\0'字符,加上字符串本身的6个字符,共占7个字节),同时在栈中定义一个字符指针s,即char * s,并将这7个字节组成的这段内存的首地址赋值给s,即将字符'a'的内存地址赋值给s。在函数中定义一个字符数组,ch...

2018-08-19 11:55:05 13648 2

原创 c语言程序中用来存储变量的三种内存

c语言程序中变量存储在三种类型的内存中:栈内存、堆内存、数据段内存一.栈内存,用来存储程序中各个函数的局部变量(动态局部变量),特点:1.不用程序员手动申请和释放内存,由编译系统自动分配与释放;2.内存是脏的,内存中内容是随机的,如果在定义局部变量时未显式初始化该变量,则变量的值是不确定的;3.栈内存的生长模式是向下生长的(高地址向低地址),且变量存储与取出时遵循先进后出的原则;...

2018-08-19 11:03:58 1854

原创 函数的传参问题

首先要明白为何函数要进行参数传递?为了实现程序中各功能的模块化,将各个功能模块单独地写成一个函数,在主函数或其他要用到该功能模块的函数中去调用该函数,从而达到程序中功能的模块化,提高整个程序的可读性。那么被调函数和主调函数之间如何进行信息通讯呢?就要通过函数传参来实现。当然,也可以用全局变量来实现调函数和主调函数之间的信息传递,但是大量使用全局变量不利于整个程序的模块化,而且随着程序变得庞...

2018-08-17 15:06:00 712

原创 如何看待一维数组以及二维数组的数组名、首元素、数组地址

一维数组定义一个数组:int a[5];此处,a,&a[0]以及&a做右值时在数值上是完全相同的,但含义不同。数组名a只能做右值,不能做左值。做右值是表示数组首元素首的地址,同&a[0],如:定义一个int *类型指针int * p,此时p=a和p=&a[0]完全是一个效果,一个意思。&a[0]即数组首元素首地址,只能做右值,同数组名a做...

2018-08-17 10:21:25 2384

原创 c语言中对变量的理解

要知道变量是存储在内存中的,所谓定义一个变量其实就是分配一块内存空间,并给这个内存空间起一个名字。所以变量的实质是一个内存空间的名字、代号。而这块内存空间具有其自身的一些属性:空间长度(字节数)、空间地址、空间中的内容(要存储什么二进制数据)。空间长度是由定义变量时的变量类型所指定的,空间地址是编译器为变量分配这个空间时随机分配的,空间内容也是由变量类型指定的。如:int a;    //...

2018-08-12 12:07:28 1388

转载 c语言中变量数据类型

c中变量数据类型有两个作用:指定变量所占内存的长度(n个字节);指定变量的解析方法(告诉编译器如何看待、理解这个变量)。1.指定变量所占内存的长度int a;          //指定变量a所占内存为4个字节长度(32位机器中)2.指定变量所占内存的解析方法要知道所有的类型的数据存储在内存中,都是按照二进制格式存储的。所以内存中只知道有0和1,不知道是int的、还是float的还...

2018-08-12 11:52:46 1334

原创 计算机和计算机程序

计算机是什么?是用来计算的机器,它最主要的功能就是用来做计算(处理)的。那么它要计算什么东西呢?数据。哪里的数据?计算机程序中需要计算机去计算处理的数据。怎么进行计算处理这些数据?根据计算机程序中指定的指令去计算,比如程序中有“a=b+c”,则先计算“+”,再执行“=”。所以,计算机程序就包含两部分:数据和指导计算机如何处理数据的指令。数据就是数字,指令就是动作(其实本质上指令也是...

2018-08-12 11:27:30 354

原创 哈佛存储器结构和冯.诺依曼存储器结构

哈佛结构是将程序中的数据和指令分开来存储,这样数据和指令可以有不同的位宽冯诺依曼结构是将程序中数据和指令存储在同一个存储器的不同物理地址中,这样数据和指令必须保持一致的位宽...

2018-08-12 10:34:22 1613

原创 嵌入式设备的机器码、cpu的id号以及网卡mac地址

gd->bd->bi_arch_number(1)bi_arch_number是board_info中的一个元素,含义是:开发板的机器码。所谓机器码就是uboot给这个开发板定义的一个唯一编号。(2)机器码的主要作用就是在uboot和linux内核之间进行比对和适配。(3)嵌入式设备中每一个设备的硬件都是定制化的,不能通用。嵌入式设备的高度定制化导致硬件和软件不能随便适配使用。这...

2018-08-09 15:35:04 3264 1

原创 Linux操作系统内核

操作系统本质上来讲就是一个比较大的程序,由多个源文件和头文件编译连接而成。操作系统的主要功能就是操作设备平台的各个硬件,将使用设备的人和具体的硬件操作隔离开来,只留下操作接口供使用,这样使用者就不必直接操作硬件,避免了繁杂的工作量,只需要通过api接口来间接操作硬件。操作系统具体的功能主要体现在以下四个方面:1.内存管理:裸机程序要使用内存,需要程序员自己去管理分配,这样容易造成已使用内存...

2018-08-09 10:46:21 2681

原创 Uboot中的环境变量

环境变量其实在uboot中就是一些全局变量,用来修改uboot运行时的一些特征,其外在表现为一个个字符串。环境变量的作用:能够在不用重新编译的前提下改变uboot运行时所表现出来的特征,这样当要调整uboot运行时特性就不用重新修改、编译、运行uboot了。正常情况下环境变量应该同uboot、kernel、rootfs一起存放在存储介质(sd、inand、emmc等)的对应分区中的,当ub...

2018-08-08 17:11:34 588

原创 Uboot的前尘后事

Uboot作为引导Linux Kernel启动的引导程序,从其开始被加载到DDR到bootdelay时间到执行bootcmd环境变量中的命令(bootm)从而结束生命,其一生都在为启动kernel而服务。一、主要作用:1.提供一个shell命令行,用以设定环境变量,执行各种命令,来影响kernel启动运行过程2.必要的硬件初始化工作,如对内存DDR、系统时钟、串口等硬件的初始化3....

2018-08-08 11:14:37 181

原创 Makefile中指定链接地址的方式

两种:第一种是指定连接器LD的flag如:arm-linux-ld -Ttext 0x0 -o led.elf $^(这句表示使用依赖编译链接生成led.elf目标文件,编译链接工具为arm-linux-ld),链接地址依靠链接器的flag(Ttext)来指定,为0第二种:依靠链接脚本来指定如:arm-linux-ld -Tlink.lds -o led.elf $^,这句功能同上...

2018-08-06 14:40:52 2825

原创 Linux专题:shell脚本语言

shell交互界面为人和操作系统、uboot之间的人机交互提供了操作界面,可以通过shell界面来向操作系统或uboot等软件程序发送命令,使其按照命令行事。shell交互界面可以通过shell脚本语言来实现,linux中常用的脚本语言是sh和bash。脚本语言是解释性语言,其源代码不是二进制形式的可执行文件,而是比较接近人类语言的解释性语言。它运行前不是像c源程序一样需要编译链接成可执行二进...

2018-07-30 17:16:40 497

转载 转载:集电极开路、漏极开路、上拉电阻、下拉电阻等接口相关基本概念

转自:思.睿博客文章原作者:emouse地址:http://www.cnblogs.com/emouse/1.1.1 接口相关电路及概念1. 集电极开路输出在电路中常会遇到漏极开路(Open Drain)和集电极开路(Open Collector)两种情形。漏极开路电路概念中提到的“漏”是指 MOSFET的漏极。同理,集电极开路电路中的“集”就是指三极管的集电极。在数字电路中,分别简称OD门和OC...

2018-06-07 11:05:23 330

空空如也

空空如也

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

TA关注的人

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