自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 Too many objects are selected for auto placement. Select fewer elements to create the EER...解决方法

MySQL workbench在生成ERR图时显示如标题一样的警告。个人解决方法如下:取消勾选“Place imported objects on a diagram”点击“excute”继续执行创建一个新的EER图表,将左边“catalog tree”选项卡中的表拖到EER图表上点击选项卡“Arrange”中的“Autolayout”。...

2021-10-29 13:52:33 348

原创 RAM(SRAM,DRAM,SSRAM,SDRAM,DDR)、ROM(PROM,EPROM,EEPROM)、PSRAM、FLASH(NOR FLASH,NAND FLASH)

RAM随机存储器,存储单元的内容按需随意存取,且存取速度与存储单元的位置无关。掉电易失。SRAM触发器构成,不需要刷新电路技能保存内部存储的数据。速度非常快,也非常昂贵。DRAM电容构成,隔段时间就需刷新充电,否则内部的数据即会消失。SRAM拥有较高的性能,但是SRAM集成度较低,相同容量下,体积远大于DRAM,且功耗大。SSRAM(Synchronous SRAM)​ 同步静态随机存取存储器。同步是指memory工作时需要同步时钟,内部命令的发送与数据的传输都以它为基准;堆积是指数据不

2021-09-14 10:25:26 1562

原创 应用程序如何调用驱动

以write函数举例,详细调用流程insmod驱动程序。申请设备名、设备号以及指定fops方法。这些可以在/proc/devices中获得从/proc/devices中获得主设备号,并使用mknode命令来建立设备节点文件。这是通过主设备文件将设备节点文件和驱动程序联系起来。设备节点文件中的file属性中指明了驱动程序中fops方法实现的函数指针。用户程序使用open打开设备节点文件,这时操作系统内核就调用fops中的open函数进行相应工作。open方法返回的时文件描述符,实际上并不是直接对它操作

2021-01-17 23:10:20 2146

原创 uboot如何启动内核

uboot和内核是什么uboot就是一个裸机程序uboot本质就是一个复杂的裸机程序内核本质也是一个“裸机程序”操作系统内核本质上与uboot和其他裸机程序没什么不同。区别就是操作系统运行起来后在软件上分为内核层和应用层,分层后两层的权限不同,内存内存访问和设备操作的管理上更加精细(内核可以随便访问各种硬件,而应用程序只能被限制的访问硬件和内存地址)直观来看:uboot的镜像是u-boot.bin,Linux系统的镜像是zImage,这两个东西都是其实都是裸机程序镜像。从系统的启动角

2020-09-04 14:30:33 601

原创 C语言中函数参数压栈顺序(printf函数举例)

在C语言中,函数的压栈顺序为从右至左。示例代码: int p = 0; printf("%d %d %d \n",p++,++p,p++);函数的执行结果是2 2 0为什么函数的压栈顺序是从右向左呢,我们看一下printf函数的原型:printf(const char* format,…)printf函数是一个不定参函数。编译器通过format的%占位符的个数来获取参数的个数。假设函数压栈顺序是从左至右,format先入栈,各个参数再入栈,最后pc入栈。入栈完之后,想知道参数的个数就

2020-08-03 16:29:29 2126 2

原创 枚举

枚举是干嘛的枚举在C语言中其实是一些符号常量。直白点说:枚举定义了一些符号,这些符号的本质就是int类型的常量,每个符号和一个常量绑定,这个符号就表示了一个自定义的一个识别码,编译器对枚举的认知就是符号常量所绑定的那个int类型的数字。枚举常量和其对应的常量数字相对来说,数字不重要,符号才重要。符号对应的数字只要彼此不相同即可,没有别的要求。所以一般情况下我们都不明确指定这个符号所对应的数字,而让编译器自动分配。(从0开始一次增加,如果用户自己指定了一个值,则从那个值开始往后依次增加)C语言为何需

2020-07-23 16:08:32 113

原创 C语言中的大小端

大小端模式:大端模式(big endian)和小端模式(little endian)。串口通信时,一次只能发送一个字节,这时候就有一个问题,是从0-1还是从1-0.规则就是发送方和接受方必须按照相同的顺序来通信,否则就会出现错误。这就是通信当中的大小端模式。我们讲的实质计算机存储系统中的大小端。在计算机内存/硬盘/iNand中,因为存储系统是32位的,但数据仍然是按照字节为单位的。于是一个32位的二进制在内存中存储是由2种分布方式:高字节对应高地址(大端模式)、高字节对用低地址(小端模式)。大小端

2020-07-23 16:06:10 402

原创 C语言中为什么要清除.bss段

bss段里的内容显示初始化为0或者未显示初始化的全局变量显示初始化为0或者未显示初始化的static局部变量。为什么要清除.bss段C语言程序在编译完成后,初始化为非零的全局变量存放在.data段,而未初始化或初始化为0的全局变量存放在.bss段中。在生成的可执行文件中,只有.data段和.text段(存放代码),由系统从可执行文件中加载.bss段在可执行文件中只是起始地址和结束地址(记录它的大小),并不给其分配内存空间。.bss段由系统初始化(清零)...

2020-07-23 00:30:17 1211

原创 jpegsrc.v6b移植问题

在移植libjpeg库的时候,首先根据学习视频(朱有鹏老师的视频)选择了jpegsrc.v6b版本,在make的时候发现有错误,仔细核对之前的步骤,发现步骤并无任何问题。根据报错,发现自己的配置之后没有libtool这个文件夹往前追溯,发现在刚开始配置的时候出现了checking host system type... Invalid configurationx86_64-unknown-linux-gnu’: machine x86_64-unknown' not recognized错误,看网上说.

2020-07-17 17:02:36 258

原创 Vmware提示以独占方式锁定此配置文件失败。另一个正在运行的VMware进程可能正在使用配置文件以及虚拟机黑屏-------解决方法

Vmware提示以独占方式锁定此配置文件失败。另一个正在运行的VMware进程可能正在使用配置文件以及虚拟机黑屏、问题原因:上次挂起虚拟机时卡死,不能关闭,便直接关闭计算机,导致再次打开虚拟机失败尝试方法:通过禁用启动项的方式结束旧的进程占用在设置完成之后重启计算机,出现新的问题“vmware 装机报错VMware Workstation 未能启动 VMware Authorization Service。您可以尝试手动启动 VMware Authorization Servi”放弃修复,准备重新

2020-07-06 22:51:04 654

原创 递归函数

递归函数什么是递归函数在函数中调用了自己本身这个函数的函数递归函数和循环的区别。递归函数解决问题的典型就是:求阶乘、斐波那契数列。//用递归函数来计算阶层#include <stdio.h>int jiecheng(int n);int main(void){ int a=5; int ret; ret = jiecheng(a); ...

2020-03-21 15:54:31 167

原创 typedef定义类型

typedefc语言的2种类型:内建类型与用户自定义类型内建类型DAT、自定义类型UDTtypedef定义类型而非变量类型是一个数据模板,变量是一个实在的数据。类型不占内存,变量占内存面向对象的语言中:类型就是类class,变量就是对象typedef与#define宏的区别typedef char* pChar#define pChar char*typedef与结构...

2020-03-21 12:25:45 458

原创 枚举

枚举枚举是干嘛的枚举在C语言中其实是一些符号常量。直白点说:枚举定义了一些符号,这些符号的本质就是int类型的常量,每个符号和一个常量绑定,这个符号就表示了一个自定义的一个识别码,编译器对枚举的认知就是符号常量所绑定的那个int类型的数字。枚举常量和其对应的常量数字相对来说,数字不重要,符号才重要。符号对应的数字只要彼此不相同即可,没有别的要求。所以一般情况下我们都不明确指定这个符号所对应...

2020-03-21 09:27:42 116

原创 大小端模式

大小端模式:大端模式(big endian)和小端模式(little endian)。串口通信时,一次只能发送一个字节,这时候就有一个问题,是从0-1还是从1-0.规则就是发送方和接受方必须按照相同的顺序来通信,否则就会出现错误。这就是通信当中的大小端模式。我们讲的实质计算机存储系统中的大小端。在计算机内存/硬盘/iNand中,因为存储系统是32位的,但数据仍然是按照字节为单位的。于是一个...

2020-03-21 09:01:59 632

原创 结构体与共用体

结构体类型就是一种自定义类型结构体使用时先定义结构体类型,然后再用类型来定义变量也可以在定义类型的同时定义变量数组——>结构体结构体可以认为是从数组发展而来的。其实数组和结构体都算是数据结构的范畴了,数组就是简单的数据结构、结构体比数组更复杂一些,链表、哈希表之类的比结构体又复杂了一些;二叉树、图等又更复杂一些。数组有两个明显的缺陷:第一个是定义时必须给出明确的大小,且不能再更...

2020-03-21 00:18:50 173

原创 字符串实质,sizeof & strlen

C语言用指针来管理字符串char *p=“linux” 此时,p只是一个字符指针(本质上就是一个指针变量,只是p指向了一个字符串的起始地址而已)C语言中字符串的本质:指针指向头、固定尾部的地址相连的一段内存字符串就是一串字符,字符反映在现实中就是文字、符号、数字等人用来表达的字符,反映在编程中字符就是字符类型的变量。C语言中使用ASCII编码对字符进行编码,编码后可以用char型变量来表示...

2020-03-20 23:44:06 444

原创 程序三种获取内存的方法,栈&堆&段

程序运行需要内存来存储一些临时变量内存管理是由操作系统完成的内存本身在物理上是一个硬件器件。内存是由操作系统统一管理,程序根据自己的情况来选择某种方式获取内存(在操作系统处登记这块内存的临时使用权限)、使用内存,释放内存(向操作系统归还这块内存的使用权限)栈的详解运行时自动分配&回收;栈是自动管理的,程序员不需要手工干预反复使用:栈内存在程序中其实就是那一块空间,程序...

2020-03-20 22:29:58 1056

原创 标准IO库函数

标准IO和文件IO有什么区别使用时都是函数形式,但是:标准IO是C库函数,而文件IO是Linux系统的API。C语言库函数是由API封装而来的。库函数内部也是通过调用API来完成操作的,但是库函数因为多了一层封装,所以比API更加好用一些。库函数比API还有一个优势是:API在不同的操作系统之间是不能通用的,但是C库函数在不同操作系统中几乎是一样的。C库函数具有可移植性,而API不具有可移...

2020-03-05 18:53:20 371

原创 Linux多次打开同一个文件与O_APPEND

重复打开同一文件读取一个进程中两次打开同一个文件读取,然后分别读取,观察结果。猜测结果有两种情况:fd1和fd2分别读。接续读。经过实验验证,结果是分别读。说明:fd1和fd2所对应的文件指针式不同的2个独立的指针。文件指针是包含在动态文件的文件管理表中的,所以可以看出Linux系统的进程中不同fd对应的是不同的独立的文件管理表。附源码:#include <std...

2020-03-04 23:55:48 2091

圈圈教你学USB.pdf

圈圈教你学USB.pdf

2022-02-17

空空如也

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

TA关注的人

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