AvrXSetObjectSama-phore、AvrXIntObjectSamaphore、AvrXResetObiectSama-phore、AvrXWaitObjectSamaphore、AvrXTestObjectSama-phore和AvrXInfTestObjectSamaphore。
1.7系统堆栈
AVRX需要足够大的堆栈来处理所有可能的中断嵌套。每次进入内核将会把10~35字节压进堆栈(标准上下文和返回地址),中断处理可能压进去更多。AVRX的API会临时压入2个以上的字节。GCC或者汇编代码定义于SRAM的顶部,保证AVRX的堆栈在有效SRAM空间之内是设计者的工作。
2 AVRX系统的应用
2.1 AVRX在不同型号AVR单片机上的移植
下面以ATmegM6为例,介绍移植工作。
&nbs p;
(1)编译器的选择
由于AVRX的编者是在GNU推出的AVR-GCC编译器下编写的,所以选用AVR-GCC编译器可以大大提高AVRX在不同AVR单片机上的移植特性。
(2)重新编译AVRX内核
为了将应用程序成功编译,需要重新编译AVRX内核,重新编译包括下述步骤。
①重新修改AVRX源码的Makefile文件,需要修改的几处如下:
②重新修改AVRX源码的serialio.S文件,即根据不同的单片机修改串口部分的寄
存器定义。需要增添如下代码:
③重新编译内核。具体做法是复制一个“命令提示符”到AVRX目录下,运行“命令提示符”,键入“makegcc”命令后运行就完成了AVRX内核的重新编译,会生成很多的.o文件和avrx.a文件。这些文件在以后的应用程序中会使用。
至此就完成了AVRX在ATmegal6单片机上的内核移植,接着就可以编写应用程序了。
2.2在AVRX上编写应用程序
这时候要用一个新的makefile文件,同时自己的程序可以不和AVRX的内核在一个目录,但是要指出依赖文件的明确路径。makefile的框架可以采用Winavr的插件电感sam-ple文件夹下的makefile文件框架。这里的难点其实还是makefile文件的语法问题。下面介绍应用程序的makefile文件在实例中需要修改或增加的代码:
3 系统测试
贴片功率电感器厂3.1 系统实时性测试
在实时系统中,实时系统的实时性表现在系统对外部事件的响应能力上。系统通过中断来响应外部事件的发生,并且在用户中断程序中做的事要尽量少,把大部分工作留给任务去做,只是通过信号量或者消息机制来通知任务运行。Mega16的定时器2设为比较匹配输出模式,在匹配时间到了之后产生一定周期脉冲输出,并产生中断。设置定时器1为计数模式来计数产生的脉冲输出。通过定时器2的比较匹配中断服务子程序来发信号量通知任务运行,并在中断子程序中不开中断,而在任务得到信号后开中断,以实现中断处理与任务运行的同步。任务中对一个全局变量计数,以记录任务执行的次数。运行一段时间后,在设置的匹配时间里,任务的运行次数和定时器1的计数一样,则系统在这段时间里是能完全响应外部事件的。当定时器2的比较匹配时间设为大于23 μs时,2个计数是相等的;当小于23 μs时,定时器1计数值大于任务计数值,说明任务没有完全得到响应。这说明中断的进入和返回即系统对外部时间的响应和处理时间为23 μs,远远大于其他操作系统在AVR单片机上移植后的响应时间。
3.2应用例程测试
这里只对源文件中的几个例程先进行简单的编译,然后去掉不必要的代码,加入自己想测试的一些代码,进行了定时器控制模块、信号量和消息队列以其简单组合的测试,均在ATmega16上达到了预期的效果。
4 心得体会
&nbs p; ①AVRX的源码都是用汇编语言编写的,相对来讲代码效率很高,但是由于没有详细的API介绍文档,所以最好的入门方法就是先读懂RTOS的源码和例程,然后进行修改,再加上自己的代码逐渐熟练应用。扁平线圈电感制造厂
Driver Consideration PART-1 电力电子领域,功率器件是个永恒的话题,从工艺到材料,每天都在不断进步,这些进步提高了功率器件的开关速度,降低了开关损耗,导通损耗,进而可以提高电源的开关频率和功率密度。在得
[充电器]蓝牙耳机充电舱,5V输出常在,蓝牙耳机摘机这是一款性能稳定的蓝牙耳机充电舱电路,5V输出常在,蓝牙耳机摘机自动开机,功耗低!续航时间长。 交流QQ:25029101031、充电状态红灯长亮。 2、充满红灯灭,蓝灯常亮10秒,然后灭。 3、放电电流大于10mA,小于140mA,蓝灯亮0.5秒,灭4.5秒。 4、放电电流大于2mA,小于5mA,蓝灯亮0.5秒,灭0.5秒。 5、放电电流小于2mA,蓝灯不亮。 6、放电电流大于140mA,红灯快闪3秒(5Hz频率),关闭输出。 7、大电流保护后,等待3秒再次打开输出。 8、单击按键电量显示(在任何时候
光伏发电和ZigBee协议在智能防盗系统中的应用摘要:主要阐述光伏发电和ZigBee协议在家庭智能防盗系统中的应用。为达到报警目的,由红外传感器对人体体温检测,通过低功耗的2.4 GHz芯片JF24C将信号经由无线传感器网络传向主机,主机计算后发出