自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Simon_Zhao

学习笔记

  • 博客(67)
  • 资源 (1)
  • 问答 (4)
  • 收藏
  • 关注

原创 类型转换函数 & 转换构造函数

转换构造函数用途:将一个其它类型的数据转换成自定义的类类型。注意:这种构造函数只有一个参数,但要区别于拷贝构造函数(形参是一个自定义类型的引用)例子:#include <iostream>using namespace std;class Complex{ public:// Complex():real(0), imag(0){} ...

2017-09-07 22:55:59 744

原创 nfs的建立以及挂载

一、nfs作用nfs也就是网络文件系统,在嵌入式开发中为什么需要nfs呢?主要是因为在开发过程中,根文件系统里面的内容要经常改动,那么就会频繁的调试,如果不使用nfs那么,一旦根文件系统内的文件有改动的时候,就要重新烧录flash分区,这样重复烧写会对缩短flash的使用寿命;由于上述原因,所以可以使用网络文件系统,这样根文件系统使用网络文件系统nfs的话,根文件系统中有改动的时候不需要重新烧

2017-02-05 21:09:03 1101

转载 Kconfig和makefile的关系

文章的原地址是:http://wenku.baidu.com/link?url=Yl5eiPf3P7TMhk24Kl5bMMNyWEM4ctHdT46M4ltz07qBPuWswCid3rGC5zxaGPLa3sawP8m4ZaqB0dIXmhlKF_2yBMUvxt9c5Q70MOevdhSlinux 内核中 Kconfig文档的作用内核源码树的目录下都有两个文档 Kconf

2017-01-03 21:49:32 889

转载 学习的知识一段时间不用就忘记了怎么办

详细内容见本文:https://www.zhihu.com/question/27252044

2017-01-02 17:23:12 4445

原创 ARP协议在同网段及跨网段下的工作原理

一、ARP在同个网段下的工作原理 首先,每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求...

2016-12-07 22:25:48 5112 2

转载 Linux内核启动代码之__create_page_tables函数分析

文章原地址为:http://blog.chinaunix.net/uid-28263175-id-3842638.html  在此表示感谢在分析__create_page_tables函数之前,需要知道以下的知识。1、head.S首先确定了processor type和 machine type,之后就是创建页表。通过前面的两步,我们已经确定了processor t

2016-10-28 22:11:28 516

转载 ARM linux内核启动时几个关键地址

文章的源地址为 http://www.cnblogs.com/armlinux/archive/2011/11/06/2396787.html 表示感谢1.       内核启动地址1.1.   名词解释ZTEXTADDR解压代码运行的开始地址。没有物理地址和虚拟地址之分,因为此时MMU处于关闭状态。这个地址不一定时RAM的地址,可以是支持读写寻址的flash等存储中介。

2016-10-28 16:13:42 468

转载 多寄存器寻址指令ldmia/ldmib和ARM存储器访问指令——多寄存器存取

本文的原地址为:http://blog.csdn.net/lhf_tiger/article/details/11660773  在此表示感谢多寄存器和堆栈寻址的用法:多寄存器寻址:LDMIA,LDMIB,STMIA,STMIB,LDMDA,LDMDB,STMDA,STMDB;堆栈寻址:LDMFA,LDMFD,STMFA,STMFD,LDMEA,LDMED,STMEA,STMED;

2016-10-26 16:48:34 4619

转载 ARMlinux kernel 启动之start_kernel (二)

原地址:http://blog.csdn.net/tommy_wxie/article/details/7238788了解完kernel启动以前的汇编之后我们来看看正式的c语言启动代码,也就是我们的start_kernel函数了。start_kernel相当大,里面每一个调用到的函数都足够我们伤脑筋了,我这里只是浅尝辄止的描述一下函数的功能,从而对kernel启动的过程有一个比较直观的了解。很

2016-10-26 16:42:43 232

转载 ARM linux kernel启动流程 head.S(一)

本文的原地址为:http://blog.csdn.net/tommy_wxie/article/details/7238748 在此表示感谢1. kernel运行的史前时期和内存布局在arm平台下,zImage.bin压缩镜像是由bootloader加载到物理内存,然后跳到zImage.bin里一段程序,它专门于将被压缩的kernel解压缩到KERNEL_RAM_PADDR开始的一段内存中

2016-10-26 16:39:18 1240

转载 链表常见面试问题

链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,也适合考察写代码的能力。链表的操作也离不开指针,指针又很容易导致出错。综合多方面的原因,链表题目在面试中占据着很重要的地位。本文对链表相关的面试题做了较为全面的整理,希望能对找工作的同学有所帮助。链表结点声明如下:struct ListNode{    int m_nKey

2016-10-26 15:09:58 224

转载 关于内核编译及配置总结:①auto.conf与②autoconf.h的‘自动’生成

文章的原地址为:http://blog.sina.com.cn/s/blog_87c063060101klau.html   在此表示感谢这里要注意的是文中提到自动生成的 /include/linux/autoconf.h   在我使用九鼎x210开发板所使用的linux内核时是在/include/generated/autoconf.h中的 ,这里要注意目录结构有些不一样

2016-10-25 23:33:03 3464

转载 linux内核配置系统的工作原理

一、Linux内核的配置系统由三个部分组成,分别是: 1、Makefile:分布在 Linux 内核源代码根目录及各层目录中,定义 Linux 内核的编译规则; 2、配置文件(config.in(2.4内核,2.6内核)):给用户提供配置选择的功能; 3、配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncur

2016-10-25 23:00:17 458

转载 Kconfig详解

当执行#make menuconfig时会出现内核的配置界面,所有配置工具都是通过读取"arch/$(ARCH)Kconfig"文件来生成配置界面,这个文件就是所有配置的总入口,它会包含其他目录的KconfigKconfig的作用:Kconfig用来配置内核,它就是各种配置界面的源文件,内核的配置工具读取各个Kconfig文件,生成配置界面供开发人员配置内核,最后生成配置文件.config

2016-10-25 21:50:28 371

转载 关于版本控制软件以及Git的简单介绍

以下内容从Pro Git这本书获取,该书的PDF下载链接 https://git-scm.com/book/zh/v2本章介绍开始使用 Git 前的相关知识。我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作。读完本章,你就会明白为什么 Git 会如此流行,为什么你应该立即开始使用它。(查看Git详解系列的全部文章)

2016-10-24 16:03:39 5718

原创 从uboot中学习了一些linux驱动框架的知识

今天uboot部分基本上学的差不多了,不过发现一些事情,知识还是要不断回顾的,并且不断随着熟练度的提高,站在角度上也能慢慢提高,进而能看到更高的层次,不过学习的过程中,一定要有意识的提高自己的整体审视层次下面说说我在两个版本uboot中学习到关于一些linux框架的一些内容①uboot版本 1.3.4  ② uboot版本 2013.10首先我得出来的结论是 随着uboot版本的升高,

2016-10-23 23:13:40 384

原创 用SI看代码时某个函数只找到被引用但是找不到定义时的解决办法

今天在用sourceinsight看uboot代码的时候发现有的函数找不到 定义,只看到了引用,这个问题很是苦恼,①如果你能确定自己没有因为操作失误,②错误的删除了一些代码,  ③并且这个函数在这个项目中的的确确的被引用了,编译链接的时候又没有报错。那么这个函数一定在你项目中是存在的话不多说,我把我今天碰见问题的代码贴出来if (cpu_is_s5pc110()

2016-10-21 17:06:10 2430 1

转载 ARM上函数调用参数超过四个的时传递方法

众所周知,ARM架构下,函数参数是通过 r0~r4寄存器传递的;但是如果参数超过四个,就要借助于栈了。下面以一个例子说明。[cpp] view plain copy print?int func(int a1, int a2, int a3, int a4, int a5, int a6)  {      return a1 

2016-10-21 13:57:22 2609

转载 grep 指令进行搜索

在朱老师的课程中搜索的时候,使用了这句指令:grep "R_ARM_RELATIVE"   -nR *   其中 -n代表显示行号, R*中的*是万能匹配符。/********************************************************************/linux grep命令

2016-10-20 23:20:14 571

转载 cat和EOF的简介

(1)cat和EOF简介cat      用于显示文本文件内容,全部输出EOF   “end of file”,表示文本结束符 (2)使用用法1.多行导入文件(新建文件或者覆盖文件内容) cat  EOF >abcd.txt   Hello!   This is a test file!   Test for cat an

2016-10-19 09:01:51 1172

转载 210 android下DM9000 驱动的吐槽经历

// Topic:终于松了口气,说说这周我调试Sate210 Android下DM9000 驱动的吐槽经历//作者:gooogleman//版权:gooogleman//发布日期:2012.05.05 23:00//最后修改:2012.05.06 19:00// 原文地址:http://blog.csdn.NET/gooogleman/artic

2016-10-18 12:56:29 531

转载 人的一生到底在追求什么?

人的一生,到底在追求什么?      有一个美国商人坐在墨西哥海边一个小渔村的码头上,看着一个墨西哥渔夫划着一艘小船靠岸,小船上有好几尾大黄鳍鲔鱼。这个美国商人对墨西哥渔夫能抓这么高档的鱼恭维了一番,还问要多少时间才能抓这么多?墨西哥渔夫说,才一会儿功夫就抓到了。美国人再问,你为什么不待久一点,好多抓一些鱼?墨西哥渔夫觉得不以为然:这些鱼已经足够我一家人生活所需啦! 

2016-10-18 11:27:16 321

转载 单片机怎么驱动DM9000网卡(驱动移植时可做参考)

文章原地址为:http://www.cnblogs.com/xilentz/archive/2010/07/12/1775552.html单片机驱动DM9000和其它网卡芯片不同,DM9000系列网卡芯片在嵌入式开发板上很常见,尤其是有关ARM-Linux的开发板上的网络连接部分几乎都是采用该芯片完成的。当然,其它网卡芯片,如RTL8019的应用也很常见,在很多开发板上得到应用然而

2016-10-18 10:53:46 874

转载 TVS管选型

TVS二极管的选型:最大箝位电压VC要小于电路允许的最大安全电压;截止电压VRWM大于电路的最大工作电压, 一般可以选择VRWM等于或者略大于电 路的最大正常工作电压;额定的最大脉冲功率(TVS 参数中给出)PM要大于最大瞬态浪涌功率;TVS管使用时一般并联在被保护电路上;为了限制流过TVS管的电流不超过管子允许通过的峰值电流IPP,应在线路串联加限流元件,如电阻、自恢复保险丝、电感等。

2016-10-17 10:59:05 1084

转载 TVS管和压敏电阻的比较

看看网友是怎么回答的。  网友一:压敏电阻更多的应用应该是电源路上吧,而TVS更多的是信号线控制线时钟线等。浪涌应该是用压敏,高速数据传输应该就是TVS、但是不严格地地方比如手机键盘还是压敏便宜。  网友二:压敏电阻也可以进行有效的瞬时高压冲击抑制,此类器件具有非线性电压-电流(阻抗表现)关系,截止电压可达最初中止电压的2~3倍,这种特性适合用于对电压不太敏感的线路和器件的保护,如

2016-10-17 10:57:12 1962

原创 关于uboot Makefile的总体理解(x210开发板Makefile为例)

原创作品,如需转载请联系作者一、关于uboot Makefile总体结构首先主Makefile主要做了哪些事情(除去包含的其它Makefile)?①根据是否进行单独文件输出,来定义目录结构;②定义了交叉编译工具链的头(移植的时候要注意修改)③定义了伪目标 x210_sd_config 这个伪目标是配置时使用的(移植的时候要注意修改),代码如下:#x210_sd_config

2016-10-15 22:54:51 955

转载 E: Some packages could not be authenticated

文章的原地址为:http://www.bubuko.com/infodetail-38686.html   在此表示感谢问题:           在Ubuntu上,安装软件时出现了“E: Some packages could not be authenticated”错误。原因:       表示系统无法验证这个软件包. 要想验证这个软件包, 则需要安装debian的公钥。

2016-10-15 15:42:44 4568

转载 stm32 AD参考电压

文章原地址:http://yangguangnanhai686.blog.163.com/blog/static/213779100201521781136376/  ,在此表示感谢最近在进行原理图设计的时候遇到了一个问题,就是STM32的100管脚一下芯片没有Vref的问题。64Pin及以下封装的芯片电源管脚有:VDD - 单片机3.3V 电源正,VSS - 单片机3.3V 电源负,

2016-10-14 10:50:18 21589 1

转载 Core_cm3.c解析

STM32从3.0库开始引入了CMSIS,CMSIS是Cortex微控制器软件接口标准(Cortex MicroController Software Interface Standard)的缩写,这个是ARM定制的一个用于Cortex-M系列的一个标准,主要是为了提供通用api接口来访问内核和一些片上外设,提高代码的可移植性。CMSIS有三个层:核内外设访问层Core Periphera

2016-10-13 16:27:58 910

转载 __main函数的由来及做了哪些事情(在stm32复位后会调用这个函数)

在ADS1.2中__main()作为c语言的入口函数,它主要做了以下工作: 1.把RO,RW从他们的加载域复制到他们的运行域中去(可以用在LINKER中设置RO=,RW=,来确定,也可以用scatter文件来定义) 2.初始化ZI域 3.跳到__rt_entry. 而库函

2016-10-13 15:26:22 2784

转载 STM32起始代码分析详解

以下为文章链接地址http://www.openedv.com/forum.php?mod=viewthread&tid=84159&highlight=.S

2016-10-13 15:09:32 1764

转载 STM32使用非8M晶振时如何修改代码

目前能找到的大部分代码都是默认8M外部晶振的,若使用的晶振不是8M则需要作一些修改。例如这次我使用的外部晶振是12M的,作如下修改。    1.首先需要修改"Option for target 'xxx'"中的Target -> Xtal(Mhz)处的值(改为12MHz)。此处修改影响Debug时观察到的时钟数值。         2.在system_stm32f1

2016-10-13 13:06:03 4743 1

转载 仪表的二线制、三线制、四线制

仪表供电 一般是四线制、三线制、二线制,四线制是两个信号线、两个供电线,信号线和供电线分开,精度最好,而三线制则是信号线和和供电线共用一个正极或负极,精度次之,而二线制则是两个线既做供电用,又做信号线,误差最大,一般温度计采用三线或四线制,其他变送器大多采用二线制,节约电缆,有点电路复杂就可能采取四线制,这主要看不同厂家,具体可以咨询他们

2016-10-12 13:32:28 3614

原创 二重指针以及多重指针的分析方法

u-boot中有这么一段代码。/*这里定义了一个新的数据类型init_fnc_t, *这个数据类型是参数为空,返回值为int的函数。 */typedef int (init_fnc_t) (void);/*init_sequence是一个指针数组,指向的是init_fnc_t类型的函数*/init_fnc_t *init_sequence[] = {

2016-09-28 22:59:11 1766

转载 C语言支持的两种函数指针的调用方法

C语言调用函数指针的方式:有两种:void test(int);main(){void (*fp)(int);fp=test;(*fp)(9);fp(9);return 0;}void test(int a){printf( "%d\n", a );}这两种形式是等价的,都是为ANSI C所接受的。

2016-09-28 22:44:24 1591 1

转载 从虚短虚断分析基本的运算放大电路

本文的原地址为:   http://www.doc88.com/p-377887072994.html以下为部分摘取:运算放大器组成的电路五花八门令人眼花瞭乱是模拟电路中学习的重点。在分析它的工作原理时倘没有抓住核心往往令人头大。为此本人特搜罗天下运放电路之应用来个“庖丁解牛”希望各位看完后有所斩获。      遍观所有模拟

2016-09-28 13:14:11 884

转载 ARM虚拟地址原理分析及实现

第五章 虚拟内存及缓冲区管理在刚开始接触TQ2440并测试TEST程序时,当时就产生了一个疑惑,把程序下载到NAND和SDRAM中,其中断均能正确执行,当时以为,程序有可能采用了动态添加中断向量技术,即在SDRAM中运行时在向量0x18处添加跳转指令的二进制编码。虽然能够实现,但在实际编程时会非常麻烦。ARM采用了虚拟内存映射技术即MMU,负责虚拟地址到物理地址的映射,并提供硬件机制的内存

2016-09-27 21:54:43 3029

转载 ARM CP15协处理器说明

访问CP15寄存器指令的编码格式及语法说明如下:31  2827  2423  212019  1615  1211  87  543  0cond1 1 1 0opcode_

2016-09-27 20:33:18 328

转载 arm MMU详解

本文原地址为 :http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=22891521&id=2109284 在此表示感谢理解本文后需要知道的几个概念及问题:页 ;  页框  ;  页和页框的关联  ;  Frame Index(页框索引); 位p(present 存在位) ; 页框索引和位P是相对于什么而言?(页或者每

2016-09-26 23:44:48 518

转载 S5PV210(TQ210)学习笔记——内存配置(DDR2)

S5PV210有两个独立的DRAM控制器,分别是DMC0和DMC1,其中,DMC0最大支持512MByte,DMC1最大支持1GByte,而DMC0和DMC1又同时支持两个片选CS0和CS1。S5PV210的内存模块相比2440和6410来讲要更加复杂一些,要想正确的配置S5PV210的内存,应该仔细阅读芯片手册相关部分,在配置参数时也应该适当的阅读下内存芯片的手册。这部分的寄存器和配置过程比较复

2016-09-25 17:58:20 309

STM32启动代码分析、简化、实战

分析的很好,看一遍基本就基本上明白了

2016-10-13

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

TA关注的人

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