扩展wince5物理中断

WinCE5.0下DM9000网卡驱动移植与寄存器配置详解 嵌入式系统开发中,网络驱动移植是关键技术难点。以DM9000网卡为例,其寄存器配置直接影响硬件初始化与数据传输稳定性。在WinCE5.0这类实时操作系统环境下,开发者需要深入理解物理层访问机制,包括IO空间映射、地址/数据端口区分等底层原理。通过正确配置NCR、TCR、RCR等核心寄存器,可实现网络控制、数据收发等关键功能。该技术在工业控制、物联网终端等场景具有重要应用价值,特别是在处理高低温环境下的寄存器漂移问题时,需结合PHY扩展寄存器进行优化调整。 阅读详情

 我的开发环境是s3c2450+wince5,需要用到EINT20做键盘中断,但是因为wince5
默认只支持64个物理中断,而且BSP用到的IRQ_LAST是EINT16。因为EINT4到EINT16
都有用处,想通过将EINT20移到64
以内并添加静态映射的方法就行不通了,只能用动态分配的方法,为此需要对BSP及WINCE
做一些调整。具体做法如下:

1、修改bsp中的s3c2450_intr.h:添加IRQ_EINT17到IRQ_EINT23的定义,将IRQ_LAST由
IRQ_EINT16改为IRQ_EINT23

2、动态分配中断的代码在platform/common/src/common/intr/base/map.c中
关于OAL_INTR_IRQ_MAXIMUM的定义是在platform/common/src/inc中,将它由64修改为72
,否则无法动态分配系统中断给超过64的物理中断。

关于此宏定义在bsp的inc目录中的oal_intr.h
也有定义,但是并没有使用。开始的时候我改的是BSP
下的不起作用,要注意不要改错地方。

3、将EINT20对应的GPG12设置为外部中断。

修改bsp的kernel/oal目录中的intr.c:在BSPIntrInit中添加将GPG12(EINT20)
设置为外部中断并使能中断的代码

注意在设置好GPGCON、GPGDAT、GPGUP后要调用OALIntrEnableIrqs。刚开始我是把GPG
引脚的设置放到设备驱动初始化中,也可以运行。不过放到BSPIntrint感觉更放心。

4、在设备驱动中按动态分配的方法分配IRQ_EINT20、关联事件、创建IST。

 

经过此改动,能够实现大于64
的物理中断动态分配,键盘程序运行正常。不过没有做其它测试了。

 

 

基于EM9000+ETA701的工业双CAN系统快速实现方案 CAN总线作为一种广泛应用于工业自动化、汽车电子等领域的现场总线技术,其核心原理是基于差分信号和载波侦听多路访问/冲突检测(CSMA/CD)机制,实现多节点间的可靠通信。该技术通过硬件仲裁和错误检测机制,确保了高噪声工业环境下的数据传输稳定性,具有高可靠性和实时性的技术价值。在应用场景上,CAN总线常用于设备控制、数据采集和网络互联,尤其在需要多通道通信或冗余设计的系统中。本文聚焦于利用英创EM9000嵌入式主板和ETA701扩展模块构建双CAN接口系统,通过成熟的硬件方案和封装完善的WinCE流式驱动,为 阅读详情

相关推荐

基于WinCE 6.0的2416板级支持包(BSP)开发实战

BSP全称为“板级支持包”,它并非操作系统的组成部分,而是作为操作系统与具体硬件之间的适配层存在。在WinCE架构中,操作系统本身被设计为高度模块化和可裁剪的微内核系统,而BSP则负责将这些模块与实际物理设备进行绑定。以S3C2416为例,该处理器采用ARM926EJ-S架构,集成了多种外设控制器(如UART、I²C、USB、PWM等),但WinCE内核并不直接知道这些外设的存在或地址映射方式。

weixin_36444661的博客 1079

S3C2440、S3C2450和S3C6410之间区别

S3C2440:  主频400MHz;  SDRam内存控制器;  支持Nor Flash和Nand Flash(SLC)  支持2种Flash启动;  内部LCD、I2C、Camera等控制器。 S3C2450:  主频533MHz;  双总线架构,一路用于内存总线、一路用于Flash总线;  DDRII内存和DDR内存控制器;  支持Nor Flash和Nand Flash...

weixin_30445169的博客 138

WinCE串口通信程序设计与驱动开发实战资源包

对于需要独立运行、支持网络透传或多路复用的场景,必须开发自定义驱动。以下是完整开发流程:Windows CE作为一个高度模块化和实时性强的操作系统,其驱动架构设计充分考虑了灵活性与性能之间的平衡。驱动程序可以以用户模式或内核模式加载运行,这为开发者提供了根据应用场景进行权衡的空间。选择合适的运行模式,需综合评估对响应速度、系统崩溃风险、调试复杂度及资源隔离的需求。

weixin_33608403的博客 957

AT91SAM9263 WINCE 6.0 R2驱动开发-扩展4个串口芯片SC16C554驱动

1.管脚接法:EXT_COMA0-A2D0-D6PD6EBI0_NCS4PE16INT1PA23INT2PA24INT3PA25INT42.代码基本上在微软wince 6.0 public目录下的开源代码基础上不用做太大改动即可用,主要注意晶振不一样,

yearafteryear的专栏 2087

WinCE 6.0嵌入式系统开发完整资源包与实战指南

Windows CE 6.0是微软面向嵌入式设备推出的实时操作系统,采用微内核架构设计,内核仅保留最基本的服务(如线程调度、中断处理),其余功能以独立进程运行于用户态,显著提升了系统的稳定性和可扩展性。相较于传统桌面Windows系统,WinCE 6.0具备高度模块化特性,支持按需裁剪组件,适用于工业控制、医疗设备等资源受限场景。本版本在架构上实现重大突破:虚拟地址空间由前代的32MB大幅提升至2GB,单系统支持进程数从32个扩展到32,768个,极大增强了多任务处理能力。

weixin_36382073的博客 1335

S3C2450 manual

This user’s manual describes SAMSUNG's S3C2450 16/32-bit RISC microprocessor. SAMSUNG’s S3C2450 is designed to provide hand-held devices and general applications with low-power, and high-performance microcontroller solution in small die size

威盛(VIA) 2007年笔试题目(WinCE)

12、在Wince下如何访问一段物理内存? http://www.cnblogs.com/harber/archive/2007/12/08/988009.html 13、请列出三种以上Wince下所采用的线程同步机制? 临界区、信号量、互斥量、事件 14、WinCE 基于下列哪个架构播放video。() A、DirectShow B、DirectX C、DirectDraw D、Direc...

weixin_34205826的博客 99

S3C2450/2451

三星Arm9系列之S3C2451/2450中文简介。

WinCE系统架构

<br />WinCE系统架构图如下所示:<br /><br />嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。1.硬件层<br />硬件层是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。<br />硬件层比较适合于,电子、通信、自动化、机电一体

左手技术 右手写诗 1311

S3C2450 Developer Manual

S3C2450开发手册 想学嵌入式的可以下载看看

S3C2450 数据手册

S3C2450 数据手册 与 电路设计方案指南 S3C2450 采用ARM926EJ 内核,主频达到533MHz; 双总线架构,一路用于内存总线、一路用于Flash总线; DDRII内存和DDR内存控制器; 支持Nor Flash和Nand Flash两种Flash,其中Nand Flash支持SLC和MLC两种架构,从而大大扩大存储空间; 支持多种启动方式:主要包括SD、Nand Flash、Nor Flash和OnenandFlash等设备启动; 8路DMA通道,包括LCD、UART、Camera等专用DMA通道; USB2.0 从设备控制器; 内部LCD、I2C、Camera等控制器。

S3C6410中断以及外部中断

分类: Embeded Hardware2011-12-12 15:27 1328人阅读 评论(5) 收藏 举报 c编程vectorexception嵌入式application 6410的中断系统: 嵌入式软件里的中断处理,除了中断初始化,主要工作就是编写ISR.     在嵌入式的SOC的CPU里,在CPU里内部会带一些设备模块,它们产生的中断称为内部中断。因为联

kerson的专栏 3930

Docker 与容器技术的未来:从 OCI 标准到 eBPF 的演进

OCI 的核心目标是创建一个开放的、厂商中立的容器技术标准。这意味着,只要一个容器镜像符合 OCI 镜像格式规范,它就可以在任何符合 OCI 运行时规范的容器运行时上运行。eBPF 是一种革命性的技术,它允许在 Linux 内核中安全地运行沙盒程序,而无需修改内核源代码或加载内核模块。这些程序可以注册到内核中的各种事件点(如网络包到达、系统调用、函数调用/返回),并在事件发生时执行自定义逻辑。核心思想是:在不将数据复制到用户空间的情况下,程序可以直接在内核中处理数据,极大地提高了效率和性能。

专栏 1382

WINCE OAL层简介

原文地址::http://blog.youkuaiyun.com/chenyt2007/article/details/1661632 相关文章 1、WinCE OAL架构分析----http://blog.youkuaiyun.com/nanjianhui/article/details/3830452 2、WinCE6.0 OAL的特点----http://www.cnblogs.com/we-hjb/

xqhrs232的专栏 807

RK3588设备树节点实战:从零配置音频与显示模块(ES8388+DSI0)

本文详细介绍了在RK3588平台上配置音频编解码器ES8388和显示接口DSI0的设备树节点实战。通过具体案例拆解设备树节点的编写逻辑与调试技巧,包括音频路由与声卡配置、DSI控制器基础配置、视频通路路由配置以及电源管理与时钟树设计。文章还提供了调试工具与实战技巧,帮助开发者快速解决常见问题。

weixin_42525637的博客 351

Unity物理引擎实战:从刚体重心到碰撞体,打造真实不倒翁交互

刚体(Rigidbody)是Unity物理系统的核心组件,它定义了游戏对象的物理属性,如质量、阻力和碰撞响应。其原理基于牛顿力学,通过物理引擎(如PhysX)实时计算物体的运动状态。在游戏开发中,刚体的价值在于能够模拟真实世界的物理行为,为玩家提供沉浸式的交互体验。碰撞体(Collider)则定义了物体的形状边界,用于检测与其他物体的接触。通过精细调整刚体的重心(Center of Mass)和碰撞体形状,开发者可以模拟出各种有趣的物理现象,例如低重心物体的动态平衡。这在休闲游戏、物理玩具模拟等场景中尤为实

weixin_33976326的博客 355

华虹USB-KEY for WinCE.NET驱动程序的编写

自从上世纪七十年代,智能卡在法国诞生后,由于其技术先进性以及人们对其的理解认同,使得各国政府对他非常重视和支持,广大的厂商争相加入对他的追捧和投入。目前它以惊人的速度发展,已经广泛应用于金融、公交、社保、通讯、医疗卫生等诸多领域,并始终保持着不断扩大的趋势。到如今,智能卡已经与我们的衣、食、住、行息息相关,在我们生活中所占的比重也越来越大。这一切,使得智能卡行业形成了一个巨大的市场。  

千金甜果的专栏 2709

新手避坑指南:从GEO数据库下载单细胞测序数据的5个关键步骤(附实操截图)

本文为单细胞测序数据下载新手提供5个关键避坑步骤,涵盖数据搜索准备、样本量评估、文件选择决策、元数据诊断及高效下载技术。通过实操截图和代码示例,帮助研究者快速锁定GEO数据库中的优质单细胞测序数据,避免常见错误。

weixin_30296405的博客 661

嵌入式系统开发学习(三)--驱动程序的设计

驱动程序的基础知识1、驱动程序的功能为应用程序提供接口,上层应用程序无需知道这台机器上硬件是什么型号,只要调用系统的函数就可以实现相应的功能。而驱动程序就是和硬件打交道,为上层提供服务,实现对下层的操作。2、何时编写驱动程序操作系统没有内置支持的硬件(常见)一些第三方或者自制的硬

zhang20072844的专栏 2646

MAX31855电路和程序,实现SPI和软件模拟时序两种方式读取数据

1. 概述 MAX31855为热电偶至数字输出转换器,内置14位模/数转换器(ADC)。器件带有冷端补偿检测和修正、数字控制器、SPI兼容接口,以及相关的控制逻辑,在温度控制器、过程控制或监测系统中设计用于配合外部微控制器(μC)工作。提供多个版本的器件,每个版本针对特定的热电偶类型(K、J、N、T或E型)进行优化和调整。热电偶类型以器件型号后缀表示(例如MAX31855K)。 器件输出14位...

睿思派克 1万+

Transformer实战——Transformer自编码模型

自编码模型依赖于原始 Transformer 编码器,并且在解决分类问题时非常高效。除了 BERT 外,还有许多流行的自编码模型,在本节中,我们将一些除 BERT 外的自编码模型,这些模型的目标是通过优化预训练过程、增加层数或头数、改善数据质量、设计更好的目标函数等,来在下游任务上取得更好的表现。这些改进大致可以分为两个方面,更好的架构设计选择和预训练控制。

盼小辉丶的博客 9304

st16c550的驱动的问题

我用的是s3c2410开发板+wince5.0。eINT13连接到16550的INT脚; kkj@!1q(wO  fpga (xc9536)的14脚 ST16c550_CS 经过244转换后,作为st16c550的片选;在cpld的程序中assign ST16c550_CS = nGCS1; 6& hiW]Adm  这样的话,相当于nGCS1作为片选,ST16c550的基地址该是0x0800_00

1002

9篇2章2节:GBD 数据库的数据申请详解

无论您是初入公共卫生领域的学生、资深的科研工作者,还是政策决策者,GBD数据库都将成为您数据分析与决策支持中不可或缺的重要工具。

MD Code 2599
上一篇: wince5.0中断的详细解释
下一篇: Windows CE内核启动分析
alien75
博客等级 码龄25年 195粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值