14、高级架构特性:Cortex - M 处理器的深入探索

高级架构特性:Cortex - M 处理器的深入探索

在嵌入式系统开发中,Cortex - M 系列处理器凭借其丰富的特性和强大的性能,成为了众多开发者的首选。本文将详细介绍 Cortex - M 处理器的一些高级架构特性,包括 SVC 指令的使用、PEND_SV 异常、处理器间事件、独占访问指令以及内存保护单元等内容。

1. 应用代码与特权模式

应用代码通常在非特权的线程模式下运行。这种机制看似是一种调用函数的复杂方式,但它为操作系统运行在特权模式并作为调度器管理非特权线程模式下的应用线程提供了基础。这样,各个线程只有通过向实时操作系统(RTOS)进行 API 调用才能访问关键的处理器特性。

2. 练习 5.2:SVC 指令调用函数

在这个练习中,我们将使用 SVC 指令调用函数,而不是像标准函数调用那样进行分支跳转。具体操作步骤如下:
1. 打开 Pack 安装器。
2. 选择 “Boards::Designers Guide Tutorial”。
3. 选择示例选项卡并复制 “Ex 5.2: Supervisor Call”。

2.1 项目结构分析

项目包含标准的项目启动文件和初始化系统文件。应用源代码位于 test.c 文件中,另外还有一个 svc_user.c 文件,用于处理 SVC 异常。该文件包含 SVC 异常处理程序,是 Arm 编译器提供的标准支持文件,添加新文件到项目时会作为模板包含进来。

test.c 文件中的应用代码调用了两个简单函数,这两个函数又调用执行基本算术运算的例程。示例代码如下:


                
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值