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

flash/fds hardfault not traceable

I am currently struggling with a problem where Im trying to implement the internal fds module which always leads to hard faults as follows:

There is probably something wrong in my configuration but I can't pinpoint where. The example worked okay so there are no problems on my own PCB. Yet I need support to handle this exception and get the config right!

Best, Julius

Parents
  • Hello,

    It is a bit difficult to say exactly why this is not working. What address are you trying to write to? Or perhaps there is an event handler that isn't populated properly being called? Is it possible to recreate the issue on a DK? If so, would it be possible to send the project that replicates this so that I can have a look?

    If not, I suggest you start looking into the call stack. What happens at event_send() right before the hardfault? Have you tried setting a breakpoint? Does it happen the first time this function (event_send()) is called, or is it called a couple of times before the error occurs?

    Best regards,

    Edvin

  • I am actually not writing anything. Basically I just initialize the flash module and afterwards dont use it (at least for now)

    the fault just happens randomly (an interrupt that is triggered?). Thats why I added the picture, this is all I have, if I set a breakpoint it will lead to the same call stack. 

    Yes it happens the first time the firmware goes into this event_send method. 

    Using a DK was a good advice, I couldn't recreate te problem there, is it something in the board configuration that needs to be handled? 

  • Hello Julius,

    I have looked into it from time to time, but I can't figure out why it doesn't work. 

    I have tried to look for differences in your project settings and sdk_config.h, but so far with no luck. 

    I see that the project configurations in your project are quite different from what it is in our examples. Perhaps you have done everything yourself? Or did you start with an example from the SDK?

    One example of weird behaving settings is that your include directories shows up like this:

    But it actually include many more folders. Since this is a bit off, then perhaps there are plenty of other settings not showing correctly as well, for all I know.

    I also tested by adding your flash_tb_radar.c/h into the flash_fds example, and there it runs without any issues. (attached in case you want to test). 

    flash_fds_test_cust.zip

    Do you happen to know why the include directories setting looks like that? Does it do that in your case as well?

    Is there an option to go with the attached sample, and add the rest of your project to that?

    BR,
    Edvin

  • yeah, I suppose most include directories are in my solution options not the ones for the project (i.e. they are inherited)

    I will try to do it this way round, although its clear that by this I might just run into different problems.

    What I wanted to know is if you know how the attachment of the fds_evt_handler works exactly. THats where my application seems to crash, it doesn't go into the handler in the event_send function. 

  • I need to bother you with this again. 

    I also tried using the storage example, it throws a hardfault at the same function (event_write) and since I thought this example doesn't use the softdevice I suppose there is something else wrong. I ran the example on my custom PCB -- this works. How could I find out if my flash segments are wrong? and how can I see if I take too much space on the flash? I need this to work and yeah I got some custom stuff in my project but there must be a way to find out what Im doing wrong.

  • what do you think about priorities? Do I need to change smth here and what exactly? 

  • another question: is there maybe a way to write to flash without IRQs? would rarely write there so I could also poll it at runtime

Reply Children
No Data
Related