日志档案

发表于 2008-5-2 9:44:22

0

标签: 无标签

Do you know about embeded system

 1. 一个嵌入式系统从软件的角度看通常可以分为哪几个层次?试解释之。

在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux
统从软件的角度看通常可以分为四个层次:
1.
引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loade r 两大部分。
2.Linux
内核。特定于嵌入式板子的定制内核以及内核的启动参数。
3.
文件系统。包括根文件系统和建立于 Flash 内存设备之上文件系统。通常用 ram d
isk
来作为 root fs
4.
用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会
包括一个嵌入式图形用户界面。常用的嵌入式 GUI 有:MicroWindows MiniGUI 等。


2. 
请画出你熟悉的嵌入式系统物理内存映像(Memory Map)并作解释。


3. Linux Kernel
C代码入口函数是什么?试简述其功能。
4. 
列举你熟悉的Gcc编译选项并作解释。
5. a
)下面的代码输出是什么,为什么?
  void foo(void)
  {
  unsigned int a = 6;
  int b = -20;
  (a+b>6)?puts(">6"): puts("<=6");//puts为打印函数
  }
  b)运行下面的函数会有什么结果?为什么?
  void foo(void)
  {
  char string[10],str1[10];
  int i;
  for(i=0;i<10;i++)
  {
  str1 [ i ] = 'a'; 
  
  strcpy(string, str1);
  printf("%s",string);
  }

6. 
编写strcpy函数
  已知strcpy函数的原型是
  char *strcpy(char *strDest, const char *strSrc);
  其中strDest是目的字符串,strSrc是源字符串。
  a)不调用C++/C的字符串库函数,请写出函数strcpy
  b)strcpy能把strSrc的内容复制到strDest,为什么还要char* 类型     的返回值?

系统分类: 软件开发   |   用户分类: ARM   |   来源: 转贴   |   【推荐给朋友】

    阅读(155)    回复(0)  

投一票您将和博主都有获奖机会!