FreeRTOS零散:FreeRTOS的零星服务器调度程序分支

  • Y3_559865
    了解作者
  • 255.9KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-14 04:05
    上传日期
FreeRTOS-arduino 这是Richard Barry的freeRTOS的一种形式。 它被创建为用于在arduino uno上进行的实时系统分配。 它使用具有实现的memcpy和realloc方法的heap4.c而不是heap3。 堆设置为1024字节。 原始叉子的整个自述文件留在此下方。 原始自述文件 这是Richard Barry的freeRTOS的分支,针对Arduino AVR设备进行了优化。 它的创建是为了提供对FreeRTOS功能的访问,并与Arduino环境完全兼容。 它通过使几乎所有东西都无法动手,并且仅接触最少的硬件来成功实现此目的。 进一步阅读 信息的规范来源是。 在此站点中,“页面非常有用。 我在上有一篇简短的博客文章,另一篇关于将一起使用的较老的文章,可能对阅读也很有用。 我在上还写了一些其他的帖子,但是它们本质上是相同的内容。 我的其他或有很
FreeRTOS-sporadic-master.zip
  • FreeRTOS-sporadic-master
  • src
  • stream_buffer.h
    37.1KB
  • mpu_wrappers.h
    11.7KB
  • variantHooks.cpp
    9.8KB
  • stream_buffer.c
    49.5KB
  • message_buffer.h
    36.2KB
  • timers.h
    59.1KB
  • license.txt
    2KB
  • port.c
    24.1KB
  • queue.h
    62.6KB
  • tasks.c
    204.5KB
  • FreeRTOSConfig.h
    4.5KB
  • portable.h
    10.8KB
  • queue.c
    139.6KB
  • .gitignore
    18B
  • heap4.c
    20.7KB
  • projdefs.h
    2.6KB
  • FreeRTOSVariant.h
    2.8KB
  • croutine.h
    26.8KB
  • portmacro.h
    4.8KB
  • croutine.c
    14KB
  • event_groups.c
    29KB
  • stack_macros.h
    8.2KB
  • history.txt
    127.3KB
  • timers.c
    49.8KB
  • task.h
    100.5KB
  • list.h
    19.2KB
  • Arduino_FreeRTOS.h
    40.8KB
  • semphr.h
    46.7KB
  • list.c
    8.5KB
  • event_groups.h
    30.5KB
  • README.md
    5KB
  • .gitignore
    2.1KB
  • platformio.ini
    427B
内容介绍
# FreeRTOS-arduino This is a fork of a form of Richard Barry's freeRTOS. It has been created to use for the real time systems assigments done on the arduino uno. It uses heap4.c instead of the heap3, with implemented memcpy and realloc methods. The heap is set to 1024 bytes. The whole readme of the original fork is left below this. # ORIGINAL README This is a fork of Richard Barry's freeRTOS, optimised for the Arduino AVR devices. It has been created to provide access to FreeRTOS capabilities, with full compatibility to the Arduino environment. It does this by keeping hands off almost everything, and only touching the minimum of hardware to be successful. ## Further Reading The canonical source for information is the [FreeRTOS Web Site](https://www.freertos.org/). Within this site, the [Getting Started](https://www.freertos.org/FreeRTOS-quick-start-guide.html) page is very useful. I have a short blog post on [Arduino FreeRTOS](https://feilipu.me/2015/11/24/arduino_freertos/), and another much older post on using [FreeRTOS with AVR](https://feilipu.me/2011/09/22/freertos-and-libraries-for-avr-atmega/), which may be useful to read too. There are some further posts I've written on [Hackster.IO](https://www.hackster.io/feilipu), but they're essentially the same content. My other [AVRfreeRTOS Sourceforge Repository](https://sourceforge.net/projects/avrfreertos/) or [AVRfreeRTOS Github](https://github.com/feilipu/avrfreertos) has plenty of examples, ranging from [blink](https://sourceforge.net/projects/avrfreertos/files/MegaBlink/) through to a [synthesiser](https://sourceforge.net/projects/avrfreertos/files/GA_Synth/). ## General FreeRTOS has a multitude of configuration options, which can be specified from within the FreeRTOSConfig.h file. To keep commonality with all of the Arduino hardware options, some sensible defaults have been selected. The AVR Watchdog Timer is used to generate 15ms time slices, but Tasks that finish before their allocated time will hand execution back to the Scheduler. This does not affect the use of any of the normal Timer functions in Arduino. Time slices can be selected from 15ms up to 500ms. Slower time slicing can allow the Arduino MCU to sleep for longer, without the complexity of a Tickless idle. Watchdog period options: * `WDTO_15MS` * `WDTO_30MS` * `WDTO_60MS` * `WDTO_120MS` * `WDTO_250MS` * `WDTO_500MS` Note that Timer resolution is affected by integer math division and the time slice selected. Trying to measure 50ms, using a 120ms time slice for example, won't work. Stack for the `loop()` function has been set at 192 bytes. This can be configured by adjusting the `configMINIMAL_STACK_SIZE` parameter. If you have stack overflow issues, just increase it. Users should prefer to allocate larger structures, arrays, or buffers using `pvPortMalloc()`, rather than defining them locally on the stack. Memory for the heap is allocated by the normal `malloc()` function, wrapped by `pvPortMalloc()`. This option has been selected because it is automatically adjusted to use the capabilities of each device. Other heap allocation schemes are supported by FreeRTOS, and they can used with additional configuration. ## Upgrading * [Upgrading to FreeRTOS-9](https://www.freertos.org/FreeRTOS-V9.html) * [Upgrading to FreeRTOS-10](https://www.freertos.org/FreeRTOS-V10.html) ## Errors * Stack Overflow: If any stack (for the `loop()` or) for any Task overflows, there will be a slow LED blink, with 4 second cycle. * Heap Overflow: If any Task tries to allocate memory and that allocation fails, there will be a fast LED blink, with 100 millisecond cycle. ## Errata Testing with the Software Serial library shows some incompatibilities at low baud rates (9600), due to the extended time this library disables the global interrupt. Use the hardware USARTs. ## Compatibility * ATmega328 @ 16MHz : Arduino UNO, Arduino Duemilanove, Arduino Diecimila, etc. * ATmega328 @ 16MHz : Adafruit Pro Trinket 5V, Adafruit Metro 328, Adafruit Metro Mini * ATmega328 @ 16MHz : Seeed Studio Stalker * ATmega328 @ 16MHz : Freetronics Eleven * ATmega328 @ 12MHz : Adafruit Pro Trinket 3V * ATmega32u4 @ 16MHz : Arduino Leonardo, Arduino Micro, Arduino Yun, Teensy 2.0 * ATmega32u4 @ 8MHz : Adafruit Flora, Bluefruit Micro * ATmega1284p @ 16MHz: Sanguino, WickedDevice WildFire * ATmega1284p @ 24.576MHz : Seeed Studio Goldilocks, Seeed Studio Goldilocks Analogue * ATmega2560 @ 16MHz : Arduino Mega, Arduino ADK * ATmega2560 @ 16MHz : Seeed Studio ADK * ATmegaXXXX @ XXMHz : Anything with an ATmega MCU, really. ## Files & Configuration * `Arduino_FreeRTOS.h` : Must always be `#include` first. It references other configuration files, and sets defaults where necessary. * `FreeRTOSConfig.h` : Contains a multitude of API and environment configurations. * `FreeRTOSVariant.h` : Contains the AVR specific configurations for this port of freeRTOS. * `heap_4.c` : Contains the heap allocation scheme based on `malloc()`. Other schemes are available, but depend on user configuration for specific MCU choice.
评论
    相关推荐
    • memcached服务器
      memcached服务器,安装包。memcached服务器,安装包。
    • iocp服务器客户端混合框架
      //连接远程服务器成功 或 接收到一个远程连接时,本函数将会被ioc.dll回调.在本函数中,应该向客户端列表中添加节点,记得加锁 // //2.s :套接字句柄,标志着一个新的连接 //3.u_addr:对端的IP地址,网络字节序 //4.u_...
    • EMC备份案例
      EMC备份软件 硬件资料 大连理工大学客户案例 2009年下半年,大连理工大学网络与信息...进一步扩大服务器虚拟化,将校园门户等关键应用迁移到虚拟化环境。这 意味着,大连理工大学在虚拟化应用方面走在同行和业界前列。
    • EMC配置手册
      EMC自从和DELL合作后,销量暴涨,那么在如今大规模使用的趋势下,作为企业的存储管理者,如何使用和配置EMC也成为了必要的常识。通过这篇文章,希望能对你深入地了解存储系统有所帮助。
    • EMC器件详解
      详细介绍EMC相关的每个器件的使用原理以及在EMC设计过程中这些器件滤掉的干扰
    • GloopBot:适用于ConU BIOBIOCHEMCHEM不和谐服务器的实用程序bot
      ConU BIO / BIOCHEM / CHEM不和谐服务器的实用程序bot。 所有命令列表 Gloop bot的所有命令均以前缀“>”表示。 > ping 返回以毫秒为单位的延迟。 >报名[部门] [班级编号] 唯一可用的部门是生物学和化学部门。 ...
    • EMC存储容灾
      企业或运营商数据存储EMC异地容灾解决方案
    • EMC存储最佳实践手册
      因此,EMC推荐你使用Navisphere Analyzer来分析你的阵列的工作情形,并且要定期的复习和回顾相关文档的基础知识。同时,请记住在配置一个阵列的时候很少有显而易见的选择,所以在有疑问的时候最好是按照默认的配置和...
    • memcache服务器
      memcache服务器端 版本:1.2.1 安装方法:在cmd下,切换到解压目录,执行以下命令 memcached.exe -k install memcached.exe -k start 即可。以后每次开机,会自动作为服务启动,不需要的话,自己去服务中关闭自动启动
    • GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz
      guassdb100在redhat上安装包,单机部署的包,安装步骤请看我的文中介绍,经过大量实验搭建总结出来的文档