- 博客(167)
- 收藏
- 关注
原创 Linux内核完整架构
前言本文是“Linux内核分析”系列文章的第一篇,会以内核的核心功能为出发点,描述Linux内核的整体架构,以及架构之下主要的软件子系统。之后,会介绍Linux内核源文件的目录结构,并和各个软件子系统对应。注:本文和其它的“Linux内核分析”文章都基于如下约定:a) 内核版本为Linux 3.10.29(该版本是一个long term的版本,会被Linux社区持续维护至少2年),可以从...
2019-11-25 15:30:44
714
原创 嵌入式Linux移植四大步骤(转载)
最近在学习系统移植的相关知识,在学习和调试过程中,发现了很多问题,也解决了很多问题,但总是对于我们的开发结果有一种莫名其妙的感觉,纠其原因,主要对于我们的开发环境没有一个深刻的认识,有时候几个简单的命令就可以完成非常复杂的功能,可是我们有没有想过,为什么会有这样的效果?如果没有去追问,只是机械地完成,并且看到实验效果,这样做其实并没有真正的掌握系统移植的本质。在做每一个步骤的时候,首先问问自己,...
2019-11-25 15:24:35
297
原创 三极管工作原理
三极管的工作原理三极管是电流放大器件,有三个极,分别叫做集电极C,基极B,发射极E。分成NPN和PNP两种。我们仅以NPN三极管的共发射极放大电路为例来说明一下三极管放大电路的基本原理。一、电流放大下面的分析仅对于NPN型硅三极管。如上图所示,我们把从基极B流至发射极E的电流叫做基极电流Ib;把从集电极C流至发射极E的电流叫做集电极电流 Ic。这两个电流的方向都是流出发射极的,所以发射极E上...
2019-11-03 22:09:49
540
原创 ESP8266入门学习(一)
在得到一份代码后我们最先应当了解一下它的目录结构,这里用ESP8266_RTOS_SDK_V1.5.0为例:app:用户代码主目录,用户代码都将放在这里bin :编译生成和SDK提供的bin文件,用于下载到Flash中driver_lib : RTOS驱动示例代码examples:示例代码extra_include:Xtensa编译器头文件(使用XCC编译时使用,一般用GCC)incl...
2019-11-02 20:36:50
1781
原创 STM32的RCC和RTC有什么联系?
RCC是STM32的时钟控制器,可开启或关闭各总线的时钟,在使用各外设功能必须先开启其对应的时钟,没有这个时钟内部的各器件就不能运行。RTC是STM32内部集成的一个简单的时钟(计时用),如果不用就关闭,用的话先要通过RCC配置其时钟源,可看作是一个外设器件。...
2019-10-25 21:26:14
507
原创 一个很不错的博客(一)
系统时钟SYSCLK、HSE、HSI的讲解之《晶振与震荡电路的介绍》2017-07-23 23:19:25 huzhoudaxia 阅读数 6191更多分类专栏: stm32 电子设计竞赛版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/huzhoudaxia/article/de...
2019-10-25 20:25:12
456
原创 STM32开发学习笔记(三)
转载自—ZCShouEXP-----https://blog.csdn.net/ZCShouCSDN标准外设库是对STM32芯片的一个完整性封装,包括所有标准器件外设的器件驱动器。目前用的最多的ST库,几乎全部C语言实现。没有可移植性。相对于HAL库,标准外设库仍然接近于寄存器操作,主要就是将一些基本的寄存器操作封装成了C函数,开发者需要关注所使用的外设是在哪个总线上,具体寄存器的配置等底层信息...
2019-10-20 22:32:53
363
原创 C++面向对象(一)--类(Classes)
转载链接–zqixiao_09类是一种将数据结构和函数组织在同一个结构里的逻辑方法。定义类的关键字为class,其功能与c语言的struct类似。class class_name//类的名称(用户自定义){ permission_label_1://允许范围标志(private, member1;//数据或函数定义 permission_label_2: member2; .....
2019-10-18 20:28:28
198
原创 Linux内存管理与FreeRTOS系列移植-----入门学习(一)
–转载自:liefyuan-----(MQTT–入门)消息队列遥测传输协议,基于发布/订阅通信协议,构建于TCP/IP协议上。三种身份:发布者,代理者(服务器),订阅者。发布和订阅都是客户端。链接为有序,无损,基于字节流的双向传输。FreeRTOS文章系列----朱工RTOS提供的事件型设计方式,使得RTOS只是在处理实际任务才会运行—探索Linux内存模型------IBM与内存管理...
2019-10-18 18:44:41
990
原创 c++11并发学习之(一)
C++11新标准中引入四个头文件来支持多线程编程,分别是atomic,thread,mutex,atomic主要声明两个类,std::atomic和std::atomic_flag,另外还声明了一套C风格的原子类型和C兼容的原子操作的函数。<thread》:该头文件主要声明了std::thread类,《mutex>该头文件主要声明了与互坼量(mutex)相关的类,《condit...
2019-10-14 18:47:08
144
原创 VS2017解决方案整理解决(一)
问题描述:在VS2017中运行解决方案是有错误:“E1696 无法打开 源 文件 “stdio.h” ”…原因:这种问题一般发生在该项目代码是在网上下载而来的情况,或者电脑重装新的系统等情况,导致电脑系统与该项目生成时所采用的windows SDK 不同,从而在默认的位置(已发生变化)找不到许多源文件。解决方案:在C++项目处(示例为“Fibonacci”),鼠标右击,弹出的菜单中...
2019-10-14 17:26:47
1411
原创 错误管理记录机制(一)
当执行configure-aprutil时,提示:“ ‘sed’ 不是内部或外部命令,也不是可运行的程序或批处理文件”。这是因为 configure-aprutil.bat 文件中使用了 Linux 下的 sed 命令,windows下找不到sed命令。解决的方法有以下几种:1.下载一个sed for&nbs...
2019-10-13 22:45:26
478
原创 嵌入式大佬每天学一点知识(一)
大佬博客是JeanCheng,https://blog.csdn.net/gatieme,有情趣的自己去看1.服务器体系(SMP,NUMA,MPP)与共享存储器架构(UMA和NUMA)UMA和NUMA两种模型是共享存储型多处理机,均匀存储器存取模型可以将内存以连续方式组织起来,传统的多核运算使用SMP模式:将多个处理器与一个集中的存储器和io总线相连,所有处理器只能访问同一个物理存储器,SM...
2019-10-13 22:34:41
358
原创 c语言入门积累训练(一)
1.函数得指针bool (*pFunc)(int double);将pFunc声明为指向函数得指针,所指函数带有两个类型分别为int和double得新参以及一个bool类型返回值bool *pFunc(int,double);变成函数得声明,表示pFunc是一个带有两个参数和一个bool指针类型返回值得函数bool IsAdult(int age,double weight){ if(...
2019-10-13 16:57:57
262
原创 c语言大杂烩(记录自己学到的内容)
1.c语言函数传递指针参数的问题-----L_Aster想用函数来对函数外的变量v进行操作,对函数来说所传递的任何参数仅仅是原来参数的一个拷贝,只能通过传递指针改变值。形式参数是一个指针,但是它指向的是另一个指针,也就是实参的地址C语言–数组名,取数组首地址的区别–Joohong&array是整个数组array的首地址array是数组首元素的首地址2.c语言中指针和指针变量的...
2019-10-09 22:47:10
382
原创 每天进步一点点之编辑器使用(一)
vs部分:工程目录下各文件的含义一般大部分的文章可能介绍到上面就算结束了,但我这还没有。创建工程产生的各个文件都你知道是什么用的吗?如果你是一个初学者,你可能会不知道(老手请跳过本文)。Ok,我就带你逐一了解吧。解决方案与工程在这之前先了解一个概念:解决方案与工程。解决方案(Solution):一个大型项目的整体的工作环境;工程 (Project):一个解决方案下的一个子工程;在V...
2019-09-22 16:15:46
206
原创 头文件要写啥东西--转载https://www.cnblogs.com/fenghuan/p/4794514.html
头文件(.h):写类的声明(包括类里面的成员和方法的声明)、函数原型、#define常数等,但一般来说不写出具体的实现。在写头文件时需要注意,在开头和结尾处必须按照如下样式加上预编译语句(如下):#ifndef CIRCLE_H#define CIRCLE_H//你的代码写在这里#endif这样做是为了防止重复编译,不这样做就有可能出错。至于CIRCLE_H这个名字实际上是无所...
2019-09-19 11:55:03
437
原创 makefile学习之实验楼
2.4.3 变量的分类与赋值根据变量定义时所使用的赋值操作符的不同,可以将变量分成两种类型(或者说是两种风格):递归展开式变量和直接展开式变量;使用赋值操作符= 、 += 和 ?=定义的变量都是递归展开式变量,使用赋值操作符 :=定义的变量为直接展开式变量 。两种变量类型的的最根本区别在于:变量值的求值时机,递归式变量的求值时机在于变量被引用时,直接展开式的求值时机在于变量被定义时。...
2019-09-17 20:24:56
263
原创 基于STM32的OV7670摄像头(重点博客)
1.坏坏成不坏-----https://blog.csdn.net/HouQi02/article/details/51712994不带FIFO:多数的CMOS芯片如OV7670的时钟时速高达24M,一般单片机的IO口速度根本达不到,寄存器IO口8M,库函数IO口速度好像是2.5Mhz。ARM9以上或者DSP图像处理芯片本身速度块,内存大还带camera接口,可以不用带FIFO。降低CMOS的...
2019-09-17 10:45:53
4106
1
原创 stm32项目及c语言生成动态库(实践篇)
—stm32的通用计数器用于编码器的脉冲计数-----huang_jinjin--------https://blog.csdn.net/huang_jinjin/article/details/7320427巨窝------好吧由于最近需要学习FPGA导致安装了很多软件没有空间安装cubeMX,还有缺少一个仿真器st-link还有一个oled屏幕以及我最爱的esp32带摄像头模块,没辙以后在...
2019-09-14 20:37:15
1563
原创 嵌入式C语言之---模块化编程(重点博客)
博主:zhzht19861011------https://blog.csdn.net/zhzht19861011/article/details/5974945模块即是一个.c文件和一个.h文件的结合,头文件(.h)中是对于该模块接口的声明液晶驱动模块以实现字符,汉字,和图像的实现,命名为led_device.c,该模块.c文件大体可以写成:/***********************...
2019-09-14 12:39:19
596
原创 VS一系列问题解决总结(一)
VS 编译出现 LNK2005 XXX 已经在 XXX.obj 中定义造成该问题的可能性比较多,本人将在今后遇到时添加进来,今天先放出本人遇到的一种情况。多重包含含有变量定义的.h文件所造成这个现象很容易重新,首先新建一个1.h文件,然后在里面写下如下代码#pragma onceint i = 0;然后新建一个1.cpp,里面代码如下:#include “1.h”再新建一个2....
2019-09-12 13:50:19
271
原创 多线程和多进程(2019/9/11每天学习10个博客系列)
一.以操作系统的角度诉说线程和进程-----------原文连接:http://blog.csdn.net/luoweifu/article/details/46595285大部分操作系统的任务调度是采用时间片轮转的抢占调度方式,任务执行的一小段时间叫做时间片。进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行过程,是操作系统运行资源分配和调度的一个独立单元,是应用程序运行的载体。...
2019-09-12 13:34:25
206
原创 非常不错的硬件工程师博客---可以持续跟进学习(重点)
1.聚优致成-----https://blog.csdn.net/qq_29350001/article/details/72832155UNIX再学习–进程间通信之管道IPC之前进程间交换信息的方法只能是由fork或exec传送文件进程间通信方式有:1)管道2)消息队列3)信号量4)共享存储5)套接字其中消息队列,信号量,共享存储统称为XSI IPC通信方式管道局限性:半双工...
2019-09-07 12:01:36
427
原创 编程思想之消息机制--------Luoweifu(一)
--------这个博客系列还不错https://blog.csdn.net/luoweifu/article/details/45568411消息机制的三大要点:消息队列,消息循环和消息处理。----分析一下typedef和#define的区别转载自:https://blog.csdn.net/luoweifu/article/details/41630195typedef类型定义的意思...
2019-09-07 10:14:39
153
原创 Linux进程管理与调度(Linux重点大神每天跟进三篇之理论)
以下纯粹是自己跟进大神的博客纯理论学习,只只为自己服务,喜欢的请看原博客,不、不喜勿喷老样子放连接--------JeanCheng--------------https://blog.csdn.net/gatieme/article/details/51456569https://blog.csdn.net/gatieme对于这个博客,我将积少成多,和b站视频还有unix网络编程,unix...
2019-09-05 22:55:31
155
原创 ESP8266 FLASH分布及其读写操作
注意:1.每个扇区大小为4kb,即4*1024bytes2.读写数据要四字节对齐3.flash要先擦拭再写入#define LEN 1 //以读写4字节的数据为例子#define SEC 123 //读写的扇区号#define SEC_OFFSET 0 //扇区内的偏移量(必须是4的倍数)uint32 write_data[LEN];uint32 read_data[LE...
2019-09-05 20:58:00
1974
原创 DNS解析过程详解
转载连接----https://blog.csdn.net/crazw/article/details/8986504一。根域二.域的划分根域接下来就是顶级域或者一级域两种划分方式,按商业或者国家每个域都有域名服务器Baidu.com就是一个顶级域名,而www.baidu.com是在baidu.com这个域里一个叫www的主机。购买一个顶级域,并且搭建自己的BIND服务器注册到互联网...
2019-09-05 16:49:14
462
原创 字符串常量到底存放在哪个存储区
转字符串常量到底存放在哪个存储区2013年02月23日 16:57:57 若水三千你是一千 阅读数 40499更多分类专栏: c语言字符串常量,放在哪个存储区呢?是“自动存储区”还是“静态存储区”中?比如:char *pstr=“hello world!”;这里,"hello world!"是一个字符串常量,pstr是在栈中的变量。我想问,字符串常量,在哪个内存区域分配空间呢?...
2019-09-03 22:19:38
4267
1
原创 SecureCrt自动化及uboot入门(一)
转载链接:https://www.cnblogs.com/OnOwnRoad/p/4890718.html在嵌入式公司中,面对大量的网络设备,要有好的工具实现自动化配置CRT是一款提供远程登陆功能的软件,同时,在它的内部又嵌入了几种脚本解释器,当运行脚本时,可以将代码在解释器中进行执行,可以通过脚本向远端设备发送命令,可以通过函数实现获取远程设备返回的数据,从而达到脚本自动化的目的。Crt脚...
2019-08-31 16:18:44
945
原创 跟我一起来玩转Makefile(一)
一个C工程:*.o主程序模块(100个c文件)---------liba.a(功能模块a(1000个c文件和100个h文件)--------libb.a功能模块bmake和makefile的存在正是为了解决上述两个问题:1.makefile文件帮助我们记录了整个项目工程的所需编译的文件列表,这样我们在编译时仅需输入简单的make命令就能编译出我们期望的结果。2.makefile文件反...
2019-08-30 10:19:15
148
原创 Linux入门学习之------管道控制
通常情况下,我们每次只能在终端输入一条命令,按下回车执行,执行完成后,我们再输入第二条命令,然后再按回车执行……,当有时候我们会一次输入多条命令,这个时候的执行过程又是如何的呢?下面我们将为大家详细讲解下命令的执行顺序的控制问题。顺序执行多条命令当我们需要使用apt-get安装一个软件,然后安装完成后立即运行安装的软件(或命令工具),又恰巧你的主机才更换的软件源还没有更新软件列表(比如之前我们...
2019-08-30 09:08:49
154
原创 嵌入式C语言重新学习(一)
使用动态分配内存int *pi;pi = malloc(100);if(pi == NULL){printf(“Out of memory\n”);exit(1);}符号NULL定义于stdio.h,实际上是字面值常量0,提醒我们进行测试的值是一个指针而不是整数。如果内存分配成功,那么我们就拥有一个指向100个字节的指针,在整形为4个字节的机器上,这块内存被当作25个整形元素的数组。...
2019-08-29 16:41:44
117
原创 FPGA入门视频学习(一)
数字电子技术基础方法FPGA编程一些基本概念–通过断开和关闭可编程链接,在简单阵列上实现互连,SPLD,CPLD以及FPGA本质上编程方法相同,使用一次性编程工艺(熔丝,反熔丝,或者EPROM)的器件,在编程时需要专门的硬件设备—编程器。EEPROM,FLASH以及基于SRAM的PLD是可以重复编程的。设计输入值指使用开发软件时进行逻辑设计编程,所有软件程序都支持IEEE标准的两种HDL语言...
2019-08-29 14:23:18
785
原创 彻底搞懂c语言--读完可以逐步成为大神--*(二)
一个程序从源代码到可执行程序的过程】【转载链接:https://blog.csdn.net/qq_39755395/article/details/78293733一个源程序到一个可执行程序的过程:预编译、编译、汇编、链接。其中,编译是主要部分,其中又分为六个部分:词法分析、语法分析、语义分析、中间代码生成、目标代码生成和优化。链接中,分为静态链接和动态链接,本文主要是静态链接。一、预编译...
2019-08-27 23:07:15
273
原创 彻底搞懂c语言--读完可以逐步成为大神--*(一)
我认同要打好语言的基础,但是很多人死在了学习的许多视频上,因此我们觉得学习github很重要,编程南就是yinwei很多人不喜欢不习惯从项目入手,了解一个项目使用github项目会大大增加我们学习的兴趣,至于基础的东西我觉得看看《c和指针》就非常不错了,再配合廖雪峰的GIthub项目。我相信你也能如鱼得水但其实还不够,因为我们还有很多的细节不了解,今天我们一起来消灭这些拦路虎。打开了一个ESP...
2019-08-27 22:19:48
622
原创 STM32入门学习------每天进步一点点(记得多写代码多总结((二))
读STM32数据手册作为每一个学习嵌入式开发的我们必须要学会了解去阅读一个产品的数据手册,否则对一些东西不能很好的使用,当然跟大多数人一样看到这个东西难免会头大,所以慢慢来了解一下**转载链接:https://blog.csdn.net/qq_29350001/article/details/79799713MMA8452Q是一款智能低功耗三轴电容式微机械系统,具有12位分辨率的加速计。MM...
2019-08-27 16:31:38
1311
原创 STM32入门学习------每天进步一点点(记得多写代码多总结((一))
转载链接有:首先要了解内存的工作原理https://blog.csdn.net/junzhu_beautifulpig/article/details/50771807ROM,RAM和FLASH的区别,下面主要是具体到他们在单片机中的作用。==太抽象的东西很难懂,为了学习而学习效率低下,为什么使用它,能完成什么功能才是学嵌入式的王道,相信每一样技术都有它存在的道理,在不用使用它(没有学习的...
2019-08-27 15:29:23
842
原创 Javascript深入浅出理解----汤姆大叔博客(二)
编写高质量JavaScript代码的基本要素1)书写可维护代码2)最小全局变量JavaScript通过函数管理作用域。在函数内部声明的变量只在这个函数内部,函数外面不可用。另一方面,全局变量就是在任何函数外面声明的或是未声明直接简单使用的。每个JavaScript环境有一个全局对象,当你在任意的函数外面使用this的时候可以访问到。你创建的每一个全部变量都成了这个全局对象的属 性。在浏览器...
2019-08-27 13:36:50
313
原创 阅读博客有感(一)
博客推荐https://blog.csdn.net/liutong123987/article/details/79263954**今天要读的博客为:Matrix67 http://www.matrix67.com/blog/喜欢平面几何, 组合数学, 图论…博客里都是些很有意思的数学题目,听说现在的HR都要读他的blog。12年整理出版了《思考的乐趣》。然后的然后,他是北大中文系的学生。...
2019-08-27 12:03:00
105
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人