任外史下大夫。调任卫王宇文直友，历任汉东郡太守、南陈郡太守。560年，周武帝即位，召为露门学士，与太史官参与制定新历。受位仪同三司，累进司调大夫、受爵历城县伯。581年、隋朝建立，担任太子内舍人，转任率更令，进爵为侯。太子杨勇以老师之礼待他。他和太常牛弘修定礼乐，王朝典故多所裁正。594年，以病退休、加位通直散骑常侍。开皇十四年四月十日（594年5月5日）去世，虚岁七十三，岁在甲寅十月癸亥朔廿三日甲申（594年11月11日）葬于雍州大兴县义善乡洪原里。着有《孝经义疏》1部、《古今帝代记》1卷、《文类》4