In my case I have STM32L476, so this is not the problem. Errata document did 
not help either, couldn't find anything that matches my problem.

On Mon, Jun 22, 2020, at 10:21, David Sidrane wrote:
> Hi Matias,
> 
> >> > > Yes, I do recall some issue with the F429's in this regard. There was
> >> > > an errata. I believe that there are some pins in the upper 256Kb bank
> >> > > that interfered with some other peripheral. DavidS would know better
> >> > > than I. I thought it effected USB?
> 
> The FLASH/USB related silicon errata in the F42{7|9} was fixed on newer
> silicon. The simple fix was when using USB do not use the second Meg of
> flash. See
> https://docs.px4.io/v1.9.0/en/flight_controller/silicon_errata.html
> 
> There is code
> https://github.com/PX4/Firmware/blob/master/platforms/nuttx/src/px4/stm/stm32_common/version/board_mcu_version.c
> to ID the chip and version.
> 
> David
> 
> 
> -----Original Message-----
> From: Matous Pokorny [mailto:matous.pokorny@datavision.software]
> Sent: Monday, June 22, 2020 6:12 AM
> To: dev@nuttx.apache.org
> Subject: Re: MCU only booting from reset via SWD when compiled without
> optimizations?
> 
> Hello,
> 
> I do not have the answer to your question. I have some notes which could
> help you.
> 
> 1) Check the boot issues related to dual bank flash as mentioned. You have
> the part number with dual bank. Check the option bytes as well.
> 2) I met the problem that SW reset does not work if you have SWDIO with
> reset pin attached (SWDIO probe keeps the pin in one level and SW reset
> pull the pin to another level, I have to put galvanic isolation between).
> Crazy is that SW reset has HW consequences (GPIO).
> 3) Check the link and boot address related to dual bank.
> 4) You did not note the compiler etc. Check the linker script is the same
> for both versions - with and without optimization.
> 5) Compare the result after disassembling the binary and focus on
> differences during the boot sequence. The boot sequence contains simple
> code. Optimization has a small impact on it.
> 
> Good luck, Mat.
> _____________________________
> *Matouš Pokorný* | Embedded system developer
> matous.pokorny@datavision.software
> 
> 
> 
> po 22. 6. 2020 v 0:56 odesílatel Matias N. <mat...@imap.cc> napsal:
> 
> > Ah, it is STM32L476RET. So, that wouldn't be the problem, but I have to
> > check the errata for this chip.
> > It is 62 pages long =|
> >
> > On Sun, Jun 21, 2020, at 19:50, Gregory Nutt wrote:
> > > On 6/21/2020 4:36 PM, Gregory Nutt wrote:
> > > >
> > > >> I will consider this possibilities, thanks.
> > > >>
> > > >> What is driving me crazy is that it actually seems to be triggered by
> > > >> the binary being bigger than 256KB (MCU has 512KB, dual bank). I
> > > >> already had to use openocd from git since it would not flash the
> > > >> image in that case. Now openocd flashes correctly. However, the bad
> > > >> reset behavior also seems to happen in this case. I have the same
> > > >> problem with optimization turned on but which increases binary size
> > > >> above 256KB.
> > > >>
> > > >> I cannot think something in the code that would change in this case,
> > > >> since banks are contiguous. Maybe some chip errata, I don't know.
> > > >
> > > > Yes, I do recall some issue with the F429's in this regard. There was
> > > > an errata. I believe that there are some pins in the upper 256Kb bank
> > > > that interfered with some other peripheral. DavidS would know better
> > > > than I. I thought it effected USB?
> > > >
> > > > You never mention which part you are using (or perhaps wan't paying
> > > > attention). You should check the errata.
> > >
> > > I think this is the errata I was thinking of. In the STM32F42xx and
> > > STM32F43xx Errata sheet:
> > >
> > > 2.2.10 PA12 GPIO limitations
> > >
> > > Description
> > > When PA12 is used as GPIO or alternate function in input or output
> > > mode, the data read
> > > from Flash memory can be corrupted. This behavior is observed only
> > > when the following
> > > conditions are met:
> > >
> > > • The device operates from a 2.7 to 3.6 V VDD power supply whatever
> > > the temperature
> > > range
> > > • Flash memory Bank2 is used or the dual bank feature is enabled.
> > >
> > > Impacted products
> > > • STM32F42xxI and STM32F43xxI part numbers
> > > • STM32F42xxG and STM32F43xxG part numbers only when dual bank
> > > feature is
> > > enabled.
> > >
> > > Not impacted products
> > > • STM32F42xxG and STM32F43xxG part numbers when dual bank feature is
> > > disabled
> > > • STM32F42xxE and STM32F43xxE part numbers.
> > >
> > > Workaround
> > > PA12 must be left unconnected on the PCB (configured as push-pull
> > > and held Low). You
> > > can use all the other GPIOs and all alternate functions except for
> > > the ones mapped on
> > > PA12. Use the OTG_HS peripheral in full-speed mode instead of the
> > > OTG_FS peripheral.
> > >
> > > This limitation is fixed in silicon starting from revision 3.
> > >
> > > Note that this has been fixed in current versions.
> > >
> > >
> >
> 

Reply via email to