CodeWarrior环境下中断使用

对于飞思卡尔CodeWarrior的中断使用,一般有3种方法:

1.把#pragma TRAP_PROC放在中断程序前面,并把中断向量表放到*.prm。

例如:

#pragma TRAP_PROC

void PIT1(void)

{

//your code

  //……

}

2.或者使用关键词interrupt,并把向量表加入*.prm。

例如:

interrupt void intPIT1(void)

{

//your code

  //……

}

向量表的首地址放入*.prm

例如:

//VECTOR ADDRESS 0xFFEA Int_ico2  //输入捕捉中断 pt2,pt3=0xffe8
//VECTOR ADDRESS 0xFFD6 Sci0ReceiveISP  //串口接收中断入口

3.在定义中断程序的时候使用关键词interrupt并把特定的中断向量号放在后面,这种方法不需要在*.prm中更改任何东西。

例如:

void interrupt 66 PIT0(void)

{

//your code

  //……

}

时间: 2024-09-28 11:35:32

CodeWarrior环境下中断使用的相关文章

嵌入式环境下并发控制与线程安全

嵌入式环境下并发控制与线程安全 代码规模日益增大和基于RTOS的多线程技术使嵌入式软件开发越来越关注"并发控制和线程安全",当多个执行线程(指正在运行代码的任意上下文,包括线程和中断服务程序)需要访问相同的共享资源时(包括软件数据和硬件资源),就可能因为竞态而导致错误.这种错误容易制造,但很难找到,从设计上保证正确性收益更大. 竞态的产生 当一个共享资源被多个执行线程"非原子性"访问时,一个执行线程的操作被另一个执行线程打断而带来错误就叫"竞态"

redis持久化策略梳理及主从环境下的策略调整记录

redis是一个内存数据库,它的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为"半持久化模式"):也可以把每一次数据变化都写入到一个Append Only File(AOF)里面(这称为"完全持久化模式").redis提供了两种不同级别的持久化方式:一种是默认的RDB(filesnapshotting快照)持久化,一种是AOF持久化,这两种持久化方式都可以将内存中的数据库状态保存到磁盘上,但是原理非常不同,区别很明显! 1.RDB持久化可以在

【原创】Linux环境的图形系统和AMD显卡驱动编程(1)——Linux环境下的图形系统简介

Linux/Unix环境下最早的图形系统是Xorg图形系统,Xorg图形系统通过扩展的方式以适应显卡和桌面图形发展的需要,然而随着软硬件的发展,特别是嵌入式系统的发展,Xorg显得庞大而落后.开源社区开发开发了一些新的图形系统,比如Wayland图形系统. 由于图形系统.3D图形本身的复杂以及历史原因,Linux下的图形系统相关的源码庞大而且复杂,而且缺少学习的资料(所有源代码分析或者驱动编程的书籍都很少介绍显卡驱动).在后续一系列文章中,笔者将从对AMD硬件编程的角度出发对部分问题做一个简单的

Windows环境下ARM集成开发环境的搭建与使用

Windows环境下能够使用Eclipse IDE for C/C++ Developers来搭建ARM开发环境 本文地址:http://blog.csdn.net/u011833609/article/details/30290655 安装过程例如以下: 1. 安装Java SE 网址:http://www.oracle.com/technetwork/java/javase/downloads/jre-7u3-download-1501631.html 下载这个文件:jre-7u3-wind

【菜鸟学php】小菜鸟由帝国备份王在Wamp环境下打开500错误浅谈PHP程序员

===================问题情况描述=================== 小弟一直在玩discuz论坛开源程序,这个论坛程序经常涉及到论坛搬家的问题. 今天我在本地Wamp环境下,用开源软件帝国备份王2010进行数据库备份数据,结果打开发现报错500! 这真是坑爹了,回想下以前自己使用这个开源程序进行备份也不下于十几次了,大部分都正常成功, 但也不乏出现这种情况的,小弟之前一般遇到这种问题, 都是直接忽略,换其他办法来进行备份,但是用惯了帝国备份王,换其他的方法备份数据,总感觉难

Linux环境下的高级隐藏技术

linux相关资料由兄弟连官方分享 摘要:本文深入分析了Linux环境下文件.进程及模块的高级隐藏技术,其中包括:Linux可卸载模块编程技术.修改内存映象直接对系统调用进行修改技术,通过虚拟文件系统proc隐藏特定进程的技术. 隐藏技术在计算机系统安全中应用十分广泛,尤其是在网络攻击中,当攻击者成功侵入一个系统后,有效隐藏攻击者的文件.进程及其加载的模块变得尤为重要.本文将讨论Linux系统中文件.进程及模块的高级隐藏技术,这些技术有的已经被广泛应用到各种后门或安全检测程序之中,而有一些则刚刚

Oracle RAC 环境下的连接管理(转) --- 防止原文连接失效

崔华老师的文章!!! 这篇文章详细介绍了Oracle RAC环境下的连接管理,分别介绍了什么是 Connect Time Load Balancing.Runtime Connection Load Balancing.Connect Time Connection Failover 和 Runtime Connection Failover,以及里面所涉及到的 TAF.ONS.FCF.FAN.LBA 等诸多知识点.本文主要是针对 Oracle RAC 11gR2 环境下的连接管理,但同时也会对

UNIX环境下的命令行调试工具: gdb

UNIX环境下的命令行调试工具: gdb 如果需要使用gdb调试程序,请在gcc时加上-g选项. 下面的命令部分是简化版,比如使用l代替list等等. 1.基本命令 1)进入GDB #gdb test test是要调试的程序,由gcc test.c -g -o test生成.进入后提示符变为(gdb) . 2)查看源码 (gdb) l 源码会进行行号提示. 如果需要查看在其他文件中定义的函数,在l后加上函数名即可定位到这个函数的定义及查看附近的其他源码.或者:使用断点或单步运行,到某个函数处使用

Linux环境下Redis安装配置步骤[转]

在LInux下安装Redis的步骤如下: 1.首先下载一个Redis安装包,官网下载地址为:https://redis.io/ 2.在Linux下解压redis: tar -zxvf redis-2.8.22.tar.gz 3.解压完成之后,进入到解压的目录里面“”redis-2.8.22”,命令为 cd redis-2.8.22 4.执行 make 命令,如果出现“/bin/sh: cc: command not found ”之类的错误,是因为系统本身没有安装gcc环境.此刻呢我们可以用yu