概述
如果说让我做上层软件的工作,我做起来可以得心应手,但是让我做平台方面的工作(系统问题解决、驱动编写、软件移植等工作),确实不熟悉。所以很多问题都是摸着石头过河,没有经验。许多问题在有经验的朋友那里是小菜一碟,而放在我面前总是如遇大山。不免被嘲笑为“弱鸡”~
最近我在做基于 Realtek 芯片RTL8196E的家庭网关的研发工作。Realtek提供了一个Linux的SDK开发环境。由于硬件上没有RTC,所以其中Linux的系统(下面简称为RTLinux)时钟是不正确的。需要时间同步。这个我从busybox中集成了ntpd便可。但是,我发现就算是同步好了时间,在执行 date 命令输出的时间时区都不对。
我在网上找了许多Linux系统设置时区的办法。从部分是:将 /usr/share/zoneinfo/Asia/Shanghai 符号链接为 /etc/localtime 便可。我在自己的PC机Linux(下面简称为PCLinux)上尝试,果然奏效。而同样的方法运用到 RTLinux 却没有一点效果。
这是博主想抱怨两句:网上找到的资料大多是告诉你怎么怎么去做就能达到什么目标,而没有说明为什么要这么做,它内在的原理是什么。如果不知道为什么,那么一旦发生一点变化,就无法变通了。
经博主研究,解决上面问题的办法有两种:
设置 /etc/TZ 文件,在该文件中指明时区
设置 TZ 环境变量
若读者不想深究其原因,那后面的内容便不必再看了。
博主先是发现了 /etc/TZ 这个文件看似时区的意思,其内容为: PST8PDT7,不知道是什么意思。尝试改改它。
到busybox里去找找 "/etc/TZ",看是谁ÿ
最后
以上就是腼腆戒指为你收集整理的嵌入式linux 时间同步,解决嵌入式Linux中的时区问题的全部内容,希望文章能够帮你解决嵌入式linux 时间同步,解决嵌入式Linux中的时区问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复