为了实现WINCE标准UI和我们产品的SHELL的切换,系统需要实现自动重启的功能,这里的自动重启并不是按下reset键之后的从nboot开始执行的复位重启,而只是跳转到NK的开始地址处执行,和bootloader没有关系。

在src/inc/oal_ioctl_tab.h中,我们看到自动重启的函数OALIoCtlHalReboot(),我们来看看这个函数体

这个函数是利用看门狗来实现的复位重启方式,是从nboot开始执行的,我们来实现直接从NK的起始地址处执行,我把这个函数体改为如下所示

主要是增加了调用OALCPUPowerReset()函数,而这个函数我在/Src/Oal/Oallib/startup.s

有了上面的支持,在应用程序或者驱动都可以通过调用KernelIoControl(IOCTL_HAL_REBOOT,NULL,0,NULL,0,NULL)函数来实现自动重启的功能了,当调用KernelIoControl((IOCTL_HAL_REBOOT,....)函数的时候,就转而调用了OALIoCtlHalReboot()从而可以实现自动重启的功能。

WINCE6.0+S3C2443自动重启的实现相关推荐

  1. WINCE6.0 + S3C2443的启动过程---nboot篇

    WINCE6.0 + S3C2443的启动过程---nboot篇 我们启动WINCE6.0的方式是:nboot+eboot+NK.那么是如何启动WINCE6.0系统映像的呢?首先是nboot把eboo ...

  2. WINCE6.0+S3C2443下的activesync问题

    ********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi ...

  3. WINCE6.0+S3C2443的启动过程---内核启动

    ********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi ...

  4. WINCE6.0+S3C2443的启动过程---eboot1

    WINCE6.0+S3C2443的启动过程---eboot 我们知道从nboot把eboot从nandflash中拷贝到内存指定的地址后,就接着在这个地址处开始运行eboot了,之后,nboot的工作 ...

  5. WINCE6.0+S3C2443的RTC初始化及存在的问题

    1.系统启动过程中RTC初始化 在WINCE6.0中,我们知道是通过OALIoCtlHalInitRTC()函数来设置RTC的时间的,但是如何调用到这个函数的呢?我们就从NKStartup()函数开始 ...

  6. WINCE6.0+S3C2443睡眠和唤醒(sleep and wake up)的实现

    1. 系统进入睡眠状态的过程 1.1 硬件相关电路 我们的产品使用GPF0/EINT0作为系统进入睡眠和从睡眠中唤醒的唤醒源,如下图所示: EINT0作为唤醒源,而EINT0在S3C2443的data ...

  7. WINCE6.0+S3C2443下的usb function(功能)驱动

    ********************************LoongEmbedded************************ 作者:LoongEmbedded(kandi) 时间:201 ...

  8. 基于WINCE6.0+S3C2443的camera驱动

    ********************************LoongEmbedded************************ 作者:LoongEmbedded(kandi) 时间:201 ...

  9. WINCE6.0+S3C2443下WatchDog学习

    ********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi ...

最新文章

  1. Core Java笔记 2.继承
  2. 阿里开发者们的第5个感悟:听话,出活
  3. ubuntu安装 rust nightly_Rust 嵌入式开发环境搭建指南 (一):让世界闪烁吧
  4. ASP.NET MVC中的路由IRouteConstraint方法应用实例
  5. 面向对象真的需要继承吗?
  6. 浮点数的表示,和IEEE754规范化表示
  7. 在ListView中使用DropDownList绑定数据……好麻烦
  8. Python入门--模块,from,import,自定义模块
  9. 数据分析在内容运营中的作用
  10. linux epoll原理详解,Linux下selectpollepoll的实现原理(一)【转】
  11. 【LeetCode】【数组】题号:*453,数组元素相等的最小操作次数
  12. 餐饮智能化:餐饮机器人正当时餐饮机器人的喜与忧
  13. json格式转换工具包
  14. [Excel数据处理与分析实战技巧精粹].Excelhome.扫描版
  15. 信息管理学基础(第二版)马费成
  16. 考研计算机网络复试题目整理
  17. windows进程管理器_系统变慢?WMI进程导致的CPU高占用解决
  18. 提高你的Java代码质量吧:不要让类型默默转换
  19. js 获取字符串的UTF8编码
  20. 问卷答题模板:包括单选,多选,以及图片模式

热门文章

  1. 普通类可以抛出异常吗
  2. java数据类型的一些注意事项
  3. 039_Unicode对照表五
  4. java string 后几位_java中String占几个位元组
  5. Linux快速格式化T级硬盘并挂载
  6. 新概念一册电子书课本_新概念英语第二册完整版:音频+动画视频+课本图文讲解...
  7. java redis自增操作_【转载】关于spring boot使用redis的increment()方法自增问题
  8. ivy java_使用Ivy管理项目中的依赖
  9. Hadoop详解(十一):Yarn设计理念与基本架构
  10. 实时流处理系统容错机制(二):Apache Flink 基于State的异步容错机制