This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Loading instruction set

Note: This was originally posted on 7th October 2008 at http://forums.arm.com

HI,
   I am trying out the Cortex M1 on an altera FPGA. I have an example implementation from the Altera kit which uses ITCM to load the software files on the ARM. I want to instead load the software from external Flash or SRAM. I have made the required hardware and software changes and when I single step the system in emulation mode, it runs a few lines and jumps to 0xfffffffe, which is a hard fault location. The flash is off-chip and sitting on a tri-state bridge, the address location for the flash starts at 0x0 and the size is 0x1000000, so I know that flash is within the first 0.5GB of ARM's address space. Any suggestions why the arm is hitting hard fault.

Thank You
Chaitanya
  • Note: This was originally posted on 7th October 2008 at http://forums.arm.com

    Chaitanya,

    Assuming that the flash is correctly integrated, a common software fault that results in hardfault being entered almost immediately is not having the LSB of the second word set, i.e. the LSB of the reset vector must be one.

    hth
    s.


    HI Sim
              I actually bought this kit from altera and I was trying out thier example. The example works well if ITCM is instantiated. The problem comes only when I try to remove the ITCM and use an external device for instructions. I made sure that the device address space starts at 0x00000000 and did not change anything in the software (I am more of a hardware development person!). I had my friend look at the software and he made sure that the interrupt vectors were at the right addresses. Also when I single step the system the hardfault appears after going through 15 lines of assembly code, so I am assuming that it atleast see's the main function before going to hardfault. Is there a diagnosis method to find out why the hardfault happened.

    Thank You
    Chaitanya
  • Note: This was originally posted on 7th October 2008 at http://forums.arm.com

    Chaitanya,

    Assuming that the flash is correctly integrated, a common software fault that results in hardfault being entered almost immediately is not having the LSB of the second word set, i.e. the LSB of the reset vector must be one.

    hth
    s.