Bootloader must be written in internal STM32 flash memory. It is no OS bare metal program with simple utils for system control and execute main firmware in SDRAM (based on FreeRTOS or linux).
Implementation plan (July - August):
1. Fix issue with my china usb->uart based on cp2102 (need to re solder chip)
2. Develop VT100 terminal emulator for supporting utils executing (with direct calls main routines of application)
3. Develop compact dynamic memory allocator in SDRAM (maybe based on FreeRTOS model 4 allocator)
4. Adding support of my FAT32 FS driver (supporting only read operation)
4.b. Realization loader of binary files from SD card. Led blink test program.
5. Write utils for control:
5.1. FAT FS file system (ls, cat, rm, du)
5.2. i2c devices (read, write and search devices on i2c bus)
5.3. power controller (enable/disable phases, set up and check voltages)
5.4. boot nand of FPGA (write/read/verify operations)
5.5. frame buffer and LTDC module configuration (util must load BMP pictures from SD card and showing it on LCD)
6. Program booting NAND flash of ESP8266 (maybe need to re solder chip on PCB for connect it to NodeMCU devkit)
7. Write basic util for GSM modem control (init, get rssi/snr/status, make calls)
8. Write basic util for control of ESP8266 (init, connect to AP, show list of APs), be called as "wctl"
9. Upgrade FAT32 FS for supporting write operations (same add cp util)
10. Upgrade "wctl" for download files from FTP to SD card
11. ELF loader (September)