Is this a dual bank part? Is so you can avoid the bus lock by operating on
the other bank.

-----Original Message-----
From: Nathan Hartman <hartman.nat...@gmail.com>
Sent: Tuesday, November 30, 2021 5:35 AM
To: dev@nuttx.apache.org
Subject: Re: Kernel ticking and progmem writes

On Tue, Nov 30, 2021 at 8:05 AM Fotis Panagiotopoulos <f.j.pa...@gmail.com>
wrote:

> I found the issue.
>
> From the STM32F427 manual:
>
> > Any attempt to read the Flash memory on STM32F4xx while it is being
> written or erased,
> > causes the bus to stall. Read operations are processed correctly
> > once the
> program
> > operation has completed. This means that code or data fetches cannot
> > be
> performed while
> > a write/erase operation is ongoing.
>
> So, although there isn't any critical section anywhere, the CPU halts
> as it cannot access the Flash memory.


I think it may be necessary to put some parts of the NuttX kernel into RAM
so that it can keep executing while the bus is stuck.

I don't know off the top of my head whether we currently have a built-in way
to do that.

Nathan

Reply via email to