He transmitido el siguiente código a mi nueva y brillante placa STM32F0DISCOVERY. Los comentarios explican lo que pensé que haría.
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
// Place PIN 4 (DAC out) into analog mode
GPIOA->MODER=0b11<<8;
RCC_AHBPeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
// Default DAC settings are fine.
DAC->CR = 0;
DAC->CR = 1;
Desafortunadamente, después de actualizar este código, openocd ya no puede hablar con la placa ni reconocer que es un stm32f0 (pero aún puede conectarse al ST / LINK integrado si se mantiene presionado el botón de reinicio). Pensé que podría ser capaz de mantener BOOT0 alto y arrancar desde el cargador de arranque en serie interno, pero eso tampoco parece permitir que SWD parpadee. El resto del programa corto solo utiliza GPIO B y C y el temporizador.
¿Debo esperar que el código bloquee el chip o simplemente tuve mala suerte?