- 博客(16)
- 资源 (4)
- 收藏
- 关注
原创 Type-C PD充电
一、Type-C基本简介1、Type-C基本接口定义Type-C支持正反插方式,接口定义如上。全功能Type-C支持E-Marker功能,因此线材支持电流能力、特性、线材ID等读取。E-Marker的供电电源来源于VCONN,Cable会通过下拉电阻Ra,告知Source已连接上,Source检测到后就会提供VCONN2、Type传输速率Type-C最大的传输速率是10Gb/s,既是USB3.1 Gen2标准,支持4Lane DP模式传输高清图像,其电源最大支持100W(20V/
2020-10-17 00:41:26 4346
原创 嵌入式C中的静态变量理解及解析
静态变量与动态变量基本概念静态变量:指的是在编译时(compiling-time)变量的地址和大小都已经确定下来的变量动态变量:指的是在运行时(run-time)变量的地址和大小才开始确定。这个确定不是持续长久的,当程序使用完后,系统会自动删除回收在嵌入式系统中,为了追求项目的可靠性,因此会较常使用静态变量。静态变量的基本划分静态变量可以划分为全局静态变量(global static variable)和局部静态变量(local static variable)。//注:该部分划分仅为个
2020-05-31 16:10:49 578
原创 linux小技巧-自动执行命令之source命令使用
在linux中,可以通过source命令,执行一系列已知的命令,达到自动输入命令的效果。如:进入home目录新建test_source文件夹新建test.c文件,并通过gcc完成编译1.#:cd /home/2.#:mkdir test_source3.#:cp /home/test/test.c /home/test_source4.#:gcc test.c(忽略命令的正确性...
2019-10-15 14:35:39 1197
转载 ELF格式文件详细分析(转)
转自:https://blog.csdn.net/xuehuafeiwu123/article/details/72963229(感谢原创)ELF(Executable and Linkable Format)是一种对象文件的格式,用于定义不同类型的对象文件(Object files)中都放了什么东西、以及都以什么样的格式去放这些东西。一、简介1、分类可重定位文件(Relocatabl...
2018-12-09 01:24:42 440
转载 C语言进阶之路(一)----C语言的内存四区模型
内存四区模型:操作系统给C/C++编写的程序分配内存,通常将分配的内存划分为以下四个区域:1.栈区:存放局部变量,用完由操作系统自动释放2.堆区:动态分配给程序的内存区域,由程序员手动释放3.数据区:分为两种:(1)常量区:存放常量,一般是字符串常量(2)全局区/静态区:存放全局变量和静态变量4.代码区:存放可执行代码的区域示例如下:int main() { ...
2018-12-09 01:08:46 163
转载 C语言进阶之路(三)----野指针的产生原因及解决办法
1.会产生野指针的做法#include <stdio.h> //这就是一种错误的写法 int main(){ int *p = NULL; p = (int *)malloc(4); //释放P所指向的内存空间,但指针变量p仍然留在栈中,成为了野指针 if (p != NULL){ f...
2018-12-09 01:06:09 275
转载 嵌入式系统中堆heap和栈stack的管理——如何计算stack size
程序运行的各种存储段分类程序运行时在内存中主要有代码段、数据段、堆栈段(堆空间和栈空间)、进程头、动态链接库等区域。 其中数据使用到的段包括 数据段:静态内存空间,其中数据的总大小和初始值在编译时确定,数据在整个程序运行时一直存在。 栈空间:自动内存空间,其中数据的大小在编译时确定,数据的分配和释放也由编译器在函数进入和退出时插入指令完成,数据生命周期和函数一样。 堆...
2018-12-05 21:02:59 6231 2
转载 DDR3驱动原理与FPGA实现(一、DDR的基本原理)
转自:https://www.cnblogs.com/liujinggang/p/9782796.html一、存储器分类存储器一般来说可以分为内部存储器(内存),外部存储器(外存),缓冲存储器(缓存)以及闪存这几个大类。内存也称为主存储器,位于系统主机板上,可以同CPU直接进行信息交换。其主要特点是:运行速度快,容量小。外存也称为辅助存储器,不能与CPU之间直接进行信息交换。其主要特点是:...
2018-12-05 20:54:50 19706 5
转载 C语言进阶-struct和typedef struct理解
注:本文从http://www.cnblogs.com/qyaizs/articles/2039101.html学习所总结的内容1.在C和C++中,用法不一样 如:在C中定义一个结构体类型需要使用typedef: 1. typedef struct Student { int a; }Stu;则声明变量时:Stu stu1;(如果没有typedef就必须用...
2018-11-19 01:21:00 1431
转载 C语言进阶-if....else和switch...case效率问题
摘自:https://www.cnblogs.com/balingybj/p/5751707.htmlswitch...case与if...else的根本区别在于,switch...case会生成一个跳转表来指示实际的case分支的地址,而这个跳转表的索引号与switch变量的值是相等的。从而,switch...case不用像if...else那样遍历条件分支直到命中条件,而只需访问对应索引号...
2018-11-15 16:51:31 465
原创 codebolck功能设置
1.取消语法检查功能(下划红波浪线):菜单栏 plugins(插件) 下拉找到 manage plugins(管理插件) ,点开找到 spellChecker,将它设置为 disable(禁用),就可以了(修改完后最好重启一下,避免部分新更改内容未识别)2.配置工具栏,删除不必要的工具,仅保留browse , code completion , Thread Search , 主栏3.配置...
2018-11-14 00:26:37 241
原创 C语言进阶-const和volatile
1.0 const_只读变量1.1 congst修饰的变量是只读的,本质还是变量1.2 const修饰的局部变量在栈上分配空间1.3 const修饰的全局变量在全局数据区分配空间1.4 const只在编译期有用,在运行期无用1.5 const修饰的变量不是真的常量,它只是告诉编译期该变量不能出现在赋值符号的左边1.6 在现代C语言编译器中,修改const全局变量将导致程序奔溃,是因...
2018-09-03 00:01:41 148
原创 C语言进阶-goto和void
1.0 goto 一般情况下少用goto,甚至是慎用2.0 void2.1 C语言没有定义void究竟是多大内存的别名 因为没有void的标尺,无法在内存中裁剪出void对应的变量 但是可以定义void类型的指针,指针的大小是没有固定的 void指针的意义:2.1.1 C语言规定只有相同类型的指针才可以相互赋值2.1.2 void* 指针作为左值...
2018-09-03 00:00:13 182
原创 FPGA-数字电路知识-竞争与冒险
1.在实际电路中,信号通过门电路是存在时间差的,有些信号提前到来,有些延时,这就是竞争2.冒险就是在竞争的基础上产生的,在一定时间节点里,输出的信号与逻辑关系不符合(或破坏其逻辑功能),这就是冒险3.有竞争不一定有冒险...
2018-09-02 23:58:17 1067
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人