cancel
Showing results for 
Search instead for 
Did you mean: 

Cannot Run after programming in CubeProgrammer via UART

Yoshi1
Associate III

I have a question about the flash program function by UART communication on the evaluation board NUCLEO-L433RC-P.

After rewriting flash with UART, I restarted it with Run After Program, but it does not work properly (LED blinks if it is normal).

Unplug the USB cable and plug it in again to run normally(LED blinks).

It works normally if it is restarted by writing the option byte without restarting with Run after program.

However, I think that restarting with write option bytes is prepared for it to work well after writing option bytes.

For that reason, I would like to reboot in another way.

How do you run the application after rewriting flash with UART during VDD turned on?

I would like to update the software by connecting only the 4 pins of UART TX, RX, VDD, Ground.

Best regards,0693W00000HppUCQAZ.png0693W00000HppU7QAJ.png

12 REPLIES 12
Yoshi1
Associate III

Thank you.

The reason GETID fails may be because Bootloader mode is terminated.

I'm still testing on the evaluation board, so I can connect with ST-LINK.

I haven't tried attaching yet, so I'll try it.

Best regards,​

Thank you for your reply.

It's completely convenient for me.

As you say, I think it's equivalent if you choose between UART and SWD.

I'm investigating whether it can be UART + SWD or UART only.

I use UART in the product, but I am investigating whether it can also be used for Program Loader communication.

If the board area is not a problem, consider mounting SWD.

Best regards,​

Yoshi1
Associate III

After Run After Programming, I attached it with the debugger and found the following..

  • Program Counter repeats the process from 0x1fff32f6 to 0x1fff3000
  • SYSCFG_MEMRMP MEM_MODE is 001(System memory mapped)​
  • Vector table register (VTOR) is 0x1fffffff
  • Address 0x00000000 is mapped to 0x1fff0000 instead of 0x08000000

​Probably not working properly because the vector table is different from mine.

Run After Programming doesn't remap memory automatically, so I think I'll have to remap it myself.

I'm trying to write to Flash by writing optional bytes instead of Run After Programming.