Home > Study > C Language > ARM System Programming > [ex37] FAULT_HANDLER

[ex37] FAULT_HANDLER
Study Language

문제 설명


	.syntax unified
	.thumb

	.text

    .extern  MemManage_Handler
    .extern  BusFault_Handler
    .extern  UsageFault_Handler

    .global _HardFault_Handler
    .type   _HardFault_Handler, %function
_HardFault_Handler:

	@ 코드 작성


    .global _MemManage_Handler
    .type   _MemManage_Handler, %function
_MemManage_Handler:

	@ 코드 작성


    .global _BusFault_Handler
    .type   _BusFault_Handler, %function
_BusFault_Handler:

	@ 코드 작성


    .global _UsageFault_Handler
    .type   _UsageFault_Handler, %function
_UsageFault_Handler:

	@ 코드 작성


	.end

정답 코드


	.syntax unified
	.thumb

	.text

    .extern  HardFault_Handler
    .extern  MemManage_Handler
    .extern  BusFault_Handler
    .extern  UsageFault_Handler

    .global _HardFault_Handler
  	.type 	_HardFault_Handler, %function
_HardFault_Handler:

	MOV		R0, SP
	MOV		R1, LR
	MRS		R2, PSP
	B		HardFault_Handler

    .global _MemManage_Handler
  	.type 	_MemManage_Handler, %function
_MemManage_Handler:

	MOV		R0, SP
	MOV		R1, LR
	MRS		R2, PSP
	B		MemManage_Handler

    .global _BusFault_Handler
  	.type 	_BusFault_Handler, %function
_BusFault_Handler:

	MOV		R0, SP
	MOV		R1, LR
	MRS		R2, PSP
	B		BusFault_Handler

    .global _UsageFault_Handler
  	.type 	_UsageFault_Handler, %function
_UsageFault_Handler:

	MOV		R0, SP
	MOV		R1, LR
	MRS		R2, PSP
	B		UsageFault_Handler

	.end

메모


printf 내부의 \n 습관화 필요