SPIM ArrayList PPI Reset

Hi,

I am trying to use the ArrayList Feature of SPIM. From my unterstanding, it simply increments the pointer to the memory address every time the START task is triggered, but does not check, if my list has completed. How do I reset the ArrayList-Pointer? Do I have to use a ISR or is there a task that can be triggered by PPI?

Parents
  • Hi,

     

    I am trying to use the ArrayList Feature of SPIM. From my unterstanding, it simply increments the pointer to the memory address every time the START task is triggered, but does not check, if my list has completed.

    This is correct.

    How do I reset the ArrayList-Pointer? Do I have to use a ISR or is there a task that can be triggered by PPI?

    Unfortunately, the hardware does not have a "limit" which you can set, so you need to involve the CPU and programmatically write to the .PTR register.

    You need to keep track of when to clear (write the .PTR register) to ensure that there is no overflow occurring. If you search on the forum for "arraylist", you can see several threads where this specific scenario is discussed.

     

    Kind regards,

    Håkon

Reply
  • Hi,

     

    I am trying to use the ArrayList Feature of SPIM. From my unterstanding, it simply increments the pointer to the memory address every time the START task is triggered, but does not check, if my list has completed.

    This is correct.

    How do I reset the ArrayList-Pointer? Do I have to use a ISR or is there a task that can be triggered by PPI?

    Unfortunately, the hardware does not have a "limit" which you can set, so you need to involve the CPU and programmatically write to the .PTR register.

    You need to keep track of when to clear (write the .PTR register) to ensure that there is no overflow occurring. If you search on the forum for "arraylist", you can see several threads where this specific scenario is discussed.

     

    Kind regards,

    Håkon

Children
No Data
Related