{"action":"created","issue":{"url":"https://api.github.com/repos/NETMF/netmf-interpreter/issues/174","labels_url":"https://api.github.com/repos/NETMF/netmf-interpreter/issues/174/labels{/name}","comments_url":"https://api.github.com/repos/NETMF/netmf-interpreter/issues/174/comments","events_url":"https://api.github.com/repos/NETMF/netmf-interpreter/issues/174/events","html_url":"https://github.com/NETMF/netmf-interpreter/issues/174","id":88848813,"number":174,"title":"STM32F4Discovery: Remove buttons driver from TinyBooter","user":{"login":"cw2","id":10730406,"avatar_url":"https://avatars.githubusercontent.com/u/10730406?v=3","gravatar_id":"","url":"https://api.github.com/users/cw2","html_url":"https://github.com/cw2","followers_url":"https://api.github.com/users/cw2/followers","following_url":"https://api.github.com/users/cw2/following{/other_user}","gists_url":"https://api.github.com/users/cw2/gists{/gist_id}","starred_url":"https://api.github.com/users/cw2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cw2/subscriptions","organizations_url":"https://api.github.com/users/cw2/orgs","repos_url":"https://api.github.com/users/cw2/repos","events_url":"https://api.github.com/users/cw2/events{/privacy}","received_events_url":"https://api.github.com/users/cw2/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-06-16T21:50:15Z","updated_at":"2015-06-17T16:43:43Z","closed_at":null,"body":"It seems to be unnecessary to link the Buttons driver in TinyBooter project. The [only] user button could be handled by simple 'get pin state' during startup, but even that is questionable: the same functionality, i.e. switching to bootloader mode can be achieved via MFDeploy command \"Reboot and Stop\" (a little bit unfortunate translation of \"Connect to TinyBooter\") and flashing the firmware via NETMF bootloader has to be done from MFDeploy anyway.\r\n\r\nOtherwise, onboard ST-LINK or STM32 ROM bootloader can be used to flash both NETMF bootloader and firmware, so the user button is not needed too in this scenario.\r\n\r\n_This also saves a few bytes, with a little bit more size optimizations, the bootloader could hopefully fit into 32 KB._"},"comment":{"url":"https://api.github.com/repos/NETMF/netmf-interpreter/issues/comments/112872783","html_url":"https://github.com/NETMF/netmf-interpreter/issues/174#issuecomment-112872783","issue_url":"https://api.github.com/repos/NETMF/netmf-interpreter/issues/174","id":112872783,"user":{"login":"smaillet-ms","id":8934567,"avatar_url":"https://avatars.githubusercontent.com/u/8934567?v=3","gravatar_id":"","url":"https://api.github.com/users/smaillet-ms","html_url":"https://github.com/smaillet-ms","followers_url":"https://api.github.com/users/smaillet-ms/followers","following_url":"https://api.github.com/users/smaillet-ms/following{/other_user}","gists_url":"https://api.github.com/users/smaillet-ms/gists{/gist_id}","starred_url":"https://api.github.com/users/smaillet-ms/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smaillet-ms/subscriptions","organizations_url":"https://api.github.com/users/smaillet-ms/orgs","repos_url":"https://api.github.com/users/smaillet-ms/repos","events_url":"https://api.github.com/users/smaillet-ms/events{/privacy}","received_events_url":"https://api.github.com/users/smaillet-ms/received_events","type":"User","site_admin":false},"created_at":"2015-06-17T16:43:43Z","updated_at":"2015-06-17T16:43:43Z","body":"Almost completely agree with both views here. In general, there are a lot of libraries pulled in to applications that really aren't needed and can't be linker optimized out since there's an InitializeXXX call of some sort in the startup path that keeps it in. As we think through working on top of CMSIS, the upcoming mBed 3.0m or any other existing runtime we need to re-evaluate how we handle the componentization better so that component libraries can be completely removed (without neededing to plug in a stub!) when not needed. "}}