一般我们所说的“千年虫问题”是指在20世纪末期,人们担心计算机系统将年份“00”解释为1900年,而不是2000年,从而导致计算错误。
而S3C2410由于一个计数器只能记录两位BCD码,比如1900年和2000年均记录为00,导致时间的混淆,所以RTC通过硬件支持,将00默认为2000年,而非1900年。
有了硬件的逻辑支持,闰年产生器就可以顺利的依据年份和月份产生相应的每月的天数
这张硬件图可以帮大家更好理解这个过程,其实闰年产生器是接受DAY\MONTH\YEAR三个寄存器的值,输出相应的DATE值。