system_init();
structrtc_calendar_time time;rtc_calendar_get_time_defaults(&time);time.year = 2012;time.month = 12;time.day = 31;time.hour = 23;time.minute = 59;time.second = 59;
configure_rtc_calendar();
structrtc_calendar_config config_rtc_calendar;rtc_calendar_get_config_defaults(&config_rtc_calendar);
alarm.time.year = 2013;alarm.time.month = 1;alarm.time.day = 1;alarm.time.hour = 0;alarm.time.minute = 0;alarm.time.second = 4;
config_rtc_calendar.clock_24h =true;config_rtc_calendar.alarm[0].time = alarm.time;config_rtc_calendar.alarm[0].mask = RTC_CALENDAR_ALARM_MASK_YEAR;
rtc_calendar_init(&rtc_instance, RTC, &config_rtc_calendar);
rtc_calendar_enable(&rtc_instance);
configure_rtc_callbacks();
rtc_calendar_register_callback(&rtc_instance, rtc_match_callback, RTC_CALENDAR_CALLBACK_ALARM_0);
rtc_calendar_enable_callback(&rtc_instance, RTC_CALENDAR_CALLBACK_ALARM_0);
rtc_calendar_set_time(&rtc_instance, &time);