您的位置 首页 硬件

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

MCS-51系列单片机应用广泛,在我国学习研究的人较多。使用C语言在单片机上开发程序可提高开发效率,目前针对该内核兼容单片机开发的C语言编

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所列。

FreeRTOS对方针渠道硬件资源的要求不高,最终编译的方针代码量由所选装备选项决议。一般需求2 KBRAM和10 KB左右的ROM即可运转。由表1能够看出,二者的硬件渠道比较挨近,因而移植作业量不大。针对C8051F120和C8051F340单片机硬件渠道的不同,将在C8051F120单片机上运转的FreeRTOS移植到C8051F340渠道上所做的作业包含:替换C8051F120CPU的头文件,调整RAM规模巨细,修正外部晶振频率,修正时钟滴答数等。

修正的文件有FreeRTOS\Demo\

FreeRTOS的C8051F120渠道移植代码中运用守时器2来发生体系所需的守时中止。C8051F340和C8051F120的守时器2寄存器装备略有不同,port.c中的static void prvSetupTimerInterrupt(void)函数修正后内容如下:

Silicon Labs公司供给了一个集成开发环境(IDE),可方便地运用该IDE开发C8051F系列单片机程序。该IDE支撑多种第三方编译东西,如Keil、 Raisonance、Tas-king、Hi-Tech、SDCC和IAR等,运用时只需装置对应的软件,然后设置编译器的装置途径和编译选项即可,如图1所示。本文只对触及SDCC的选项进行阐明。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/254231.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部