Hi,
Code warrior 8.3.
I started a projet on MC56F8002 based on an old code. With the new silicon revision, the MCU is not working properly. After a debugging session, I realized that the MCU reset when an interrupt occurs. If I don't activate interrupts, the MCU do not reset. Here is the line to enable the interrupt __EI(0);. On the old silicon revision (mask 1M53M) there is no problem with interrupts.
Any suggestion?
JF
Solved! Go to Solution.
I got it.
In function _EntryPoint() I had this line: INTC_VBA = (int)&_vba >>7;
In the variable declaration section in this file, I put this line: extern unsigned int _vba;
In the linker file, I add the line in bold.
.interrupt_vectors :
{
# interrupt vectors
F_vba = .;
* (interrupt_vectors.text) }
>.p_Interrupts
Seems to work properly. I'm doing test.
Regards.
Make sure the interrupt vectors are located up at the correct Address and that your startup code is telling the core that the vectors are up there. The 8006 has vectors at amuck lower address.
Best Regards,
John L. Winters
Senior Applications Engineer
AMR/EU MCU & MPU AE Group
Freescale Inc.
2100 Elliot Road
This email and any associated attachments have been classified as:
Freescale Confidential and Proprietary
Hi,
I don't know this MCU. How can I do to verify the interrupt vector address? I suppose this address in define in the linker file (.cmd)
.p_Interruptsboot (RWX) : ORIGIN = 0x00001000, LENGTH = 0x0004
.p_Interrupts (RWX) : ORIGIN = 0x00001000, LENGTH = 0x000000CC
How to configure the startup code? Is it in the 56F80xx_int.asm? What I have to do?
/////////////////////////////////////////////////
section startup
XREF F_stack_addr
XREF F_xROM_to_xRAM
XREF F_pROM_to_xRAM
XREF F_Ldata_size
XREF F_Ldata_ROM_addr
XREF F_Ldata_RAM_addr
org p:
GLOBAL Finit_56800_
/////////////////////////////////////////////////
Thanks for your help.
I got it.
In function _EntryPoint() I had this line: INTC_VBA = (int)&_vba >>7;
In the variable declaration section in this file, I put this line: extern unsigned int _vba;
In the linker file, I add the line in bold.
.interrupt_vectors :
{
# interrupt vectors
F_vba = .;
* (interrupt_vectors.text) }
>.p_Interrupts
Seems to work properly. I'm doing test.
Regards.