- use a custom crt0 to allow overriding __heap_size and __linear_heap_size - add a setting for maximum heap size. unallocated memory can be freely mapped by the core. - add better detection of the extra memory available when running from the HBL.