Wpis z mikrobloga

#programowanie #cpp #arm #kompilacje

Problem jest taki, że do uC mogę sobie załadować program tylko do SRAM'u. Wypadałoby wrzucić tam jakiś loader tu nie ma problemów. Ale chciałbym wzbogacić pamięć/program o jakąś nową funkcję. Ale tylko jedną. Jak skompilować program bez main? Skąd wziąć kod wynikowy tej jednej przykładowej funkcji? Bo z zapisem we flashu to nie będzie problemu. Chyba wiecie o co chodzi?

Macie jakieś sugestie/poradniki/jakąś mądrą książkę?
  • 2
@Analityk: kompilacja nie wymaga main - dopiero linkowanie szuka tej funkcji (np. na linuksie generowany jest punkt wejścia

_start
, który linkuje do

main
), tak więc flaga

-c
dla clanga/gcc wystarczy aby dokonać samej kompilacji. Moƶesz teƶ wygenerować kod asm (

-S
dla gcc/clanga) i asemblować/linkować ręcznie. Ewentualnie podlinkuj jako bibliotekę, chociaƶ nie wiem jak bardzo to sensowne na µc.