When exploring the example projects, I've noticed that the regular Blinky project has 3 targets.


I think I understand what Flash and RAM stand for (it's all a bit confusing), but I haven't seen "OPT" before; what is it? What could it be used for?

I've seen multiple address spaces described for STM32F407 (that I'm using). How does it relate to them?

I think that the assembly file is additionally linked with the OPT target. The parts that interested me were:

;// <e> Flash Option Bytes
FLASH_OPT       EQU     1


;// </e>

                IF      FLASH_OPT <> 0
                AREA    |.ARM.__AT_0x1FFFC000|, CODE, READONLY
                DCD     FLASH_OPTCR


I admit I understand close to nothing from them, though.

  • \$\begingroup\$ Not familiar with that particular part but maybe a typo for OTP (one-time programmable). Does that part have any ROM type variants that can only be programmed once? \$\endgroup\$ – PeterJ Oct 11 '14 at 10:24
  • \$\begingroup\$ @PeterJ Hmm, the [ST reference manual]st.com/web/en/resource/technical/document/reference_manual/… seems to confirm that it does indeed have some OTP space; but it looks like it's rather small, certainly not being able to fit the whole program binary. \$\endgroup\$ – Bartek Banachewicz Oct 11 '14 at 10:27
  • \$\begingroup\$ Maybe it's "Optional" memory - i.e., external memory on the EIB. \$\endgroup\$ – Majenko Oct 11 '14 at 10:30
  • \$\begingroup\$ @Majenko I've added some additional - hopefully helpful - information. \$\endgroup\$ – Bartek Banachewicz Oct 11 '14 at 10:33
  • 1
    \$\begingroup\$ Also it may refer to the "option" bytes at 0x1FFF C000 - 0x1FFF C007, which if they are anything like the PIC chips are to do with configuring how the chip runs at startup - things like clock sources, etc. \$\endgroup\$ – Majenko Oct 11 '14 at 10:42

Oh, I found that in the description (should've looked there at once):

The Blinky program is available in different targets:

  STM32F407 RAM:      configured for on-chip RAM
                      (used for target debugging)

  STM32F407 Flash:    configured for on-chip Flash
                      (used for production or target debugging)

  STM32F407 OPT:      STM32F407 with Flash Options Bytes
                      (used for programming)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.