rtems 4.11 RTC驱动 (arm, beagle)】的更多相关文章

RTC驱动的框架在 c/src/lib/libbsp/shared/tod.c 中,大部分功能都已经实现了,入口函数是 rtc_initialize(),BSP要实现的东西非常少. beagle的实现在 c/src/lib/libbsp/arm/beagle/rtc.c中,提供一个 rtc_tbl RTC_Table[] 数组,数组的大小存储在 RTC_Count 全局变量中,每一个RTC_Table元素就是一个可能的RTC芯片,rtc_initialize()时,会调用每个RTC_Table元…
arm IRQ入口在 cpukit/score/arm/arm_exec_interrupt.S 中,其中BSP最关心就是 bl bsp_interrupt_dispatch 这句,看看beagle BSP的实现, c/src/lib/libbsp/arm/beagle/irq.c,实现很简单,找到是哪一个中断源(vector number)引起的中断,然后调用 bsp_interrupt_handler_dispatch 即可,最后中断处理完后,通知中断控制器中断处理结束,可以引入下一个中断了…
console驱动框架主要文件是 c/src/lib/libbsp/shared/console.c,驱动的入口是 console_initialize()主要作用是初始化BSP提供的全局变量 Console_Configuration_Ports[Console_Configuration_Count],初始化termios架构,注册console设备的文件节点. c/src/lib/libbsp/arm/beagle/console/console-config.c 是beagle BSP提…
根据bsp_howto手册,时钟驱动的框架主要在 c/src/lib/libbsp/shared/Clockdrv_shell.h 文件中实现 时钟初始化 时钟驱动初始化函数为 Clock_initialize(),这个函数在哪里被调用了呢? cpukit/include/rtems/clockdrv.h 中定义了 CLOCK_DRIVER_TABLE_ENTRY #define CLOCK_DRIVER_TABLE_ENTRY \ { Clock_initialize, NULL, NULL,…
请参照官方的 bsp_howto 文档,对arm来说,首先执行的文件是start.S start.S c/src/lib/libbsp/arm/shared/start/start.S 1.从 _start 开始执行 2.关CPU中断,初始化寄存器,设置好各mode的栈,调用 bsp_start_hook_0(),注意:此时异常向量表还没有配置好 3.然后拷贝vector到真正的位置(但没有设置cp15) 4.调用 bsp_start_hook_1() 5.最后调用 boot_card(),这个…
转自:http://blog.csdn.net/yaozhenguo2006/article/details/6824970 RTC(real time clock)实时时钟,主要作用是给Linux系统提供时间.RTC因为是电池供电的,所以掉电后时间不丢失.Linux内核把RTC用作“离线”的时间与日期维护器.当Linux内核启动时,它从RTC中读取时间与日期,作为基准值.在运行期间内核完全抛开RTC,以软件的形式维护系统的当前时间与日期,并在需要时将时间回写RTC芯片.另外如果RTC提供了IR…
转自:https://blog.csdn.net/longwang155069/article/details/52353408 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/longwang155069/article/details/52353408rtc节点rtc-sysfs文件主要的操作就是在sys下创建rtc的属性节点,可以方便用户方便快捷的访问,查找问题.下来大概看看sys下的rtc节点,有个直观的认识.[root@test ~]#…
[1.分层思想] 1.1 rtc-dev.c   //设备接口层,功能:给用户提供接口 subsys_initcall(rtc_init);   , RTC_DEV_MAX, "rtc"); 1.2 rtc-s3c.c  //功能:操作硬件 module_init(s3c_rtc_init);) [为了能够读取到rtc的时间] [一/添加驱动(driver/rtc)] 1.修改driver/rtc/目录下的Kconfig    vi linux-2.6.35.5/driver/rtc/…
对于在工作中学习驱动的,讲究的是先使用,再理解.好吧,我们来看看板子里是如何注册的? 在板文件里,它的注册函数是这样的: imx6q_add_imx_snvs_rtc() 好吧,让我们追踪下去: 1 extern const struct imx_snvs_rtc_data imx6q_imx_snvs_rtc_data __initconst; 2 #define imx6q_add_imx_snvs_rtc() \ 3 imx_add_snvs_rtc(&imx6q_imx_snvs_rtc…
本来想把configure.ac和各种m4文件分析明白,发现有点困难,不过好在也能理解一些. 基本教程 首先要明白m4,参见这个教程,写得不错,不论怎么样m4替换来替换去的,还真是不那么容易懂,好在我们自己不用写,只要看懂大意而已- 然后我们还得去了解下 autoconf和automake,这本书不错 <Autotools: A Practioner's Guide to GNU Autoconf, Automake, and Libtool>,csdn有下载. 文件夹结构 当autoconf…
一.RTC设备驱动分析 内核的rtc驱动位于内核drivers/rtc目录下,里面包含各个平台的RTC驱动.读者可在此目录下任意选择一个单板驱动文件进行分析,我选择的是rtc-davinci.c文件. 文件链接: https://files.cnblogs.com/files/Lioker/21_rtc.zip 首先来看init()函数: static struct platform_driver davinci_rtc_driver = { .probe = davinci_rtc_probe…
4年前,曾经把rtems4.10移植到atmel 9263上,要不是当时移植的git仓库还在的话,真是不相信自己居然还干过这事.所以这次再捡起的时候,要记录一下.还是从编译器开始. 首先打开 http://docs.rtems.org/rsb/ 这里说了很多为什么要从源代码编译的好处.大概就是说我们的产品要维护很多年,我们要把编译环境保留下来,但是我们不能总是老的操作系统开发啊,比如现在都出centos7,咱不能还用centos6吧,也不能在公司保存一堆老操作系统的机器,就为了保护编译环境吧,再…
相关文件list: pm8998.dtsi ---RTC dts配置 qpnp-rtc.c ---qcom RTC驱动 class.c ---RTC相关class interface.c ---相关RTC功能的接口定义 hctosys.c ---一开机通过RTC设置系统时间rtc-dev.c ---RTC device fops接口:open.close.ioctl.poll等 简述: 所谓RTC(Real Time Clock),用于关机时继续计算系统日期和时间.是基于硬件的功能.也可以RTC…
将驱动放入/extdrv中编译 部分驱动如下: #include <linux/module.h> #include <linux/miscdevice.h>#include <linux/init.h>#include <linux/slab.h>#include <linux/i2c.h>#include <linux/string.h>#include <linux/rtc.h>#include <linux/…
/* 键盘又换回了 美蓓亚键盘 缩写nmb    虽然比群光软 但是手感真的出色,貌似x宝没有这个代工厂的键盘(全新,非拆机,而且是标准us阵列,背光版) 有人肯定会问,博主这么纠结键盘干嘛?       键盘是我选lenovo thinkpad的唯一理由.现在thinkpad散热已经很普通.  键盘成为唯一选择的亮点 长时间输入对键盘会特别挑剔,不过用了macbook pro 13年款 试过室友2015年款的macbook pro with retina  我又不确定thinkpad将会是我唯…
1. MDB作为异步消费者的本质 2. MDB的运行机制 3. 使用@MessageDriven修饰MDB(需要messageListenerInterface) 4. 实现MessageListener 5. MDB的生命周期 6. 在MDB中使用依赖注入 7. MDB中的事务管理和异常管理 ------------------------------------------------ 1. MDB作为异步消费者的本质 MDB存在于EJB容器之中,可以利用EJB提供的事务.安全和并发性等系统…
一,Linux下的时间分为两种,系统时间与硬件时间(RTC芯片): 1,系统时间就是运行系统能够直接看到的时间: 2,硬件时间就是RTC芯片中的时间,断电任然有电池供电: linux系统开机时,会从RTC中读取当前时间,作为系统时间,从此以后系统时间独立tick.意味着,如果你用date命令修改了系统时间,硬件时间是不受影响的,如果此时关机,下次的系统时间还是不对.要想将系统时间保存到硬件时间,可以是用 hwclock 或者clock命令,hwclock就是hardware clock的意思.…
嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤.一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便.如有错误之处,谢请指正. 共享资源,欢迎转载:http://hbhuanggang.cublog.cn 一.开发环境 主  机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand, Kernel:2.6.30.4 编译器:arm-linux-gcc-4.3.2 二.相关概念 1.平台设备:通常在Linux中,把SoC系统中集成…
转自:http://helloyesyes.iteye.com/blog/1072433 努力成为linux kernel hacker的人李万鹏原创作品,为梦而战.转载请标明出处 http://blog.csdn.net/woshixingaaa/archive/2011/05/21/6436215.aspx RTC(实时时钟)是一种典型的字符设备,作为一种字符设备驱动,RTC需要有file_operations中接口函数的实现,如open(),release(),read(),poll(),…
转自:http://blog.csdn.net/yaozhenguo2006/article/details/6820218 这个是linux内核文档关于rtc实时时钟部分的说明,此文档主要描述了rtc实时时钟的作用和编程接口,分别介绍了老的rtc接口和新的rtc类架构.并给出了一个测试rtc驱动的程序.     linux 实时时钟(RTC)驱动                                                                         翻译…
转自:linux设备驱动的分层设计思想 宋宝华 http://blog.csdn.net/21cnbao/article/details/5615493 1.1 设备驱动核心层和例化 在面向对象的程序设计中,可以为某一类相似的事物定义一个基类,而具体的事物可以继承这个基类中的函数.如果对于继承的这个事物而言,其某函数的实现与基类一致,那它就可以直接继承基类的函数:相反,它可以重载之.这种面向对象的设计思想极大地提高了代码的可重用能力,是对现实世界事物间关系的一种良好呈现. Linux内核完全由C…
RTC(Real-Time Clock)实时时钟为操作系统提供了一个可靠的时间,并且在断电的情况下,RTC实时时钟也可以通过电池供电,一直运行下去. RTC通过STRB/LDRB这两个ARM指令向CPU传送8位数据(BCD码).数据包括秒,分,小时,日期,天,月和年.RTC实时时钟依靠一个外部的32.768Khz的石英晶体,产生周期性的脉冲信号.每一个信号到来时,计数器就加1,通过这种方式,完成计时功能. RTC实时时钟有如下一些特性: 1,BCD数据:这些数据包括秒.分.小时.日期..星期几.…
1. 在Linux2.6.29内核中,RTC是以平台设备的方式注册进内核的. ① RTC驱动定义于文件:drivers/rtc/rtc-s3c.c static struct platform_driver s3c2410_rtc_driver = { .probe = s3c_rtc_probe, .remove = __devexit_p(s3c_rtc_remove), .suspend = s3c_rtc_suspend, .resume = s3c_rtc_resume, .drive…
问题:pcf8563 RTC设备驱动不能被正常的加载!问题分析过程. 问题在下午得到解决,虽然解决的办法比较笨,采用的是不断的使用printk来跟踪rtc-8563驱动的加载的过程,以及iic模块的工作过程. 曾经想过将内核的DEBUG打开,打开的方法在/linux2.6.21/include/linux/device.h文件中搜索DEBUG,这样的话,设备的所有的操作的debug信息都会输出,你会受不了,因为输出的无用的信息会掩盖你需要的真正的信息. 所以就改为在i2c-core.c和rtc-…
前言   前面运行了系统,本篇是安装对应套装的驱动,使rtc等外设生效,树莓派本身是不带rtc外设的.   UNO-220-P4N1AE 驱动下载     官方下载:https://www.advantech.com.cn/support/details/driver?id=1-1YXX1LU  相关资料打包,提供下载地址如下:  CSDN零积分下载:https://download.csdn.net/download/qq21497936/85179923  QQ群:1047134658(点击…
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3637782 Linux的RTC驱动相对还是比较简单的,可以将它作为一个普通的字符型设备,或者一个misc设备,也可以是一个平台设备,这都没有关系,主要还是对rtc_ops这个文件操作结构体中的成员填充,这里主要涉及到两个方面比较重要: 1. 在Linux中有硬件时钟与系统时钟等两种时钟.硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟.系统时钟则是指kernel中的…
电源管理芯片可以为多设备供电,且这些设备电压电流有所不同.为这些设备提供的稳压器代码模型即为regulator. 说白了regulator就是稳压器,它提供电源供给.简单的可以gpio操作,高电平开电,低电平关电.一般的还包括电流值, 电压值等. 一般regulator有两种不同的电源,即:ldo和sd. Ldo适合电压要求比较稳,但是功率不是很大的设备. Sd适合功率要求比较大,但可以接受较小的纹波的设备. 除此之外pmu还可能集成,charger,battery, 音频功放等等. 首先我们分…
本博实时更新<Linux设备驱动开发具体解释(第3版)>的最新进展. 2015.2.26 差点儿完毕初稿. 本书已经rebase到开发中的Linux 4.0内核,案例多数基于多核CORTEX-A9平台. [F]是修正或升级:[N]是新增知识点:[D]是删除的内容 第1章 <Linux设备驱动概述及开发环境构建>[D]删除关于LDD6410开发板的介绍[F]更新新的Ubuntu虚拟机[N]加入关于QEMU模拟vexpress板的描写叙述 第2章 <驱动设计的硬件基础> […
*************一.直接操作发********** 步骤:1.去Realtek官网下载无线网卡驱动下载地址:点击这里2.驱动在压缩包中的driver目录(也是一个压缩包),将其解压到/opt/EmbedSky/linux-2.6.30.4/drivers/net/wireless下3.将无线网卡驱动目录下Kconfig中的信息拷贝到上一级目录的Kconfig末尾4.修改/opt/EmbedSky/linux-2.6.30.4/drivers/net/wireless目录下的Makefi…
RTC 原创,转载请写明出处. 一直以来想写一篇关于RTC的总结,可是人太懒,在读完John Z. Sonmez大伽的<软技能代码之外的生存技能>后,终于下定决心,完成这项早已计划中的任务.首先声明,本文是以PC为例来阐述RTC工作的基本原理. RTC的基本概念 RTC(Real Time Clock),实时时钟,是存在于PC(x86)及类PC架构的电路中,其主要的作用是记录设备关机时的时间及在设备开机时提供时间基准,也就是说在设备机器关电的时候,记录下当时的时间,在设备启动时为设备内部的时间…