OpenStreetMap on embedded system


I am new to OSM. Recently I have started working on the project where I need to use GPS on my embedded system. What I need to do is read vector map from SD card, parse it with STM32 and display on small 2,6inch TFT display. I think maximum fize size (for example Europe map) shouldn’t exceed 500MB, so I need to extract most needed data from origin map. I was thinking to use at first .pbf files but recently I found out that garmin has it’s own file system and I am getting lost a bit. Can you lead me a bit? What should be easiest to parse in this project? Maybe there is some software which I can use to export for example only elements related to roads etc.