<meta name="keywords" content="庄家克星时时彩,FreeRTOS,SDCC,编译,开发,应用" />

SDCC编译器和FreeRTOS 在C8051F上的开发应用

宣布时间:2010年01月22日 15:01    宣布者:李宽
要害词: FreeRTOS , SDCC , 编译 , 开发 , 应用
弁言

MCS-51系列单片机应用普遍,在我国学习研究的人较多。应用C语言在单片机上开发法式模范模范可前进开发效力,现在针对该内核兼容单片机开发的C语言编译器有Keil、Tasking、Raisonance、IAR和Hi-Tech等,但这些都是商业化的产物,应用须要付费购置。应用专为单片机开发的收费C语言编译器SDCC(Small Device C Compiler)则是一个不错的选择。

由于手艺和工艺的生长,种种MCS~51系列内核兼容的新型单片机赓续推出,除运转速率前进,外部资源也徐徐富厚。例如,Silicon Labs公司推出的C8051F系列单片机,兼容8051内核,功效强年夜,运算速率快,处置赏罚赏罚才干强,为严重年夜软件的运转供应了能够。

本文简介了SDCC编译器和FreeRTOS实时操作系统,在C8051F340上移植了FreeRTOS并应用SDCC编译开发了门禁系统。现实证实,应用收费的资源完全可以知足某些系统的开发需求。

1 SDCC编译器和FreeRTOS简介

SDCC是Sandeep Dutta为8位微控制器设计的一个开放源代码、可编译发生不合CPU的目的代码、优化的ANSI-C编译器。以后版本的目的CPU是Intel公司的 MCS-51兼容系列微处置赏罚赏罚器芯片、Dallas公司的DS80C390系列、Freescale公司的HC08系列、Microchip公司的PIC系列和Atmel公司的AVR系列等。SDCC编译器的代码遵守GPL协定宣布,可以收费应用。

FreeRTOS是为小型嵌入式系统开发的一个开放源代码、收费的实时操作系统内核。其内核年夜部门应用C语言编程,具有高度的可移植性,现在曾经被移植到的处置赏罚赏罚器平台逾越19种。FreeRTOS操作系统商业应用收费,具有源码地下、可移植、可扩大、调剂战略无邪的特点,可以便利地移植到种种单片机上运转。FreeRTOS供应的功效网罗义务治理、时间治理、旌旗暗记量、新闻行列、内存治理等功效,可基本知足较小系统的须要。

2 FreeRTOS在C8051 F340中的移植和调试

FreeRTOS设计时就推敲了在种种平台上的可移植性,内核年夜部门代码应用C语言编写,多数代码应用照顾平台的汇编语言编写而且这部门被延伸到最小。 FreeR-TOS曾经被移植到种种微控制器上,在8051平台上也有照顾的移植代码。从FreeRTOS网站下载取得的法式模范模范中,网罗了一个在 C8051F120单片机上的移植版本。C8051F120和C8051F340单片机在硬件资源上的主要差异,如表1所列。

1.gif

FreeRTOS对目的平台硬件资源的请求不高,最后编译的目的代码量由所选装备选项决议。浅易须要2 KBRAM和10 KB左右的ROM便可运转。由表1可以看出,二者的硬件平台较量靠近,是以移植使命量不年夜。针对C8051F120和C8051F340单片机硬件平台的差异,将在C8051F120单片机上运转的FreeRTOS移植到C8051F340平台上所做的使命网罗:替换C8051F120CPU的头文件,调剂RAM规模年夜小,修改外部晶振频率,修改时钟滴答数等。

2.gif

修改的文件有FreeRTOS\Demo\

FreeRTOS的C8051F120平台移植代码中应用准时器2来发生系统所需的准时中止。C8051F340和C8051F120的准时器 2存放器装备略有不合,port.c中的static void prvSetupTimerInterrupt(void)函数修改后内容以下:

3.gif

4.gif

Silicon Labs公司供应了一个集成开发情形(IDE),可便利地应用该IDE开发C8051F系列单片机法式模范模范。该IDE支持多种第三方编译工具,如Keil、 Raisonance、Tas-king、Hi-Tech、SDCC和IAR等,应用时只需装配对应的软件,然后设置编译器的装配蹊径和编译选项便可,如图1所示。本文只对触及SDCC的选项阻拦诠释。

5.gif

SDCC可从http://sdcc.sourceforge.net下载取得。本文应用的版本为sdcc-win32 2.8.0,详细装配措施和法式模范参考sdccman.pdf手册。装配完后,在C8051F340平台上编译FreeRTOS的SDCC选项,如表2所列。

6.gif

7.gif

3 在门禁系统中应用FreeRTOS

FreeRTOS移植完成后,告成地在开发的门禁系统中取得了应用验证。该门禁系统完成的功效主要有:完成刷ID卡开门,应用键盘输入住户号和密码开门,住户数据应用GPRS服务通讯完成数据远程治理等。

硬件系统主要由C8051F340单片机、ID卡读卡模块、GPRS模块、键盘/显示模块和存储器模块等组成,系统结构如图3所示。

8.gif

系统软件上假定应用传统的前后台法式模范模范设计思绪,则法式模范模范结构严重年夜,设计周期长,测试艰辛。应用实时操作系统,可将系统按功效和装备依附性的准绳划分为不合的义务,各个义务可以看作是并行推行,义务之间应用实时操作系统供应的API完成存储器互斥会见和其他资源的同步等,可以较好地知足该系统的需求。

凭证系统的功效,培植3个义务:ID卡读卡处置赏罚赏罚义务、键盘/显示义务和GPRS数据通讯处置赏罚赏罚义务。各个义务的功效以下:

①ID卡读卡处置赏罚赏罚义务vIdTask。ID卡读卡义务主要完成ID卡卡号的读取和识别等功效,优先级最高。

②键盘/显示义务vKeyDispTask。键盘/显示模块主要完成人机交互和日期的显示,弱点信息的提醒等,优先级次之。

③GPRS数据通讯处置赏罚赏罚义务vG-PRSTask。GPRS数据通讯义务主要完成与治理端GPRS模块的通讯毗连和GPRS协定数据的处置赏罚赏罚等,优先级最低。

另外,GPRS模块应用串行通讯口与C8051F340通讯,串口的吸收法式模范模范接纳中止服务法式模范模范,不受操作系统的治理。当收到对应的信息时,向 GPRS数据通讯处置赏罚赏罚义务发送新闻,GPRS数据通讯处置赏罚赏罚义务再阻拦处置赏罚赏罚。培植的三个义务都有能够同时读写存储器,是以培植一个互斥旌旗暗记量,当须要操作存储器时,先取得这个旌旗暗记量,存储器操作终了后再释放这个旌旗暗记量。ID卡读卡处置赏罚赏罚义务的代码中互斥旌旗暗记量的应用以下:

9.gif

系统主函数主要完成硬件初始化,培植旌旗暗记量、义务和各个义务的启动等。部门代码完成以下:

10.gif

4 结论

应用SDCC编译器和 FreeRTOS操作系统等收费资源开发系统法式模范模范,能够增添使命量,降低开发资源,具有很年夜的优势。SDCC编译器应用无邪,装备便利,FreeRTOS 经由修改扩大后,代码精简,结构紧凑,合适于小型嵌入式系统应用。作者在门禁系统中应用获获告成的验证;然则SDCC和 FreeRTOS仍有许多弱点,如SDCC没有IDE,编译装备选项严重年夜,FreeRTOS供应的服务功效无限等。
     
作者:山东科技年夜学 王晓  黄鹤松  薛琳 泉源:《单片机与嵌入式系统应用 》 2009(7)
迎接分享本文,转载请生涯出处:http://badahub.com/thread-7883-1-1.html     【打印本页】
您须要登录后才可以揭晓议论 登录 | 急速注册

厂商推荐

相关在线工具

相关文章

相关视频演示

关于我们  -  服务条目  -  应用指南  -  站点舆图  -  友谊链接  -  联系我们
庄家克星时时彩-时时彩qq群-时时彩平台推荐 © 版权一切   | 京公网安备110108881021702
回顶部