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
标签: 无标签
来源: 转贴
发表评论 阅读全文(182) | 回复(0)

0

关于投票
About array and pointer

对于数组来说,他的第一个元素标号是整个数组存储的首地址,所以对他取地址和不取地址都代表数组的起始地址。

而对于指针来说,对标号取地址是取指针的物理地址,而标号对应的是指向的数据的地址。所以标号取地址的值是恒定的。而标号对应的指向的数据的地址会改变。
系统分类: 软件开发
用户分类: software
标签: 无标签
来源: 原创
发表评论 阅读全文(160) | 回复(0)

0

关于投票
code and document related
code的目录下需要有code相关的文档。或者 使用什么方法可以让codedocument相关联呢 ?因为我总是需要用很长的时间去理解别人的code,甚至这时我还把流程图等都已经画完了,才理解这些code。这是比较浪费时间的事情。 如果随着软件的复杂度越来越高,那么我的阅读code的效率会越来越低。没有人愿意被code淹死。
系统分类: 软件开发
用户分类: software
标签: 无标签
来源: 原创
发表评论 阅读全文(110) | 回复(0)
总共 , 当前 /