1
\$\begingroup\$

I am trying to move an application from the STM32L1 discovery board (which has the STM32L152 chip) onto a PCB containing the STM32L151RC. On the discovery board, I was able to follow the application notes (AN2606 and CD0026342) to program the uC via USART1. However, when I use the same boot configuration (BOOT0 is high, BOOT1 is low, USART 2 RX PA3 is low, then I drive the NRST pin low for a RESET) I get no response from the uC when I send it the 0x7F data frame via the FTDI chip (8 bits, even parity, 1 stop). All VDD's (including VDDA) are given 3.3V with a .1uF cap to ground and all VSS's are connected to the FTDI's ground.

Could someone please offer a suggestion of what I may be doing wrong or what I should check next? I was operating under the assumption that there was no difference between the STM32L151 and STM32L152 in this respect. Is that a good assumption? Do the chips have the bootloader in the system memory by default, or does one have to specify that when ordering them?

This is very specific, but maybe someone has experience with another STM chip. The application notes show that it is very similar for the STM32F.

\$\endgroup\$
3
  • \$\begingroup\$ The bootloader in system ROM isn't an option, it's standard across the ST Cortex-M range afaik. My first thought was that there might be an option bit that you need to set or clear, but that doesn't seem to be the case. \$\endgroup\$
    – markt
    Commented Dec 19, 2014 at 22:25
  • \$\begingroup\$ If you can still access the JTAG/SWD pins on your custom PCB (via carefully soldered flying leads, if necessary), you could use the STLINK on your Discovery board as a programmer for the custom PCB. \$\endgroup\$
    – markt
    Commented Dec 19, 2014 at 22:31
  • \$\begingroup\$ Ha, I actually ended up making a new board and doing that, @markt. I was able to program via USART, however, with the chip that was on the discovery board. While using the JTAG/SWD with STLINK, I noticed that NRST should be permanently low, which may be the reason it works with the discovery and not on my board. \$\endgroup\$
    – MrUser
    Commented Jul 15, 2015 at 17:20

1 Answer 1

1
\$\begingroup\$

Hello probably you've already solved but just in case on application note an2606 it is indicated for STM32L1XXXC chips to use pins PD5/PD6 as TX/RX for USART2. I suppose this is mandatory.

\$\endgroup\$
1
  • \$\begingroup\$ The STM32L152RC (which I'm using) has no PD6, even though the AN2606 says to use that. Only a PD2. Instead, USART2 TX/RX are on pins PA2/PA3. The STM32L15xVx has PD5/PD6. Sorry, I didn't foresee needing to be THAT specific in my post. \$\endgroup\$
    – MrUser
    Commented Jul 15, 2015 at 17:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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