MCU
Материал из fidoman.ru
cam
ESP32-CAM OV2460
links
Lightweight C compilers http://fun4diy.com/
STM8
compilers comparation http://www.colecovision.eu/stm8/compilers.shtml
startup
- Power requirements: 3.3-5V
- Reset circuit (100nF cap)
- Select clock source (ext.crystal/HSI)
- Choose halt modes for
- flash
- HSI, HSE
- use timer or AWU for wake-up if no ext.ints
- calibrate LSI osc.
- configure GPIO
- use watchdog
AWU
- on int disable AWU (or new int will be generated instantly)
- before re-enable re-load counter
UART
- word length: UART_CR1.M - stop bits: UART_CR3 - baud rate: UART_BRR2 then UART_BRR1 - en transmitter: UART_CR2.TEN - send data: UART_DR and wait until TC goes 1
TXE: set at end of transmission (and if TIEN then int is generated) - can send more
TC: transmission complete (and if TCIEN then int is generated) - may disable transmitter
jobs
MAYHALT - semaphore, must be incremented on start of each no-halt process e.g. UART TX syssleep func:
check for mayhalt if zero halt if not wfi loop if no jobs else get toppest by pri and start
sysjobs:
populated with int handlers, address of jobs to run (with associated data ptr)
?sysqueues: ? if smth is put on it, associated job is created by system