Revert to O1.
1. Put r0 in cobber list to avoid crash in O1 compile option.
2. Nested irq is still not supported now.  Disable irq in irq handler.
1. Remove irq hander attached. To save space, let _undefined_handler
   as default device irq handler by weak alias.
2. Use IRQ_HANDLER to implement used device irq(such as uart).
3. Move irq_init and irq_disable at beginning of main function.  It is
   to avoid unexpected irq happening.