- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式C考核试题
编写:
填空:
4分
char str[ ]= hello;
char *p=str;
int n=10;
sizeof(str)=____________________
sizeof(p)= ____________________
sizeof(n)= ____________________
void func(char str[100])
{
sizeof(str)= ____________________
}
注明你的答案是基于____________CPU和__________编译器。
10分
int *func1(void)
{
int a = 3;
return a;
}
int *func2(void)
{
static int a = 3;
return a;
}
void func3(int *b)
{
*b = 4;
}
main()
{
int *p, *q;
p = func1();
q = func2();
printf(%d %d\n, *p, *q);
func3(p);
func3(q);
printf(%d %d\n, *p, *q);
p = func1();
q = func2();
printf(%d %d\n, *p, *q);
}
三处打印的结果分别是_________________, __________________, __________________。
简答,并说明原因
4分
指针在任何情况下都可进行, , =, =, = =运算?
4分
char s;
s的取值范围是0~255吗?
4分
如下结构体的长度是多少?
struct a
{
char c1;
int c2;
};
8分
void getmemory(char **p, int num)
{
*p=(char *) malloc(num);
}
void test(void)
{
char *str=null;
getmemory(str,100);
strcpy(str,hello);
printf(“%s”,str);
}
printf(str)的结果是___________________,为什么?请描述程序执行过程。
编程:
12分
假设有一个寄存器,地址位于0x100000, 其0~31为分别用于使能或者禁止如下中断(为1使能,为0禁止):
0 SPI
1 I2C
2 LCD
3 NAND
11 NOR
试编写C代码实现如下接口:
(1)使能/禁止某一号中断
(2)在SPI,I2C,NAND模块中使能或者禁止本身的中断
为实现上述功能创建一个工程目录,本题答案直接提交工程目录和C代码和H文件。
12分
编写一个命令解析器函数cmd_parse(),可以接受cmd1, cmd2, cmd3, cmd4至cmd10,每一个命令接收到后,分别调用函数cmd1_ops(), cmd2_ops(), cmd3_ops()至cmd10_ops()。要求该命令解析器具有很好的可扩展性。
为实现上述功能创建一个工程目录,本题答案直接提交工程目录和C代码和H文件。
12分
一个工程包含如下文件,这些文件位于同一个目录:
board_a.c(板子a的硬件初始化)
tcp.c ip.c udp.c socket.h
nand_driver.c
nand_interface.h (含nand读写函数声明)
spi_driver.c
spi_reg.h(SPI寄存器的宏定义)
spi_interface.h(含SPI读写接口)
一些被各模块共享的数据函数,位操作函数:
math.c math_interface.h
bitops.c bitops_interface.h
试考虑重新规划该工程的目录组织,文件的存放位置,以及文件的命名。
工程实践
15分
从公司产品(包括后台、保护装置、调试台、调试代码)中,找出一段你认为可以改进的代码,最好是自己工作相关的代码,进行重构,并说明理由。
代码直接提交,理由在这里书写。
15分
从自己熟悉的嵌入式CPU中,找一个包含流水线的CPU,以该CPU为例简述流水线的作用,以及在编程中,如何充分利用流水线以提高性能。
深圳南瑞科技有限公司
文档评论(0)