低功耗MCU设计:32位MCU的函数调用详解
需积分: 50 86 浏览量
更新于2024-08-10
收藏 9.02MB PDF 举报
"一般函数-32位低功耗mcu设计全面介绍"
本文主要探讨了32位低功耗微控制器(MCU)设计中的一般函数,特别是两种调用约定:__cdecl和__adecl,并提及了东芝单片机的相关知识。这两种调用约定在函数参数传递和返回值处理上有显著的区别。
首先,__cdecl是不使用函数限定符定义函数的默认类型。在这种类型的函数中,参数从右向左压入堆栈,所有参数都在堆栈中传递,返回值也同样通过堆栈传送。例如,一个简单的__cdecl函数定义如下:
```c
int func1(char a, int b);
```
接着,__adecl型函数在东芝的TLCS-870和TLCS-900家族中使用,其特点是从左到右传递参数,最初几个参数(TLCS-870为2个,TLCS-900为3个)通过寄存器传递,剩余参数通过堆栈传递。返回值同样通过寄存器传送,因此不支持非整型和指针类型的返回值。以下是一个__adecl函数的示例定义:
```c
int __adecl func2(char a, char b, char c);
```
__adecl函数的优点在于其对参数和返回值的处理相对简单,因此能实现较快的执行速度。然而,由于返回值限制,它可能不适合处理某些复杂数据类型的运算。
此外,文件中还提到了FastExecutorAcademy,可能是与微控制器相关的培训或学习平台,以及8位单片机(Micom)的概述。内容涵盖了CPU内核、存储器结构,包括特殊功能寄存器(SFR)、RAM、数据缓冲区(DBR)和ROM的地址范围,以及程序计数器(PC)、通用寄存器(如A、C、DE、HL、IX、IY)、标志寄存器(PSW)中的各个标志位,如零标志(ZF)、进位标志(CF)、半进位标志(HF)和符号标志(SF)等。这些内容是理解微控制器操作的基础。
本文对于理解32位低功耗MCU的函数调用约定和基础架构具有重要的指导意义,特别是对于那些需要设计或优化嵌入式系统软件的人来说。东芝单片机的特性,结合__cdecl和__adecl的使用,有助于开发者根据具体需求选择最适合的函数调用方式,从而提高代码效率和系统性能。
160 浏览量
419 浏览量
387 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
Fesgrome
- 粉丝: 37
- 资源: 3810
最新资源
- 维修中心产品报价清单excel模版下载
- lsvine:`tree -L 2`具有较少的空白屏幕空间
- project_app:这是非常重要的项目
- Newton's method done right:牛顿法求解非线性方程组,包括非平方和不一致方程组-matlab开发
- 现代客厅模型效果图
- 美丽的心型:用Python表达爱意
- command-line-linter
- simpleMapExercise
- SpotifyStalker
- 日记账格式excel模版下载
- dfs:DFS 阵容优化器应用程序的 Github 存储库
- WebProjectWithDjango
- DEF-CON-Links:DEF CON 28安全模式的简易链接和指南
- r7rs-clos:适用于R7RS的微型CLOS包装器
- 小型电影院3D模型
- vscode_ros2