- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I write a very simple program, driving LED through PIO. Both function can work. If using main() , the code size is 1940 bytes. If alt_main(), the code size is 472 bytes. It seems that main() include some initialization.
Can anyone explain the difference, or recommend some documents to read? Thanks.Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Actually it is the default alt_main() that contains the extra code - either side of the call to main().
Largely this is code for initialising stdio for printf() - which pulls in a lot of library code.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi sabertooth
I copy here the comment to alt_main() definition /* * alt_main is the C entry point for the HAL. It is called by the assembler * startup code in the processor specific crt0.S. It is responsible for: * completing the C runtime configuration; configuring all the * devices/filesystems/components in the system; and call the entry point for * the users application, i.e. main(). */ Regards- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Many thanks to Cris72.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page