karlp / libopencm3-miniblink

just the blinks. nothing else.
Other
4 stars 1 forks source link

L011 RAM size and blink rate #5

Closed jcw closed 6 years ago

jcw commented 6 years ago

The STM32L011K4 is the smallest µC with only 2 KB RAM. The current 4K setting in ld.stm32.basic does not work, changing it to 2K fixes this.

There is also another issue: the LED blinks way too fast. The datasheet says it starts up at 2 MHz, the STM32L0_CFLAGS line in boards.stm32.mk needs to be adjusted: with -DLITTLE_BIT=50000 instead of -DLITTLE_BIT=10000, things would be more in line with the rest.

karlp commented 6 years ago

yes, you were just so fast adding new boards :) The little bit timers definitely need some work for some of them, it's one of the reasons I'd like to move to systick down the road.

2K should be enough for the stackusage of the blinky anyway, I'll just drop it to 2k overall.

jcw commented 6 years ago

Ok. I'll just mentioned another aspect: I will use some of these blinkies to test an over-the-air wireless upload mechanism I'm working on. For debugging, I'm temporarily adjusting the .ld file to load to ram or high-flash, to verify that what comes in actually is the real thing (i.e. this boot loader will jump to what it just loaded and that should lead to a blinking LED). Once it works, the boot loader itself will be moved to high-flash, so that it can load normal images, and again I'll use these little blinkies as first test, now unmodified. My development setup uses two F103 Blue Pills for now.

All this to point out that for me, a systick version will only work if it doesn't use interrupts (I don't want to have to relocate the vector table while testing, there are enough unknowns and hurdles already...).

Sooo... it's not really relevant for miniblink, but FWIW, I'll probably stay with the delay loops if there will be interrupts involved with systick.