本帖最后由 adam02 于 2011-9-23 22:13 编辑
多谢大家关注这个帖子,今天又添加了几个题,以后还会不断添加,谢谢!
1.C语言中在同一个源文件中,如果函数内部有一个局部变量和全局变量同名,那一个变量起作用?
答:局部变量。
2.操作系统中任务之间通信的方式有哪些?
答:信号量,邮箱等等。
3.占先式操作系统和非占先式操作系统的区别?DSP/BIOS,ucOSII是哪一种?
答:占先式,当前任务运行中如果有优先级更高的任务进入就绪态,当前任务立即将CPU交给优先级更高的任务。
非占先式:等当前任务执行完后再交给优先级更高的任务。
DSP/BIOS,ucOSII是占先式的操作系统。
4.C语言中Valatile关键字有什么用?
答:使用Valatile申明的变量是动态变量,每次使用这个变量的值时都必须从对应存储空间取出它的最新值,而不使用寄存器中的景象。
5.说明C6000系列DSP EDMA传输使用的Link方式和Chain方式有什么不同?
答:Chain方式是一个触发事件触发多次EDMA搬移,使用多个通道进行传输,一个传输通道完成后自动开始另一个传输通道的传输。
Link方式是多个触发事件触发多次EDMA搬移,只使用一个通道进行传输,一次搬移结束后,自动拷贝新的参数组覆盖原来的。传输参数,等下一个事件发生后,开始新的搬移。
6. 写DSP代码时,如何做一个模8的操作
答: b=a&7;
7. DSP和通用CPU相比,最大的区别是什么?
答:通用CPU采用冯.诺伊曼体系结构,程序和数据公用同一套总线。
DSP采用哈佛结构,程序和数据总线是分开的。
8. int const *p和 int * const p含义有什么不同?
答:int const *p 表示这个指针指向的值不可改变
int * const p 表示这个指针值不可改变,内容可变
9. 在中断服务程序当中,对于需要手工清除中断或时间的场景,是应该在退出中断时清,还是应该在进入中断时清?
答:推荐的做法是应该尽可能早地清除中断标志,然后做中断处理,处理完后可以再查询中断标志,直到无中断标志置位时退出。这样可以更加实时性的响应中断请求,并最大可能避免中断丢失。
10. 简单比较“堆”和“栈”的区别?
答:堆是程序中动态申请内存的地方。
栈是函数嵌套调用,中断,任务切换时保护现场时存储相关寄存器的地方。 |