Dla produkowanych przez siebie mikrokontrolerów rodziny STM32 firma STMicroelectronics dostarcza programator/debugger ST-Link [1] oraz obsługujący go program narzędziowy o nazwie ST-Link Utility [2]. Podstawowym przeznaczeniem tego programu jest programowanie z poziomu komputera PC wewnętrznej pamięci Flash mikrokontrolerów STM32 oraz ustawianie ich bitów konfiguracyjnych zgrupowanych w tzw. Option Bytes. Na tym jednak nie kończą się możliwości programu ST-Link Utility. Oferuje on bowiem dodatkową, bardzo przydatną w praktyce konstruktora funkcję, jaką jest możliwość zapisu i odczytu w systemie zewnętrznych pamięci dołączonych do mikrokontrolera STM32. Funkcja ta kryje się w menu programu pod nazwą External Loader.
Obsługa zewnętrznej pamięci jest realizowana przez program ST-Link Utility w niezwykle interesujący sposób. Otóż program ten ładuje do pamięci SRAM mikrokontrolera kod maszynowy funkcji realizującej zadaną operację, np. odczytu danych z zewnętrznej pamięci. Następnie kod ten jest wykonywany przez mikrokontroler, a uzyskane w trakcie tego procesu dane są pobierane z mikrokontrolera przez program ST-Link Utility i prezentowane użytkownikowi na ekranie komputera PC.
Mechanizm ten jest na tyle uniwersalny, że może być użyty nie tylko do odczytu i zapisu pamięci, lecz także do obsługi innych dołączonych do mikrokontrolera układów, do których dostęp odbywa się przez zapis i odczyt rejestrów, czyli np. do zegara RTC. Jak nietrudno się domyślić, ładowany do pamięci SRAM mikrokontrolera kod, nazywany dalej sterownikiem pamięci zewnętrznej, jest w zasadzie specjalizowanym programem dla mikrokontrolera STM32, zależnym od typu mikrokontrolera, rodzaju i typu zewnętrznej pamięci oraz sposobu jej podłączenia do mikrokontrolera. W folderze ExternalLoader programu ST-Link Utility znajduje się kod sterowników realizujących obsługę pamięci zewnętrznych w produkowanych przez firmę STMicroelectronics zestawach rozwojowych mikrokontrolerów STM32. W przypadku, gdy konstruowany układ wykorzystuje moduł pamięci, który nie był stosowany w jednym z zestawów rozwojowych STM32 lub też pamięć ta jest inaczej podłączona niż w zestawie ewaluacyjnym, sterownik obsługi tej pamięci dla programu ST-Link Utility musi zostać napisany przez użytkownika. Zagadnienie tworzenia sterowników jest omówione w rozdziale 3.9 instrukcji obsługi programu ST-Link Utility. Niestety, opis ten jest dość skromny i ogranicza się zaledwie do kilkunastu zdań. Z tego też względu podjęto próbę zaprezentowania na przykładowym układzie z mikrokontrolerem STM32, jak wygląda pisanie takiego sterownika.