原创
Do you know about embeded system
2008-5-2 09:44
2259
7
7
分类:
软件与OS
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* 类型 的返回值?
文章评论(0条评论)
登录后参与讨论