saving_flash_space

This is an old revision of the document!


  • Remove string duplication (search binary with string utility to find out how much space you can save)
  • Use integer error codes rather than showing error strings
  • Literal pool usage reduction
    • e.g. when going from ARM to Thumb
    • group globals into structures
  • .sinit usage (construct instead simple global structs)
  • selectively enable optimization for some files
  • refactoring duplicate code
  • reduce usage of standard library functions

assertions

#define ASSERT(expr) \
  if (expr) \
      {} \
  else \
      aFailed(F_NUM, __LINE__) 
      

trap() { #ifndef NDEBUG #define _BKPT __ASM(“bkpt 0″) while(1); #endif }

http://blog.feabhas.com/2013/02/developing-a-generic-hard-fault-handler-for-arm-cortex-m3cortex-m4/

http://blog.frankvh.com/2011/12/07/cortex-m3-m4-hard-fault-handler/

  • saving_flash_space.1413152348.txt.gz
  • Last modified: 12 years ago
  • by admin