最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

ARM Cortex-M3处理器故障的分析与处理

IT圈 admin 31浏览 0评论

2024年3月13日发(作者:尧白卉)

…………………………一

皇 技术一 J 

ARM Cortex—M3处理器故障的分析与处理 

阿城继电器股份有限公司 孙洪蛟 

【摘要】本文介绍了ARM Cortex—M3处理器的4种故障:总线故障、用法故障、内存管理故障和硬故障。分析了这些故障产生的原因,叙述了如何通过故障状态寄 

存器找出故障原因,如何在程序开发阶段尽可能的避免故障的产生,以及故障的处理方法。 

【关键词】ARM;故障;寄存器;中断 

1.引言 

如果BFARVALID位置1,则SCB中BFAR 

在嵌入式领域,ARM Cortex—M3处理器凭借其高性能、低功耗、低成本等优势, 

得到了广泛的应用。该处理器具有很强的灵活性,在给开发人员较大开发空间的同 

时,也在一定程度上增加了开发的难度。尤其是当处理器出现故障时,故障原因常常 

难以找出。本文针对该处理器的以上特点,详细分析了处理器的4种故障,使读者可以 

对故障进行准确的分析和处理。 

2.故障分析 

ARM Cortex—M3处理器…共有4种故障:总线故障、用法故障、内存管理故障和硬故 

寄存器中的值便代表了产生总线故障所进 

行读写操作的内存地址。当总线故障产生 

时,如果故障处理使能,且此时没有相同 

或更高优先级的中断在运行,总线故障的 

处理程序将被执行。如果故障处理使能, 

但此时有相同或更高优先级的中断正在运 

行,总线故障将处于等待状态。如果故障 

障。ARM将故障当作特殊的中断来处理,其中,硬故障在所有故障中拥有最高优先级, 处理未使能,或故障出现在相同或更高优 

优先级为一l 其它故障的优先级是可整定的,但必须为非负数,默认优先级是0(ARM 先级的中断程序中,则总线故障的处理程 

中优先级的数值越小,优先级的级别越高,负数拥有最高优先级 )。总线故障是指指 

序无法被执行,于是总线故障升级为硬故 

 

令或数据在AHB总线上传输时出现错误而产生的一种故障,可在指令读取、数据读写以 

障。

及堆栈的压栈和弹栈时产生。用法故障是指在对CPU的使用上出现错误而导致的故障。 

2.2用法故障 

内存管理故障是指对内存的读写违反了MPU(内存保护单元)的规定或在不允许执行指 用法故障产生的原因有以下几种: 

令的地址执行指令而产生的一种故障。硬故障一般由其它故障升级导致。下面将对每 

使用未定义的指令;使用协处理器指令 

种故障进行详细分析。 (Cortex—M3不支持协处理器);试图从 

2.1总线故障 

Thumb状态转换 ̄UARM状态;中断返回值错 

总线故障产生的原因有以下几种:读写错误的内存地址(如对一处内存地址进行 误(LR寄存器中含有错误的返回值);在 

读写,但该地址并没有连接内存);对一个设备进行读写,但该设备还没有准备好接 

使用STM或LDM指令时,内存地址未对齐; 

受读写操作(如读写外部RAM,但外部RAM还没有初始化);对设备读写的数据类型不符 

除以0或读写未对齐的内存地址(可通过 

合设备的要求(如某设备只支持32位读写,当对该设备进行8位读写时,便会出现故 对NVIc——可嵌套向量中断控制器相应寄 

障);设备由于某种原因无法接受对它的读写操作 (如在非特权模式下对一个只接受 存器的控制位选择是否产生故障)。如果 

特权模式操作的设备进行读写)。如果想使能总线故障处理,将SCB(系统控制模块) 

想使能用法故障处理,将SCB中SHCSR寄存 

中SHCSR寄存器中的BUSFAULTENA位置1。如果将中断向量表放入RAM中,在置位之前应 

器中的USGFAULTENA位置1。如果将中断向 

先确定总线故障处理程序的的初始地址已经在表中设置完毕。总线故障发生后,SCB中 量表放入RAM中,在置位之前先确定用法 

的BFSR寄存器提供了关于故障的相关信息,如表l所示: 故障处理程序的的初始地址已经在表中设 

表1总线故障状态寄存器(BFSR) 

置完毕。用法故障发生后,SCB中的UFSR 

位 名称 缺省值 描述 

寄存器提供了关于故障的相关信息,如表 

2所示: 

7 BFARVALID 0 BFAR中的值有效 

与总线故障相同,当用法故障产生 

6:5 

时,如果故障处理使能,则在没有相同或 

4 STKERR 0 压栈错误 

更高优先级中断运行时,用法故障处理程 

3 UNSTKERR 0 弹栈错误 

序被执行,否则处于等待状态。如果故障 

2 IMPREISERR O 不精确的数据操作错误 

处理未使能,或故障出现在相同或更高优 

先级的中断程序中,则升级为硬故障。 

1 PRECISERR O 精确的数据操作错误 

2.3内存管理故障 

O IBUSERR O 指令操作错误 

内存管理故障产生的原因有以下几 

表2用法故障状态寄存器(UFSR) 

种:所读写的内存地址超出了MPU的设置 

位 名称 缺省值 描述. 

范围;对只读区域进行写操作;在非特权 

9 DIVBYZERO 0 除数为0 

状态下对只支持特权读写的区域(由MPU 

规定)进行读写操作。如果想使能内存管 

8 UNALIGNED O 不对齐地址操作 

理故障处理,将SCB中SHCSR寄存器中的 

7:4 

MEMFAULTENA位置l。如果将中断向量表放 

3 NOEP O 试图执行从处理器指令 

入RAM中,在置位之前应先确定内存管理 

2 INvPC 0 EXC

RETURN(中断返回值)错误 

故障处理程序的的初始地址已经在表中设 

1 INVSTATE 0 试图转换 ̄J]ARM状态 

置完毕。内存管理故障发生后,SCB中的 

MMSR寄存器提供了关于故障的相关信息, 

0 UNDEF工NSTR 0 执行未定义指令 

/2012.02/窀子世冉一19— 

I-)》一皇子技 …………………………一 

如表3所不: 

员及时修正。而在现场运行中主要是使系 

MMARVALID位,如果上述位为0,则说明故 

。 

如果MMARVALID位置1, ̄USCB中MMAR 

统恢复到正常的工作状态 J

障地址寄存器中的值不准确,将其丢弃, 

寄存器中的值便代表了产生内存管理故障 在程序开发过程中,为了尽量避免故 最后,清除BFARVALID/MMARVALID位。若 

 

所进行读写操作的内存地址。与总线故障 

障的产生,应将堆栈空间设置得足够大,

不按上述步骤进行,而先读取FARVALID/ 

相同,当内存管理故障产生时,如果故障 如果使用操作系统,则应保证每个任务的 

MMARVALID位后读取故障地址寄存器,则 

处理使能,则在没有相同或更高优先级中 

断运行时,内存管理故障处理程序被执 

行,否则处于等待状态。如果故障处理未 

使能,或故障出现在相同或更高优先级的 

堆栈都有足够的空间,以避免程序中出现 

错误改变堆栈中的数据。如果软件系统比 

较简单,可以在故障处理程序中报告相关 

的故障信息,如果软件系统比较复杂,则 

如果在这两次操作之间,执行了优先级更 

高的故障处理程序,故障地址寄存器中的 

值可能被改动,当程序返同到原始的故障 

处理程序后,会误以为故障地址寄存器中 

中断程序中,则升级为硬故障。 应将故障信息存储在内存中的某个位置, 

2.4硬故障和系统锁定 然后使用PendSV来报告故障信息。 

硬故障是一种比较特殊的故障,它一 故障处理程序应尽可能的简单,以避 

般在出现了上述故障,而由于某种原因上 

免在故障处理程序中产生新的故障。在故 

述故障的处理程序无法执行,或在故障处 

障的处理程序中应尽可能的避免不必要的 

理程序中又产生了故障,或出现了某种用 

压栈操作,在必要的压栈操作之前可以先 

其它方式无法解决的故障时产生。当产生 检查堆栈指针是否正确,如果堆栈指针正 

中断,对中断向量表中的向量进行读取 确,再进行压栈操作。在硬故障和NMI处 

时,如果出现了总线故障,或中断向量表 

理程序中最好只使用RO-R3寄存器,以及 

中的向量不正确,硬故障也会产生。硬故 RI2寄存器,以避免在硬故障和NMI处理程 

障还可由调试引起。硬故障产生后,SCB 

序中进行压栈操作而产生总线故障使程序 

中的HFSR寄存器提供了关于故障的相关信 进入锁定状态。 

息,如表4所示: 

需要报告的故障信息包括以下几种: 

当在硬故障或NMI(不可屏蔽中断, (1)故障状态寄存器:BFSR、UFSR、 

优先级为一2)的处理程序中产生了故障, MMSR、HFSR、DFSR ̄DAFSR。根据芯片制造 

或在重启后对sP、Pc的读取中出现总线故 商的不同实施方案,AFSR寄存器可能并不 

障,系统会进入锁定状态。如果程序在一 存在,此时可不考虑该寄存器。 

开始就不运行,可能是中断向量表被放 (2)堆栈中的数据:被压栈的Pc、 

在了错误的内存地址中,或向量的0位没 

LR、PSR寄存器以及RO-R3、R12寄存器的 

有置1。如果程序运行…些指令后突然崩 值。在读取堆栈中的数据之前,应先通过 

溃,则有可能是由于大端小端的设置出错 

LR寄存器中的bit[2]确定产生故障的程序 

或堆栈指针设置得不正确。 

所用的堆栈是MSP还是PSP。 

3.故障处理 (3)故障地址寄存器:BFAR ̄HMMAR。 

在程序开发过程中和现场运行中对故 对故障地址寄存器操作时,应按以下 

障处理有着不同的要求。在程序开发过程 步骤进行:首先,读取BFAR/MMAR寄存 

中主要是找出产生故障的原因,使开发人 

器,而后读取BFSR/MMSR中的BFARVALID/ 

表3内存管理故障状态寄存器(MMSR) 

位 名称 缺省值 描述 

7 ARVALID O MMAR中的值有效 

6:5 

4 MSTKERR 0 压栈错误 

3 MUNSTKERR O 弹栈错误 

2 

l DACCVIOL O 数据操作错误 

O IACCVIOL 0 指令操作错误 

表4硬故障状态寄存器(HFSR) 

位 名称 缺省值 描述 

3l DEBUGEVT 0 硬故障由调试引起 

30 FORCED O 硬故障由其它故障升级产生 

29:2 

l VECTBL O 读中断向量表时产生故障 

O 

20一电子世 /2012.02/ 

的值没有变化而产生误判。 

现场运行中对故障处理的常用的方法 

有以下几种: 

1)关闭任务:如果使用了操作系 

统,可以关闭产生故障的任务,并在需要 

的时候重新启动该任务。 

2)修复:在某些情况下,产生的 

故障可以被修复(如执行从处理器指令 

后,可以在用法故障中用软件模拟从处理 

器)。 

3)重启:在非操作系统环境下,这 

是最常用的方法。将SCB ̄AIRCR寄存器中 

的SYSRESETREO位置1,从而将整个系统重 

启。如果系统进入了锁定状态,Pc寄存器 

中的值将固定为OxFFFFFFFX,并将从这一 

地址反复读取指令,此时Cortex—M3核心 

将会输出一个LOCKUP信号,芯片制造商可 

以根据这个信号触发中断。如果芯片制造 

商对LOCKUP信号未作处理,也可通过设置 

独立看门狗将系统重启。 

4.结语 

本文详细的分析了ARM Cortex—M3处 

理器的4种故障——总线故障、用法故 

障、内存管理故障和硬故障的产生原因、 

特点及查找方法,并叙述了在程序开发过 

程中和现场运行中故障处理的方法。 

参考文献 

[1]Cortex—M3 Technical Reference Manua1.http:// 

infocenter arm com/help/topic/com.arm.doc ddi0337i/ 

DD10337I

cortexm3

r2p1

trm.pdf 

——

[21Cortex—M3 Embedded Software Development.http:// 

infocenter arm.com/help/topic/com.arm d6c.dai0179b/ 

AppsNote179.pdf 

f3]Cortex—M3 Devices Generic User Guide.http:// 

infocenter.arm.com/help/topic/com.aJfm.doc dui0552a/ 

DU10552A

cortex

_

m3_dgug.pdf 

[4]Jo seph Yiu.The Definite Guide to the ARM 

Cortex—M3 Hsevier Inc. 

作者简介:孙洪蛟(1984一),男,大学本科,助 

理工程师,现供职于阿城继电器股份有限公司,主 

要从事基于ARM Cormx—M3处理器的嵌入式软件平 

台的研发工作。 

2024年3月13日发(作者:尧白卉)

…………………………一

皇 技术一 J 

ARM Cortex—M3处理器故障的分析与处理 

阿城继电器股份有限公司 孙洪蛟 

【摘要】本文介绍了ARM Cortex—M3处理器的4种故障:总线故障、用法故障、内存管理故障和硬故障。分析了这些故障产生的原因,叙述了如何通过故障状态寄 

存器找出故障原因,如何在程序开发阶段尽可能的避免故障的产生,以及故障的处理方法。 

【关键词】ARM;故障;寄存器;中断 

1.引言 

如果BFARVALID位置1,则SCB中BFAR 

在嵌入式领域,ARM Cortex—M3处理器凭借其高性能、低功耗、低成本等优势, 

得到了广泛的应用。该处理器具有很强的灵活性,在给开发人员较大开发空间的同 

时,也在一定程度上增加了开发的难度。尤其是当处理器出现故障时,故障原因常常 

难以找出。本文针对该处理器的以上特点,详细分析了处理器的4种故障,使读者可以 

对故障进行准确的分析和处理。 

2.故障分析 

ARM Cortex—M3处理器…共有4种故障:总线故障、用法故障、内存管理故障和硬故 

寄存器中的值便代表了产生总线故障所进 

行读写操作的内存地址。当总线故障产生 

时,如果故障处理使能,且此时没有相同 

或更高优先级的中断在运行,总线故障的 

处理程序将被执行。如果故障处理使能, 

但此时有相同或更高优先级的中断正在运 

行,总线故障将处于等待状态。如果故障 

障。ARM将故障当作特殊的中断来处理,其中,硬故障在所有故障中拥有最高优先级, 处理未使能,或故障出现在相同或更高优 

优先级为一l 其它故障的优先级是可整定的,但必须为非负数,默认优先级是0(ARM 先级的中断程序中,则总线故障的处理程 

中优先级的数值越小,优先级的级别越高,负数拥有最高优先级 )。总线故障是指指 

序无法被执行,于是总线故障升级为硬故 

 

令或数据在AHB总线上传输时出现错误而产生的一种故障,可在指令读取、数据读写以 

障。

及堆栈的压栈和弹栈时产生。用法故障是指在对CPU的使用上出现错误而导致的故障。 

2.2用法故障 

内存管理故障是指对内存的读写违反了MPU(内存保护单元)的规定或在不允许执行指 用法故障产生的原因有以下几种: 

令的地址执行指令而产生的一种故障。硬故障一般由其它故障升级导致。下面将对每 

使用未定义的指令;使用协处理器指令 

种故障进行详细分析。 (Cortex—M3不支持协处理器);试图从 

2.1总线故障 

Thumb状态转换 ̄UARM状态;中断返回值错 

总线故障产生的原因有以下几种:读写错误的内存地址(如对一处内存地址进行 误(LR寄存器中含有错误的返回值);在 

读写,但该地址并没有连接内存);对一个设备进行读写,但该设备还没有准备好接 

使用STM或LDM指令时,内存地址未对齐; 

受读写操作(如读写外部RAM,但外部RAM还没有初始化);对设备读写的数据类型不符 

除以0或读写未对齐的内存地址(可通过 

合设备的要求(如某设备只支持32位读写,当对该设备进行8位读写时,便会出现故 对NVIc——可嵌套向量中断控制器相应寄 

障);设备由于某种原因无法接受对它的读写操作 (如在非特权模式下对一个只接受 存器的控制位选择是否产生故障)。如果 

特权模式操作的设备进行读写)。如果想使能总线故障处理,将SCB(系统控制模块) 

想使能用法故障处理,将SCB中SHCSR寄存 

中SHCSR寄存器中的BUSFAULTENA位置1。如果将中断向量表放入RAM中,在置位之前应 

器中的USGFAULTENA位置1。如果将中断向 

先确定总线故障处理程序的的初始地址已经在表中设置完毕。总线故障发生后,SCB中 量表放入RAM中,在置位之前先确定用法 

的BFSR寄存器提供了关于故障的相关信息,如表l所示: 故障处理程序的的初始地址已经在表中设 

表1总线故障状态寄存器(BFSR) 

置完毕。用法故障发生后,SCB中的UFSR 

位 名称 缺省值 描述 

寄存器提供了关于故障的相关信息,如表 

2所示: 

7 BFARVALID 0 BFAR中的值有效 

与总线故障相同,当用法故障产生 

6:5 

时,如果故障处理使能,则在没有相同或 

4 STKERR 0 压栈错误 

更高优先级中断运行时,用法故障处理程 

3 UNSTKERR 0 弹栈错误 

序被执行,否则处于等待状态。如果故障 

2 IMPREISERR O 不精确的数据操作错误 

处理未使能,或故障出现在相同或更高优 

先级的中断程序中,则升级为硬故障。 

1 PRECISERR O 精确的数据操作错误 

2.3内存管理故障 

O IBUSERR O 指令操作错误 

内存管理故障产生的原因有以下几 

表2用法故障状态寄存器(UFSR) 

种:所读写的内存地址超出了MPU的设置 

位 名称 缺省值 描述. 

范围;对只读区域进行写操作;在非特权 

9 DIVBYZERO 0 除数为0 

状态下对只支持特权读写的区域(由MPU 

规定)进行读写操作。如果想使能内存管 

8 UNALIGNED O 不对齐地址操作 

理故障处理,将SCB中SHCSR寄存器中的 

7:4 

MEMFAULTENA位置l。如果将中断向量表放 

3 NOEP O 试图执行从处理器指令 

入RAM中,在置位之前应先确定内存管理 

2 INvPC 0 EXC

RETURN(中断返回值)错误 

故障处理程序的的初始地址已经在表中设 

1 INVSTATE 0 试图转换 ̄J]ARM状态 

置完毕。内存管理故障发生后,SCB中的 

MMSR寄存器提供了关于故障的相关信息, 

0 UNDEF工NSTR 0 执行未定义指令 

/2012.02/窀子世冉一19— 

I-)》一皇子技 …………………………一 

如表3所不: 

员及时修正。而在现场运行中主要是使系 

MMARVALID位,如果上述位为0,则说明故 

。 

如果MMARVALID位置1, ̄USCB中MMAR 

统恢复到正常的工作状态 J

障地址寄存器中的值不准确,将其丢弃, 

寄存器中的值便代表了产生内存管理故障 在程序开发过程中,为了尽量避免故 最后,清除BFARVALID/MMARVALID位。若 

 

所进行读写操作的内存地址。与总线故障 

障的产生,应将堆栈空间设置得足够大,

不按上述步骤进行,而先读取FARVALID/ 

相同,当内存管理故障产生时,如果故障 如果使用操作系统,则应保证每个任务的 

MMARVALID位后读取故障地址寄存器,则 

处理使能,则在没有相同或更高优先级中 

断运行时,内存管理故障处理程序被执 

行,否则处于等待状态。如果故障处理未 

使能,或故障出现在相同或更高优先级的 

堆栈都有足够的空间,以避免程序中出现 

错误改变堆栈中的数据。如果软件系统比 

较简单,可以在故障处理程序中报告相关 

的故障信息,如果软件系统比较复杂,则 

如果在这两次操作之间,执行了优先级更 

高的故障处理程序,故障地址寄存器中的 

值可能被改动,当程序返同到原始的故障 

处理程序后,会误以为故障地址寄存器中 

中断程序中,则升级为硬故障。 应将故障信息存储在内存中的某个位置, 

2.4硬故障和系统锁定 然后使用PendSV来报告故障信息。 

硬故障是一种比较特殊的故障,它一 故障处理程序应尽可能的简单,以避 

般在出现了上述故障,而由于某种原因上 

免在故障处理程序中产生新的故障。在故 

述故障的处理程序无法执行,或在故障处 

障的处理程序中应尽可能的避免不必要的 

理程序中又产生了故障,或出现了某种用 

压栈操作,在必要的压栈操作之前可以先 

其它方式无法解决的故障时产生。当产生 检查堆栈指针是否正确,如果堆栈指针正 

中断,对中断向量表中的向量进行读取 确,再进行压栈操作。在硬故障和NMI处 

时,如果出现了总线故障,或中断向量表 

理程序中最好只使用RO-R3寄存器,以及 

中的向量不正确,硬故障也会产生。硬故 RI2寄存器,以避免在硬故障和NMI处理程 

障还可由调试引起。硬故障产生后,SCB 

序中进行压栈操作而产生总线故障使程序 

中的HFSR寄存器提供了关于故障的相关信 进入锁定状态。 

息,如表4所示: 

需要报告的故障信息包括以下几种: 

当在硬故障或NMI(不可屏蔽中断, (1)故障状态寄存器:BFSR、UFSR、 

优先级为一2)的处理程序中产生了故障, MMSR、HFSR、DFSR ̄DAFSR。根据芯片制造 

或在重启后对sP、Pc的读取中出现总线故 商的不同实施方案,AFSR寄存器可能并不 

障,系统会进入锁定状态。如果程序在一 存在,此时可不考虑该寄存器。 

开始就不运行,可能是中断向量表被放 (2)堆栈中的数据:被压栈的Pc、 

在了错误的内存地址中,或向量的0位没 

LR、PSR寄存器以及RO-R3、R12寄存器的 

有置1。如果程序运行…些指令后突然崩 值。在读取堆栈中的数据之前,应先通过 

溃,则有可能是由于大端小端的设置出错 

LR寄存器中的bit[2]确定产生故障的程序 

或堆栈指针设置得不正确。 

所用的堆栈是MSP还是PSP。 

3.故障处理 (3)故障地址寄存器:BFAR ̄HMMAR。 

在程序开发过程中和现场运行中对故 对故障地址寄存器操作时,应按以下 

障处理有着不同的要求。在程序开发过程 步骤进行:首先,读取BFAR/MMAR寄存 

中主要是找出产生故障的原因,使开发人 

器,而后读取BFSR/MMSR中的BFARVALID/ 

表3内存管理故障状态寄存器(MMSR) 

位 名称 缺省值 描述 

7 ARVALID O MMAR中的值有效 

6:5 

4 MSTKERR 0 压栈错误 

3 MUNSTKERR O 弹栈错误 

2 

l DACCVIOL O 数据操作错误 

O IACCVIOL 0 指令操作错误 

表4硬故障状态寄存器(HFSR) 

位 名称 缺省值 描述 

3l DEBUGEVT 0 硬故障由调试引起 

30 FORCED O 硬故障由其它故障升级产生 

29:2 

l VECTBL O 读中断向量表时产生故障 

O 

20一电子世 /2012.02/ 

的值没有变化而产生误判。 

现场运行中对故障处理的常用的方法 

有以下几种: 

1)关闭任务:如果使用了操作系 

统,可以关闭产生故障的任务,并在需要 

的时候重新启动该任务。 

2)修复:在某些情况下,产生的 

故障可以被修复(如执行从处理器指令 

后,可以在用法故障中用软件模拟从处理 

器)。 

3)重启:在非操作系统环境下,这 

是最常用的方法。将SCB ̄AIRCR寄存器中 

的SYSRESETREO位置1,从而将整个系统重 

启。如果系统进入了锁定状态,Pc寄存器 

中的值将固定为OxFFFFFFFX,并将从这一 

地址反复读取指令,此时Cortex—M3核心 

将会输出一个LOCKUP信号,芯片制造商可 

以根据这个信号触发中断。如果芯片制造 

商对LOCKUP信号未作处理,也可通过设置 

独立看门狗将系统重启。 

4.结语 

本文详细的分析了ARM Cortex—M3处 

理器的4种故障——总线故障、用法故 

障、内存管理故障和硬故障的产生原因、 

特点及查找方法,并叙述了在程序开发过 

程中和现场运行中故障处理的方法。 

参考文献 

[1]Cortex—M3 Technical Reference Manua1.http:// 

infocenter arm com/help/topic/com.arm.doc ddi0337i/ 

DD10337I

cortexm3

r2p1

trm.pdf 

——

[21Cortex—M3 Embedded Software Development.http:// 

infocenter arm.com/help/topic/com.arm d6c.dai0179b/ 

AppsNote179.pdf 

f3]Cortex—M3 Devices Generic User Guide.http:// 

infocenter.arm.com/help/topic/com.aJfm.doc dui0552a/ 

DU10552A

cortex

_

m3_dgug.pdf 

[4]Jo seph Yiu.The Definite Guide to the ARM 

Cortex—M3 Hsevier Inc. 

作者简介:孙洪蛟(1984一),男,大学本科,助 

理工程师,现供职于阿城继电器股份有限公司,主 

要从事基于ARM Cormx—M3处理器的嵌入式软件平 

台的研发工作。 

发布评论

评论列表 (0)

  1. 暂无评论