首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说兑明和图、表,回答下列问题,将解答填入答题纸的对应栏内。 【说明】 某车载导航系统的结构如图1一1所示,由导航处理系统和显示系统两部分组成。导航处理系统安装在某型车的设备区,显示系统安装在某型车的前方,便于驾驶员观看和操作。
阅读下列说兑明和图、表,回答下列问题,将解答填入答题纸的对应栏内。 【说明】 某车载导航系统的结构如图1一1所示,由导航处理系统和显示系统两部分组成。导航处理系统安装在某型车的设备区,显示系统安装在某型车的前方,便于驾驶员观看和操作。
admin
2013-01-19
57
问题
阅读下列说兑明和图、表,回答下列问题,将解答填入答题纸的对应栏内。
【说明】
某车载导航系统的结构如图1一1所示,由导航处理系统和显示系统两部分组成。导航处理系统安装在某型车的设备区,显示系统安装在某型车的前方,便于驾驶员观看和操作。
导航处理系统由主处理机模块、电子盘模块、信号处理模块和电源模块组成,主处理机模块执行电了地图功能、导航控制功能等,生成的导航显示画面通过信号线在LCD液晶彩色显示屏显示给驾驶员;信号处理模块处理外部采集数据,将处理后的数据通过内部总线传输给主处理机模块;电子盘模块存储电子地图数据及导航数据。
显示系统由LCD液晶彩色显示屏、面板键盘(门定义键盘)和电源模块组成,主要是显示导航画面,也可通过面板键盘进行导航控制。
主处理机模块与信号处理模块间通过双端口存储器进行数据交换。李工设计时,将双端口存储器空间划分为两个缓冲区,两个缓冲区分别交替地接收信号处理机传输来的最新数据,然后按数据块方式提供给用户程序使用。
假设每个缓冲区的大小为512 KB,将512 KB数据写入当前空闲缓冲区接口服务为Write Buffer,将当前有效的512 KB数据读出缓冲区的接口服务为Read Buffer,假设双端口存储器中不提供硬件信号量,两个缓冲区间的互斥操作由软件标记实现,软件对双端口存储器的单次操作(读写一个字的操作)为原子操作。
下面是用C语言设计的一组对双缓冲区的管理程序代码,请填补该程序代码中的空缺,将答案填写在答题纸上。
int*BufferFlag[2]; /*0表示无有效数据,0xff表示有新数据 */
int*Mutex[2]; /*软件锁,0表示末锁定,0xff表示锁定 */
int Read_Buffer(int id,char *data); /* 从缓冲区读数据,用于数据处理模块,id表示缓冲的序列号,0表示缓冲区1,1表示缓冲区2,data为存放读取数据的缓冲,返回值表示读取到有效数据的长度*/
void write_Buffer(int id,char *data); /* 向缓冲区写数据,用于信号处理模块,id表示缓冲的序列号,0表示缓冲区1,1表示缓冲区2,data为待写入数据的缓冲*/
int INIT_PPC(){/*数据处理模块端的初始化,缓冲区起始地址为0xffffc000。*/
BufferFlag=(int*)0xffffc000;
Mutex= (int*)0xffffc010;
*BufferFlag[0]=0;
*BufferFlag[1]=0;
*Mutex[0]=0;
*Mutex[1]=0;
return(0);
}
int PPC_Read_Data(char*Data)( /* 数据处理模块读数据程序段*/
int len=0;
if((!(*BufferFlag[0]))&&(!(*BufferFlag[1]))){
return(0); /*无新数据*/
}
if(*BufferFlag[0]){
if (
(1)
){
*Mutex[0]=0xff;
len=Read Buffer(0,Data);
*BufferFlag[0]=0x00;
(2)
;
}
}
else{
if(*BufferFlag[1]){
if(!(*Mutex[1])) {
*Mutex[1]=0xff;
(3)
;
*BufferFlag[1]=0x00;
*Mutex[1]=0x00;
}
}
}
return(len);
}
int DSP_Write_Data() {
/*信号处理模块鸯数据程序段,初始化与数据处理模块端类似,同样以BufferFlag表示与数据处理模块端的对应的标志,即两端操作的是相同的地址空间; 同样Mutex也表示与数据处理模块端的对应的软件锁,即两端操作的是相同的地址空间。这里就略去双口在DSP上的起始地址说明和初始化部分。*/
char Data[1024*512];
while(1) {
//等待信号处理模块产生新的数据并存入数据缓冲Data中;
if (!(*Mutex[0])) {
*Mutex[0]=0xff;
Write_Buffer(0, Data);
*BufferFlag[0]=0xff;
*Mutex[0]=0x00;
}
else if (!(*Mutex[1])) {
*Mutex[1]=0xff;
Write_Buffer(1, Data);
*BufferFlag[1]=0xff;
*Mutex[1]=0x00;
}
}
renurn(0);
}
选项
答案
(1)!(*Mutex[0])或者*Mutex[0]==0x00或者*Mutex[0]==0 (2)*Mutex[0]=0x00或者*Mutex[0]=0 (3)len=Read Buffert(1,Data)
解析
本题考查嵌入式系统中的C程序设计,要求考生正确使用软件锁。
在本题中主处理机模块与信号处理模块间通过双端口存储器进行数据交换。由信号处理模块发送数据,主处理机模块接收数据。
在本题中给出了很多假设条件,如将双端口存储器空间划分为两个缓冲区,两个缓冲区分别交替地接收信号处理机传输来的最新数据;再如假设双端口存储器中不提供硬件信号量,两个缓冲区间的互斥操作由软件标记实现,软件对双端口存储器的单次操作(读写一个字的操作)为原了操作。同时本题也给出了软件程序的架构,BufferFlag为缓冲区有无新数据的标志,Mutex为软件锁。
在数据处理模块端的初始化程序INIT PPC()中,、BufferFlag和Mutex被分配在缓冲区的前端,并被初始化为无数据和未锁定。
信号处理模块写数据程序DSP_Write_Data()中,初始化与数据处理模块端类似,同样以BufferFlag表示与数据处理模块端的对应的标志,即两端操作的是相同的地址空间;同样.Mutex也表示与数据处理模块端的对应的软件锁,即两端操作的是相同的地址空间。信号处理模块写数据程序DSP_Write_Data()是一个无限循环程序,在等待信号处理模块产生新的数据,之后就将数据写入双缓冲Data中。具体过程如下:
1)循环等待新数据;
2)如果缓冲区0未被锁定,则:
(1)缓冲区0加锁;
(2)写数据到缓冲区0;
(3)标记缓冲区0未有数据:
(4)缓冲区0解锁。
3)如果缓冲区0已被锁定,则对缓冲区1重复上述步骤。
在数据处理模块端读数据程序PPC_Read_Data()首先判断双缓冲有无数据,如果缓冲区0有数据,再判断缓冲区0是否加锁,如果未加锁,则先加锁,再读数据,再解锁。对缓冲区1同样如此处理。
转载请注明原文地址:https://kaotiyun.com/show/OhWZ777K
本试题收录于:
嵌入式系统设计师下午应用技术考试题库软考中级分类
0
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
在下列机制中,(23)________________是指过程调用和响应调用所需执行的代码在运行时加以结合;而(24)________________是过程调用和响应调用所需执行的代码在编译时加以结合。
下表中两个事务的调度带来的问题是(54)________________。
以下对存储过程的叙述中,不正确的是(53)________________。
耦合是模块之间的相对独立性(互相连接的紧密程度)的度量。耦合程度不取决于(25)________________。
对有n个结点、e条边且采用数组表示法(即邻接矩阵存储)的无向图进行深度优先遍历,时间复杂度为(10)________________。
在索引改进中,一般的调整原则是:当(62)是性能瓶颈时,则在关系上建立索引;当(63)是性能瓶颈时,则考虑删除某些索引;管理人员经常会将有利于大多数据查询的所以设为(64)。(62)
(16)是构成我国保护计算机软件著作权的两个基本法律文件。单个自然人的软件著作权保护期为(17)。(17)
某本科髙校新建教务管理系统,支撑各学院正常的教学教务管理工作。经过初步分析,系统中包含的实体有学院、教师、学生、课程等。考虑需要将本科学生的考试成绩及时通报给学生家长,新增家长实体;考虑到夜大、网络教育学生管理方式的不同,需要额外的管理数据,新增进修学
给定关系模式如下,学生(学号,姓名,专业),课程(课程号,课程名称),选课(学号,课程号,成绩)。查询所有学生的选课情况的操作是(36);查询所有课程的选修情况的操作是(37)。(37)
以下关于系统原型的叙述中,不正确的是()。
随机试题
串行通信分为同步和________两种形式。
某民营企业的老板通过学习有关激励理论,受到很大启发,并着手付诸实践。他赋予下属员工更多的工作和责任,并通过赞扬和常识来激励下属员工。结果事与愿违,员工的积极性非但没有提高,反而对老板的做法强烈不满,认为他是在利用诡计来剥削员工。请根据所学习的有关激励等理论
Idon’tthinkyoucanworkoutthemathsproblem______theteacher’shelp.
为预防甲亢术后出现甲状腺危象.最关键的措施是
A.未取得麻醉药品和第一类精神药品处方资格的执业医师,擅自开具麻醉药品和第一类精神药品处方的B.未取得药学专业技术职务任职资格的人员从事处方调剂工作的C.未按规定保存麻醉药品和精神药品专用处方或未依规定进行处方专册登记的D.处方调配人、核对人违反规定
肺结核痊愈的表现为
甲计划将其与乙已签订的合同进行变更,下面说法正确的是()。
行业兴衰的实质是行业在整个产业体系中的地位变迁,一个行业的兴衰会受到()等因素的影响而发生变化。
阅读课文,回答问题。伯牙善鼓琴,钟子期善听。伯牙鼓琴,志在高山,钟子期曰:“善哉,峨峨兮若泰山!”志在流水,钟子期曰:“善哉,洋洋兮若江河!”伯牙所念,钟子期必得之。子期死,伯牙谓世再无知音,乃破琴绝弦,终身不复鼓。依据设定的教学目
研究者发现细菌就像人类的简化版本,它们有自我意识,有自己的语言.群居,既交友也树敌,喜欢偷窥邻居家的隐私,还能以讹传讹,甚至杀害手足。各种细菌在自己的地盘上各司其职,相互配合,促进社会的稳定。如果以下各项为真,最能质疑上述论断的是()。
最新回复
(
0
)