嵌入式.ld,.lsl等链接文件作用

生成可执行文件的主要流程:预编译、编译(C—>汇编—>binary)、链接。 编译只是把各个.c和.s文件编译成对应的.o文件。然后需要链接器将各个.o文件链接为一个可执行文件。 ...

十二月 21, 2023

函数指针,位操作和数据类型

函数指针与回调函数 函数指针 作用:硬件驱动程序和用户应用程序相互分开,硬件驱动程序提供API函数,用户应用程序将函数作为回调函数的方式进行使用。 回调机制的好处是,在程序执行期间可以动态更改被调用 回调函数:作为参数传递给另一个函数的函数,接受回调作为参数的函数预计会在某个时间点执行它。 ...

七月 15, 2023

英飞凌 TC3XX CAN Interface (MCMCAN)模块

CAN Interface (MCMCAN) 1.模块 有三个模块CAN0,CAN1,CAN2,一般只使用CAN0,CAN0的模块比较全面。 CAN0有4个CAN node,Message RAM 一共32Kbyte,FIFO,buffer,register在此处开辟。 ...

七月 11, 2023

嵌入式系统——MCU组成结构与程序运行机制

MCU系统结构 整体结构 因为学习的是STM32,所以按照手册进行理解。 哈佛结构和冯诺依曼结构 首先我们在编写代码的时候,可以将代码分为两部分,一部分是逻辑代码部分,另一部分是定义的变量,逻辑代码是不用改变的,而变量会改变,哈佛结构和冯诺依曼结构就是对于这个两部分代码的存储方式有着一些区别。 冯诺依曼结构将程序存储器和数据存储器合并在一起的处理器架构设计,他的特点是使用同一个存储器,经由同一个总线传输。 哈佛结构将程序指令存储和数据存储分开存储,在嵌入式编程中一般使用这种方式,因为可以只修改数据不用修改逻辑代码。 ...

八月 8, 2022

嵌入式系统——CPU

1. CPU的运行原理 1.1 CPU最基本的工作单元——MOSFET 二极管的工作原理 SI原子外层有4个电子,P原子外层有5个电子,B原子外层有3个电子;如果SI和P结合,就会多一个电子,导电性上升;如果SI和B结合,就会有一个空穴,会有电子过来,导电性也会上升;电子和空穴都叫载流子,载流子就是电流的载体。 增加空穴的掺杂——P型掺杂;增加电子的掺杂——N型掺杂。 如果在一块硅晶体左边和右边进行N型掺杂和P型掺杂,中间区域就会出现电子从N区扩散到P区和空穴结合;交界处N区域失去电子显正电,P区域得到电子带负电,中间产生一个电场,叫耗尽层。 如果在外面接一个电池,如果电池提供的电场和中间电场方向相反进行抵消,此时电路导通;如果反过来接,耗尽层加宽,则不能导通。 ...

八月 7, 2022

嵌入式系统—中断

中断的概念和机制 中断与轮询 中断: 由硬件判断外部事件并通知CPU;专用的中断服务程序来处理事件 处理对响应要求非常高的事件 处理持续事件非常短的事件 低功耗的应用 程序设计复杂 通常把CPU内部的紧急时间叫做异常,比如地址访问越界; 把CPU外部的片上外设产生的紧急时间叫做中断,比如GPIO口引脚的电平变化。 中断和异常都是停下当前任务去执行紧急事件,所以一般统称位中断。 ...

八月 7, 2022