哪位仁兄帮忙做下啊 会多少做多少 关于嵌入式应用的 谢谢啦!

来源:百度知道 编辑:UC知道 时间:2024/07/02 19:42:19
1、 什么是嵌入式系统?嵌入式系统的核心是什么?介绍常见的处理器的类型(12’)。

2、 嵌入式系统的组成是什么?画出嵌入式系统的一般架构图(10’)。

3、 基于ARM平台的嵌入式Linux系统开发的步骤是什么(10’)?

4、 在Makefile文件中,特殊符号$@、$*、$?、$^和$<分别代表什么(10’)?

5、列写嵌入式Linux根文件系统的基本目录结构和目录的主要存储对象。且说明哪些是必须的目录(14’)。

6、 分析如下Hello World程序的各个语句加上注释(16’)。
#include <linux/init.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
MODULE_LICENSE(“Dual BSD/GPL”);
static char *who = “world”;
static int times = 1;
module_param(times,int,S_IRUGO);
module_param(who,charp,S_IRUGO);
static in hello_init(void)
{
int i;
for (i=0,i<times,i++)
printk(KERN_ALERT “(%d) Hello, %s!/n”,I,who);
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT “Goodbye, %s!/n”,who);
}
module_init(hello_init);
module_exit(hello_exit);
7、 上述内核程序经过编译后生成hello和hello.o的基于ARM体系的可执行文件,将这些可执行文件下载到开发板后,执行如下命令后的执行结果是什么(12’)?
#

6。这是一个简单的驱动例程,没有实际的意义。
我改了一下,能让它在2.6内核上跑:
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>//这3行是必须的
#include <linux/moduleparam.h>//对应于下面用到module_param

static char *who = "world";
static int times = 1;//这2行是默认的参数
module_param(times,int,S_IRUGO);
module_param(who,charp,S_IRUGO);//这两行参数在加载到内核的时候可以用到的参数。
static int hello_init(void)//入口参数,也就是insmod hello.ko是运行的函数。
{
int i;
for (i=0;i<times;i++)
printk(KERN_ALERT "(%d) Hello, %s!\n",i,who);
return 0;
}
//下面是模块卸载时运行的函数,也就是rmmod hello.ko时运行的函数
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, %s!\n",who);
}
module_init(hello_init);//驱动接口
module_exit(hello_exit);
MODULE_LICENSE("Dual BSD/GPL");//license消息

7。
# insmod hello who =”world” times=5的执行结果为:
(0) Hello, world!
(1) Hel