linux 内核 睡眠,linux内核对S3C2410睡眠模式的支持有哪些?

一、S3C2410支持4种供电模式

(1)NORMAL MODE

耗电最大、可以通过关闭具体控制器的时钟来节电

(2)SLOW MODE

在此模式下可以没有内部PLL,耗电情况依赖于外部时钟的频率

(3)IDLE MODE

FCLK被关断,主要由于CPU core节电。

可以任何通过外部中断唤醒

(4)Power_OFF MODE

除了处理器唤醒逻辑单元外,处理器不损耗任何电量。可以通过EINT[15:0] 或 RTC alarm interrupt唤醒系统

二、S3C2410各种节电模式的进入

(1)慢速模式(SLOW)

CLKSLOW的SLOW_BIT置1进入

(2)空闲模式(IDLE)

CLKCON[2]被置1则进入

(3)掉电模式(Power_OFF)

CLKCON[3]置1进入

三、S3C2410进入掉电模式前的准备工作

1、为掉电模式设置合理的GPIO

2、在中断屏蔽寄存器中屏蔽所有中断

3、合理配置包括实时时钟在内的唤醒源

4、挂起USB。

MISCCR[13:12]=11b

5、将睡眠返回地址或一些不希望在掉电模式下丢失的数据存放在GSTATUS3,4 中

6、配置MISCCR[1:0]让数据总线上拉

7、关闭LCD

8、为了填充TLB读取REFRESH、 CLKCON 和MISCCR寄存器。

第8点理解起来可能稍微困难一点,需要说明一下:

因为在进入掉电模式前还需要让SDRAM挂起,在SDRAM挂起后还需要操作REFRESH、CLKCON、MISCCR特殊功能寄存器,而这些寄存器的地址可能是虚拟地址,这就要求TLB中要有相应的入口。

如果没有的话就要到sdram中取相应的页表,而此时sdram已经挂起了,所以为了防止这种情况的产生,可以在挂起sdram前读取要访问的地址,这样TLB中就会保留有相应的页表项,访问REFRESH、CLKCON、MISCCR时就不会需要sdram的支持了。

9、设置REFRESH[22]=1b让sdram进入自刷新模式

10、等待sdram自刷新有效

1

1、设置 MISCCR[19:17]=111b 使 SDRAM 的信号 (SCLK0,SCLK1 and SCKE) 在 Power_OF 模式下被保护

1

2、设置CLKCON进入Power_OFF模式

四、S3C2410掉电模式唤醒过程

1、通过唤醒源唤醒系统,产生内部复位信号

2、系统复位后,测试GSTATUS2[2] 确实系统是否是从Power_OFF模式唤醒的

3、设置MISCCR[19:17]=000b释放SDRAM信号保护

4、配置SDRAM控制器

5、等待直到SDRAM自刷新释放

6、读取GSTATUS

3、4的值,可以利用它们回复到睡眠前的程序位置

注意:利用外部中断EINT[15:0]唤醒系统,需要保持nBATT_FLT为高电平。

全部

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506691.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux c timeval 转化为标准时间,Linux_学习笔记_-_时钟_定时器

Linux 时钟_定时器1 时钟时钟这个东西,实际上是作为一种工具而存在,内核通过时钟来感知、管理时间。这里的时钟,更主要的还是软件上的概念,系统通过维护软件时钟来追踪时间1.1 几个概念1、时钟中断:由硬件产生的电信号…

linux 修改块大小,linux 查看及修改os系统块的大小

查看os系统块的大小[root]# /sbin/tune2fs -l /dev/sda1查看os系统页的大小[oracleskate-test ~]$ getconf PAGESIZE4096修改块的大小:创建文件系统时,可以指定块的大小。如果将来在你的文件系统中是一些比较大的文件的话,使用较大的块大小将得到较好的性…

linux的vim多选择,真的有(很多)linux大牛用vim写项目吗?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼作为一名非程序员半吊子运维,很想问一个问题:真的有(很多)linux大牛用vim写项目吗?最近折腾自己的路由器,要在LEDE的luci框架里加个显示interface信息的模块。按照惯例ggl一下最后在s…

linux spi驱动分析 三,Linux下SPI驱动分析

/* 神奇的分割线 */626/*-------------------------------------------------------------------------*/627628/* Core methods for SPI master protocol drivers. Some of the629 * other core methods are currently defined as inline functions.630 */631632/**633 * spi_…

c语言程序综合实习学生成绩,C语言程序设计综合实习报告

课题一:用指针优化学生成绩排名一、目的1.熟悉变量的指针和指向变量的的指针变量的概念和使用2.熟悉数组的指针和指向数组的的指针变量的概念和使用3. 掌握冒泡法或选择法排序的算法4. 掌握函数的定义、调用、声明,以及参数的两种…

c语言练习的软件,我想学C语言,在自己的电脑上练习,要安装什么软件呢?

希望能对你有所帮助:1。 C语言学习系统 3。2C语言是一门非常有用高级语言,是您踏上计算机学习之路的必修课,几乎所有的计算机考试dl。pconline。com。cn/html/1/9/dlid6199&dltypeid1&pn0&。html2。 C语言学习系统 3。2C语言是一门非常有用高级语言,是您…

c语言ATM机文件储存账号密码,C语言实现_ATM自动取款机系统

1、欢迎界面的实现用函数welcom实现,建立.h文件命名welcom.hvoid wel()//欢迎界面;{FILE *fp;if((fpfopen("data/welcome.txt","r"))!NULL){char ch[10000];while(!feof(fp)){fgets(ch,100,fp);printf(ch);Sleep(200);}printf("…

c语言求最多啤酒数,C语言,算法、动态规划:有一个箱子的容量为v(正整数,0=v=20000),同时有n个物品(0n=30),...

满意答案24k纯真爱l2013.11.07采纳率:42% 等级:12已帮助:9552人#include#define N 30int xiangzi(int n ,int V ,int a[]) //楼主后面的Vo数组必须放进递归函数里面或定义成全局数组 另外h[n]什么情况??{int minv,t,mV;if(n0){if(a[n]&l…

c语言休眠函数useconds类型,带你了解C语言中的Sleep函数(附代码)

Sleep函数:功 能: 执行挂起一段时间用 法:unsigned sleep(unsigned seconds);注意:在VC中使用带上头文件#include ,在Linux下,gcc编译器中,使用的头文件因gcc版本的不同而不同#include 在VC中,Sleep中的第一个英文字符为大写的"S" ,在linux下不要大写&…

2017电大c语言考试时间,2017年电大 《c语言程序设计》a课程考核说明.doc

2017年电大 《c语言程序设计》a课程考核说明中央广播电视大学计算机科学与技术专业C语言程序设计A课程考核说明(2008)一、考核说明《C语言程序设计》课程是全国电大系统计算机科学与技术专业(本科)的一门基础必修课程。本课程是学习数据结构、操作系统、计算机网络、数据库、软…

c语言可循环计算器代码,可编程简易计算器(代码)

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼while(sign[0]!a){//if(input[index]){for(int i0;i<4;i){if(firsttime 1)i3;//提取第i1个数字dexto1;char num_str[INPUT_LEN]{};while(input[index]){if(isdigit(input[index]))num_str[dexto]input[index];elseif((input[ind…

android 动态文本选取,android-用动态文本更新UI

我会使用处理程序.private static final int WHAT 1;private static final int TIME_TO_WAIT 5000;Handler regularHandler new Handler(new Handler.Callback() {public boolean handleMessage(Message msg) {// Do stuffregularHandler.sendEmptyMessageDelayed(msg.what,…

京东广告联盟android,京东APP联盟SDKAndroid版接口说明文档1.0.PDF

京东APP联盟SDKAndroid版接口说明文档1.0京东APP 联盟SDK Android 版接口说明文档1.01. 嵌入SDK1.1 添加SDKAndroid Studio 环境&#xff1a;菜单New->New Module->Import .jar or .aar package&#xff0c;然后选中App联盟SDK 所带的jar 文件。EclipseADT 环境: 将App 联…

android 环绕布局,Android自定义View实现圆形环绕效果

之前项目中需要实现一个四周环绕中心圆形头像的效果&#xff0c;感觉还是自定义比较方便&#xff0c;于是就自己封装了一个控件去实现。先贴张图显示最终效果。首先自定义一个View继承自LinearLayout,通过动态添加childView的方式将子控件添加到View中。思路是先添加中间圆形头…

android tasker,Tasker:Android系统增强神器

权限信息 net.dinglisch.android.tasker.PERMISSION_RUN_TASKS net.dinglisch.android.tasker.PERMISSION_AUTO_IMPORT com.joaomgcd.taskersettings.SET_SETTING net.dinglisch.android.zoom.permission.MAKE_CHANGES android.permission.PACKAGE_USAGE_STATS cyanogenmod.per…

android 高德地图 sh1,百度、高德地图获取发布版(Release)SHA1

一、简介&#xff1a;在百度、高德地图开发中&#xff0c;申请key的时候&#xff0c;要两个版本的sha1值。一个是开发版(debug)&#xff0c;一个是发布版(release)。debug版本的sha1比较好获取&#xff0c;网上资料一堆&#xff0c;这里引用一下&#xff0c;就不再重复写了。最…

signature=adf15bd90b83b628c647a1aa64741773,Thoracic Oncology

摘要&#xff1a;Thymic malignancies are rare epithelial tumors that may be aggressive and difficult totreat. Thymomas are usually localized to the anterior mediastinum and are frequentlyeligible for upfront surgical resection. However, nearly 30% of patien…

html前台检验特殊字符正则,【Qt编程】html特殊字符及正则表达式

1、html特殊字符的显示我们知道html语言和C语言一样也有一些特殊字符&#xff0c;它们是不能正常显示的&#xff0c;必须经过转义&#xff0c;在网上可以查到如何显示这些字符&#xff0c;如下图所示&#xff1a;上图给了最常用的特殊字符的显示&#xff0c;下面我们来实验一下…

html 变量类型强制转换,html、js前台数据传到后台,spring复杂类型转换

html、js前台数据传到后台&#xff0c;spring复杂类型转换如果我有两个变量&#xff0c;变量名不一样&#xff0c;处理的规则也不一样&#xff0c;但是他们都是Date.class 类型&#xff0c; 这可怎么破。比如&#xff1a;InitBinderpublic void bindingPreparation(WebDataBind…

html盒模型中border的写法,HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手...

很多小伙伴在前端学习的时候&#xff0c;发现盒子模型默认为正方形。如何把盒子变成想要的模型呢&#xff1f; 首先我们来看一下默认的情况----.box{width: 100px;height: 100px;background-color: rgb(116, 51, 51);box-shadow:0 10px 10px red;text-align: center;position:a…