wince(s3c2410)中RTC的问题

linux uvcvideo linux下万能摄像头驱动,linux下万能摄像头驱动,linux下万能摄像头驱动, 立即下载

 这部分问题多多。

 

1.如何关机保持时间

 

1. 保证提供给RTC的3V电池有电;比较好就是挂个充电电池。也可以采用别的方案,我们公司就没有使用充电电池。不过个人认为还是使用充电电池好。
2. 更改2410的BSP,具体为:
在文件Platform/SMDK2410/kernel/hal/oemioctl.c中将

  1.     case IOCTL_HAL_INIT_RTC:
  2.      // The kernel has detected a cold-boot.   
  3.         if(nInBufSize >= sizeof(SYSTEMTIME)) 
  4.             return OEMSetRealTime((LPSYSTEMTIME)lpInBuf);
  5.         else
  6.             return FALSE;
  7.         break;

改为:

  1.      case IOCTL_HAL_INIT_RTC:
  2.      // The kernel has detected a cold-boot.   
  3.         if(nInBufSize >= sizeof(SYSTEMTIME)) 
  4.             return TRUE; //改这里 
  5.         else
  6.             return FALSE;
  7.         break;

这个是我遇到的第一个问题。

 

2.如何保证开机时间不会跑飞,避免USB同步无法使用。

由于没有采用充电电池,在中间调试阶段又出现新问题了。我们的方案断电比较久的话就无法保持时间,实际上在开发阶段是不会带电池的,所以第二天工作都要重新校准系统的时间,不然USB无法同步上。为了解决这个问题,研究了内核这部分代码。发现有一些BUG。做了修正。
修改timer.c中的OEMSetRealTime(LPSYSTEMTIME lpst) 函数

 

  1.  if ( firsttime == 0 )
  2.  {
  3.      OEMGetRealTime(lpst);
  4.      if (lpst->wYear >2100 || lpst->wYear <2000)
  5.      {
  6.          lpst->wYear = 2008; 
  7.          lpst->wMonth = 9; 
  8.          lpst->wDay = 1;
  9.       }
  10.       firsttime = 1;
  11.  }

主要是在第一次上电获取一下时间,并判断时间是否跑飞了。是的话给他初始化一个值。只要时间正常那么都能同步上PC。在S3C2410中rBCDYEAR虽然是uint型,但是根据CPU资料说明,他只能表示00-99这个范围的值。那么系统的时间也就只能是2000年至2099年了。改了这个,那么自然也就要把oemioctl.c中修改的代码还原,不然开机就不执行了。

 

3.修改年份超过2009年后时间获取的一个BUG。


研究过程中发现rBCDYEAR只最后一个字节有效,并且高4位表示年的十位数,低4位表示年的各位数。而在OEMGetRealTime函数中有这么一段代码

  1. if ( lpst->wSecond == 0 )
  2.  {
  3.    lpst->wSecond    = FROM_BCD(s2410RTC->rBCDSEC & 0x7f);
  4.    lpst->wMinute  = FROM_BCD(s2410RTC->rBCDMIN & 0x7f);
  5.    lpst->wHour  = FROM_BCD(s2410RTC->rBCDHOUR& 0x3f);
  6.    lpst->wDayOfWeek = (s2410RTC->rBCDDATE - 1);
  7.    lpst->wDay  = FROM_BCD(s2410RTC->rBCDDAY & 0x3f);
  8.    lpst->wMonth  = FROM_BCD(s2410RTC->rBCDMON & 0x1f);
  9.    lpst->wYear      = (2000 + s2410RTC->rBCDYEAR); 
  10.  }

其中lpst->wYear  = (2000 + s2410RTC->rBCDYEAR); 让我是在很纳闷,怎么这里就不一样了。我还记得我开始在wince平台上编程时使用GetLocalTime函数的BUG(http://blog.youkuaiyun.com/constantine/archive/2007/09/21/1794368.aspx),这个BUG就是在wSecond为0时发生的,我想问题应该出在这里了。修改一下

  1. if ( lpst->wSecond == 0 )
  2.  {
  3.   .........
  4.   lpst->wYear      = 2000 + FROM_BCD(s2410RTC->rBCDYEAR); //修改这里 
  5.  }

果然问题没有了。
关于RTC设计的问题网上并不少,但是看过之后都是一个毛病。也不知道是谁错起头的,接着大家就跟着一起犯错。或者说还有我没看清除的情况,见鬼了。

当然,现在还不到2010年,估计没多少人注意到这个问题。
 

概率论 知识图谱 + 实战案例解析 本文通过构建概率论知识图谱,系统梳理了从随机试验、概率、条件概率到随机变量与分布的核心概念及其内在联系。结合朴素贝叶斯分类器和蒙特卡洛模拟等实战案例,深入解析了条件概率、独立性及大数定律等理论如何应用于机器学习与实际问题求解,旨在帮助读者建立结构化思维,将理论有效转化为解决实际问题的能力。 阅读详情

相关推荐

从MFCC到GMM:手把手教你用Python实现说话人识别(附完整代码)

本文详细介绍了如何使用Python实现说话人识别系统,从MFCC特征提取到GMM模型训练,涵盖完整的技术流程和代码示例。通过梅尔频率倒谱系数(MFCC)和高斯混合模型(GMM)的结合,构建高效的说话人识别系统,适用于身份认证和智能交互场景。文章还探讨了从传统方法到深度学习的进阶话题,如i-vector和x-vector技术。

o1p2q3r的博客 201

linux内核对S3C2410睡眠模式的支持

 一、S3C2410支持4种供电模式(1)NORMAL MODE耗电最大、可以通过关闭具体控制器的时钟来节电(2)SLOW MODE在此模式下可以没有内部PLL,耗电情况依赖于外部时钟的频率(3)IDLE MODEFCLK被关断,主要由于CPU core节电。可以任何通过外部中断唤醒(4)Power_OFF MODE除了处理器唤醒逻辑单元外,处理器不损耗任何

华清远见 | 程序员的学习天堂 1601

半导体工厂自动化实战:用secs4net实现设备与MES系统通信(附完整代码)

本文详细介绍了如何利用secs4net框架实现半导体工厂设备与MES系统的高效通信。通过解析SECS/GEM协议的核心架构、关键业务场景实现及性能优化实践,帮助开发者快速掌握工业自动化通信技术,提升生产效率和系统稳定性。

transformer2023的博客 895

RTC(S3C2410)学习记录

<br />RTC提供可靠的系统时间,在系统关机情况下也能正常工作(使用后备电池);它需要一个32.768HZ的晶振,并且可以执行报警功能。<br />RTC应用:电子日历、手持数码产品、电子计量仪表、家用电器等。<br />特性:<br />——BCD数据,包括秒、分、小时、日期、星期、月和年<br />——闰年产生器<br />——报警功能<br />——解决了千年虫问题<br />——独立电源引脚RTCVDD<br />——支持ms中断作为RTOS内核时钟<br />——循环复位功能<br /> <b

better_yin的专栏 798

避坑指南:vmdk转qcow2镜像时你可能会遇到的5个问题及解决方法

本文详细解析了将VMDK虚拟机镜像转换为QCOW2格式时可能遇到的五大核心问题,特别是启动失败的常见原因及解决方案。内容涵盖格式差异、预处理优化、转换命令详解,并针对根文件系统挂载失败、GRUB引导失败、网卡识别、性能异常等典型故障提供了具体排查与修复步骤,旨在帮助运维人员高效、可靠地完成镜像迁移。

websocket5live的博客 275

产品必备技能(十):如何绘制原型图?先要绘制页面流程图+页面原型图!附实操原型图、流程图实例(抖音)

文章目录目标题目实操步骤模板实操【抖音】APP的视频发布功能页面流程绘制页面流程图合格标准绘制页面原型图合格标准 目标 新入行的产品经理都对原型抱有向往的心境,但是有经验的产品经理不会一上来就画原型,而是先画页面流程再来画原型。通过学习,你将学会如何用页面流程图规划用户行为路径、如何借助原型识别问题、减少风险、有效沟通。 题目 任意选择一款你喜欢的产品,体验某个功能,下载并梳理此功能至少5个以上的页面流程跳转点(后面会解释),还原2 - 3个主要界面的低保真原型图。 实操步骤 可使用手绘以及Process

汪雯琦的博客 4846

v4l2报错------uvcvideo: Non-zero status (-71) in video completion handler.

v4l2报错:uvcvideo: Non-zero status (-71) in video completion handler.  (未解决,求大神指点) arm CPU型号AM3354,Linux版本3.2.0,普通的UVC摄像头; 移植了mjpg-streamer的程序后,刚开始还没问题,调试过程中反复的打开、关闭,运行时间长了,慢慢的随机报如上错误,时间长了后一帧画面都采不到,一打

沉西乐恩的博客 6602

Zoom AI 技术架构研究:联合式方法与多模态集成

通过 Zoom AI 开放平台,企业可以自定义 AI 模块 (如法律合规审查、客户反馈分析),扩展应用场景。这种开放平台策略使企业能够根据自身需求定制 AI 功能,满足特定业务需求。

shao.bing的专栏 1318

20240718解决开发板接USB3.0接口的红外相机出错uvcvideo: Non-zero status (-71) in video completion handler.

移植了mjpg-streamer的程序后,刚开始还没问题,调试过程中反复的打开、关闭,运行时间长了,慢慢的随机报如上错误,时间长了后一帧画面都采不到,一打开就报如上错误!确实是硬件的原因,USB的供电电压不稳定会导致这个错误出现,换个电源模块,还有USB电路中,在CPU附近好像有几个限流电阻,换成10欧的,这个可能具体情况不一样电阻大小也不一样,硬件不太懂.......2、如果你使用的是USB2.0,低速情况下仍然有,那就恭喜你,你的电源可能不太稳定。type C 2 type C / CC线直连即可。

南岭笑笑生之家 1804

ADS 使用教程(十八)Encrypting Designs using RFIP Encoder in ADS

在这一节,我们使用RFIP Encoder进行设计加密,这是一种保护知识产权和敏感设计数据的重要方法。RFIP Encoder提供了一种安全的方式来加密设计文件,确保只有授权人员能够访问和使用这些文件。

Dirge19的博客 1172

基于Zemax的干涉仪仿真——Fizeau球面干涉仪

最近在用Zemax仿真干涉仪,在这之前查资料都是关于一些平面干涉仪的仿真,很少有关于Fizeau型的,尤其是球面干涉仪的仿真,看到很多关于这方面的问题回复都说利用多重结构仿照Zemax马赫-泽德干涉仪去做,但是也没有具体的过程,因此在这里分享一下我仿真的干涉仪步骤方法,具体是利用多重结构完成的仿真。

weixin_46657737的博客 6410

WinCE-IIC调试助手(S3C2410)

转自:http://www.cnblogs.com/we-hjb/archive/2008/10/19/1314562.html 这两天在调试一款新的硬件平台,它采用的MCU依然是S3C2410。该平台新增了一个RTC模块,采用的芯片是DS1337。这是一个IIC接口的时钟芯片。在开始调试时碰到了一些问题,MCU始终无法与DS1337通讯,走了些弯路,浪费了不少时间。后来发现是IIC的SD

Carlward 的专栏 2088

科研绘图系列:基因突变瀑布图统计以及可视化

科研绘图系列:基因突变瀑布图统计以及可视化

专注生信领域 1658

s3c2410/2440 WINCE的RTC实现

由于三星的评估板并没有用rtc电池,所以提供的bsp是不能保存时间的,即使你在板子上加了rtc电池,不过修改起来也非常简单,修改smdk2410\KERNEL\HAL\ARM下的timer.c,我把修改过的oemsetrealtime函数贴在下面,这样改绝对没有问题。 BOOL OEMSetRealTime(LPSYSTEMTIME lpst) { volatile RT...

weixin_34199335的博客 139

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

基于s3c2440 的解决方案

S3C2440解决方案说明文档V1.0  TE2440解决方案套件硬件资源: 中央处理器◆ CPU: 三星S3C2440A,主频400MHz;外部存储器◆ 内存:64M字节;◆ NOR Flash:2M字节(SST39VF1601);(选配)◆ NAND Flash:64M字节(K9F1208,用户可自己更换为16M、32M或128M的NandFlash)

牛牛猛嵌入式的专栏 1673

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

板子终于拿到

板子终于拿到 2410 -II型开发板是针对S3C2410集实用性、时尚性于一体的高性能开发平台,主要面向广大中高级ARM爱好者、企业和高校用户。该开发平台接口丰富、功 能强大,可用于个人学习研究,也适合用来开发高性能手持式以及便携式智能设备或终端。选配带有触摸屏的3.5’和8’SHAPR TFT真彩液 晶。 一、核心板技术参数1、 S3C2410:16

kvew的专栏 1400

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

wince S3c2410/2440/2443的Eboot流程介绍

对于嵌入式系统来说,一般都需要一个bootloader来下载和引导操作系统,常用的bootloader有eboot,uboot以及vivi等,对于windows ce来说最理想的bootloader当然是eboot(我也做了利用uboot下载和引导ce,以后我会介绍)。下面我就把自己开发eboot的过程和大家分享。eboot的流程可以如下图所示: 1)eboot和nk公用一段起始代码fw.s,

GT_Andy的专栏 581

S3c2410/2440的Eboot流程介绍

对于嵌入式系统来说,一般都需要一个bootloader来下载和引导操作系统,常用的bootloader有eboot,uboot以及vivi等,对于windows ce来说最理想的bootloader当然是eboot(我也做了利用uboot下载和引导ce,以后我会介绍)。下面我就把自己开发eboot的过程和大家分享。eboot的流程可以如下图所示:自己开发eboot的过程和大家分享。

menuconfig的专栏 1074

S3c2410/2440/2443的Eboot流程介绍

对于嵌入式系统来说,一般都需要一个bootloader来下载和引导操作系统,常用的bootloader有eboot,uboot以及vivi等,对于windows ce来说最理想的bootloader当然是eboot(我也做了利用uboot下载和引导ce,以后我会介绍)。下面我就把自己开发eboot的过程和大家分享。eboot的流程可以如下图所示: 1)eboot和nk公用一段起始代码fw.

GT-Andy 363

ARM-WinCE5.0-寄存器读写工具

   “谁动了我的GPIO”,我想很多做嵌入式开发的同行可能也碰到过类似的问题:硬件没有按照设计的程序工作,好像是相关的寄存器在别处被改了。遇到这种情况,一般有两种处理方法,一是通过JTAG仿真器进行调试,单步跟踪,确认相关的寄存器就是我们要设的值。而这在调试WinCE驱动或者应用程序时是不方便实现的,一般在WinCE中通过添加打印信息来确认。前面曾讲过基于KITL调试WinCE的方法,这种方法固...

weixin_34009794的博客 171

wince 触摸屏 学习

前段时间移植 6.0 BSP,目前已移植到触摸屏部分了. 移植过程中学到了不少东西. 由其是关于触摸屏这部分, 掌握了很多以前不会的东西. 觉得有必要把这些知识点整理一下.  一 硬件部分 硬件上的原理不是本文的重点,只讲一下大概的原理(主要是我也只知道大概的原理, 毕竟咱不是搞硬件的. 嘻嘻!) 我移植用的这个屏是320*240 的TFT屏, 四线电阻式触屏. 这种

xingyuan1hao的专栏 1575

ARM-WinCE5.0-寄存器读写工具(转载 )

“谁动了我的GPIO”,我想很多做嵌入式开发的同行可能也碰到过类似的问题:硬件没有按照设计的程序工作,好像是相关的寄存器在别处被改了。遇到这种情况,一般有两种处理方法,一是通过JTAG仿真器进行调试,单步跟踪,确认相关的寄存器就是我们要设的值。而这在调试WinCE驱动或者应用程序

xqhrs232的专栏 1335
上一篇: 【转】WinCE驱动开发问题精华集锦
下一篇: 宽窄屏幕资源问题
constantine
博客等级 码龄24年 240粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值