摘要:
最近在学习linux,在使用SecureCRT连接虚拟机linux时遇到了一些问题,现在总结一下。 1、首先要配置linux配置文件,修改静态IP地址以及掩码,保持与本地在同一网段。更改配置文件方法如下: 第一步:桥接。在菜单栏 虚拟机 -> 设置 -> 硬件 -> 网络适配器,右侧选择桥接模式。 阅读全文
摘要:
一、柔性数组 今天看了公司的代码,发现一个很奇怪的问题,后来自己写了类似代码,我先把代码贴出来吧。 好奇怪啊,有木有,结构体中竟然定义了一个包含0个元素的数组,当时看到这里就晕晕的。后来查找了资料,才知道这就是传说中柔性数组,柔性数组一般应用在结构体中,数组大小可变的场合中。 我们分析上述程序,da 阅读全文
摘要:
(一)结构体指针定义 今天上班写了一段测试代码,结果在linux下编译出现段错误,刚开始一直找不到原因,后来找了度娘才搞懂了。我先贴出来第一次写的代码以及gcc编译器下报的错误: 在linux gcc编译器下编译没有报错但是执行程序出现段错误,报错如下: 我们可以看到程序无法执行,而只定义St Ea 阅读全文
摘要:
一、DMA功能简介 首先唠叨一下DMA的基本概念,DMA的出现大大减轻了CPU的工作量。在硬件系统中,主要由CPU(内核)、外设、内存(SRAM)、总线等结构组成,数据经常要在内存和外设之间,外设和外设之间转移。例如:CPU需要处理从外设采集回来的数据,CPU需要先将数据从ADC外设的寄存器读取到内 阅读全文
摘要:
一、stm32的中断和异常 Cortex拥有强大的异常响应系统,它能够打断当前代码执行流程事件分为异常和中断,它们用一个表管理起来,编号为0~15为内核异常,16以上的为外部中断,这个表就是中断向量表。而stm32对这个表重新进行了编排,把编号从-3~6定义为系统异常,编号为负的内核异常不能设置优先 阅读全文
摘要:
一、程序运行为什么需要内存?基本概念? 内存是程序运行的立足之地,程序需要用内存来存储一些变量。 内存管理最终是由操作系统完成的,内存在本质上是一个硬件器件,由硬件系统提供;内存由操作系统统一管理,为了管理内存方便,操作系统提供了很多机制来让我们应用程序使用内存。这些机制彼此不同,各有各的特点,我们 阅读全文
摘要:
一、CMSIS标准 ST公司的stm32采用的是cortex-m3内核,内核是整个微处理器的CPU。该内核是ARM公司设计的一种处理器体系架构。内核与外设的关系就像PC上的CPU与硬盘、主板、内存等的关系一样。 基于cortex系列的处理器内核都是一样的,区别在于除内核以外的外设的差异,由于这些差异 阅读全文
摘要:
一、首先我们从字面意思理解一下什么是指针数组什么是数组指针 1、指针数组:本质是一个数组,数组中的每一个元素是一个指针。 2、数组指针:本质是一个指针,而指针指向一个数组。 二、我们该怎么区分指针数组和数组指针? 1、总共有三种表示形式:int * P[4]和int (*P)[4]和int *(P[ 阅读全文