Driving WS2812 using DMA on STM32F302
You should consider using a UART, SPI or I2S interface, using one byte to generate the waveform for one bit. The important point is that such interfaces have a FIFO buffer, so the CPU's activities don't need to be exactly synchronous with the output signal. 

A student of me did this succesfully on a LPC1114.

Maybe you can use DMA to feed the serial interface, but you'd have to 'blow up' the data to one byte per bit.