我的C程序需要有关嵌入式Linux上闪存和闪存类型总大小的信息。我可以在内核启动时看到这些信息,但找不到任何其他方法来获取它们。这有可能吗?
答案 0 :(得分:1)
你有/ proc / meminfo吗?这会为您提供所需的信息吗?
答案 1 :(得分:1)
我认为您的Linux内核是2.6更新,您可以检查/ proc / mtd ***以获取一般信息。
如果还不够,请查看mtd-tools的源代码:mtdinfo.c
检查那些print_XXXX_info函数。 您还需要一些外部库来实现这一目标。
mtd接口的内核api偶尔会发生变化,所以请确保你的内核版本正确。
答案 2 :(得分:0)
是的。可以使用linux的dmidecode实用程序。这是示例代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[100] = "dmidecode | grep -i 'ROM Size'";
system(str);
return 0;
}
它会给你ROM大小,如果你没有grep的ROM大小,那么它也提供其他BIOS信息。如果您的嵌入式Linux没有Dmidecode实用程序,那么您可以从here获取源代码。您还可以分析dmidecode源代码的一部分,该代码提供ROM信息,以防您不想使用系统命令而不想挖掘其他BIOS信息。
答案 3 :(得分:0)
查看内核和/或引导加载程序源,看看它在引导时是如何做到的。该方法可能特定于您的硬件。