分享
 
 
 

学习ARM开发(19)

王朝other·作者佚名  2006-03-02
窄屏简体版  字體: |||超大  

使用TICK中断

经过许多天的努力,总算可以使用中断了,但为了让RTOS可以使用定时中断,那么在S3C44B0里有什么样的中断可以实现呢?在S3C44B0里有两种方法可以实现这样中断,一种是通过定时器中断,一种是通RTC的TICK定时中断。由于S3C44B0片内已经有提供给RTOS的中断,就应使用它作为RTOS的中断,这样可以使时间片跟RTC时钟是时间同步。RTOS调度任务是通过设置时间片中断实现的。当时间片到达时,就向CPU发出中断信号,CPU就会把当前任务状态保存下来,然后转到中断进程运行,并且在中断里放着的是进行优先选择运行任务的程序,接着从中断返回时就可以运行不同的任务了。既然这个中断那么重要,就需要详细地了解TICK中断实现。

S3C44B0的内部有一个实时日历时钟(RTC)单元,它只需要外接一个32.768kHz的晶振即可工作。当然要对它进行编程初始化才能工作的,下面就来看看是怎么样初始化的。

首先,通过RTCCON寄存器的第0位来表示要“读”还是“写”RTC的寄存器。当设置第0位为1时,就允许读写所有寄存器。当设置第0位为0时,就只允许读,不允许写所有寄存器。

其次,通过TICNT寄存器来控制产生TICK中断。这个寄存器的第7位是表示是否启用TICK中断。当启用时,就设置为1。第0到6位表示中断计数值,要多久才中断,是通过下面的公式计算得到的:

时间片 = (n+1)/128 秒,

其中n是需要设置的数值,它的范围是从1到127。

从上面的公式可以看出来,当设置n值越大时,时间片就越大,当设置为127时,就时一秒钟中断一次了。设置为最小值1时,就是15.625ms。

最后,下面这段程序就是设置TICK中断,这样就要以供RTOS使用了。

///////////////////////////////////////////////////////////////////////////////

//函数名称: TickIntEnable

//函数功能: 打开Tick中断。

//输入参数: nTickCount---分频系数。

//输出参数:

//返 回 值:

//开发人员: 蔡军生

//时 间: 2006/02/13

//修改说明:

//

///////////////////////////////////////////////////////////////////////////////

void TickIntEnable(unsigned int nTickCount)

{

//

I_ISPC |= (unsigned int)0x01 << 20;

//

//清除屏蔽位。

INTMSK &= ~(BIT_GLOBAL|BIT_TICK);

RTCCON = (unsigned char)1;

TICINT = (unsigned char)(nTickCount | 0x80);

RTCCON = (unsigned char)0;

}

如果中断寄存器已经设置好,那么这个RTOS的时间片中断,就已经可以工作了。接着最重要的工作,就是怎么样在中断子程序里进行RTOS的任务切换,这个比较复杂,需要很长时间去了解和实验,并且要对ARM的汇编比较好。这个时间片设置长短,也跟不同的应用有关系的,如果需要快速实时的中断,就需要设置它短一点,这样检查任务切换就及时一点,但也有一个坏处,就是浪费在任务切换上的CPU资源比较多。如果任务调试不需要太及时,就可以设置大一点,这样浪费在任务切换上的CPU资源就减少了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有