将操作系统放在ARM等嵌入式系统上后,我是否需要了解有关访问IO的寄存器和内存

时间:2016-04-20 15:11:25

标签: operating-system arm embedded microcontroller rtos

HI我是嵌入式系统的新手。

  1. 假设我正在使用ARM M系列微控制器而我正在做一些事情 使用寄存器和内存进行操作以从'X'获取传感器数据 港口。现在我把操作系统放在同一个控制器上了 成为推动操作系统的优势。我不需要访问 注册或存储以从'X'端口获取传感器数据。
  2. 我见过许多博客,认为操作系统只能与所有操作系统相关 功能如文件管理系统,内存管理系统等。 这是唯一的目的,是正确的。请帮帮我 我应该将操作系统放在我的嵌入式应用程序上。请不要 发送任何链接,我看到很多链接而不理解。
  3. 如果我将操作系统放在嵌入式系统上,我认为我不需要 知道完整的架构,如注册银行等..就是这样 正确。如果它是正确的,我如何从'X'端口获取传感器数据 以及如何将我的printf重定向到端口而不是控制台上打印。

1 个答案:

答案 0 :(得分:2)

实时操作系统(RTOS),如FreeRTOS和uC / OS-II,与通用操作系统(如Linux和Windows)不同。我猜你自从提到ARM Cortex-M核心后就一直在询问RTOS。

典型的实时操作系统(RTOS)不为微控制器的外围设备提供驱动程序。外设我指的是硬件定时器,DMA控制器,GPIO,SPI,I2C和UART端口。因此,RTOS不会让您无需访问存储器映射寄存器来控制微控制器的外设。您可能需要自己开发外设驱动程序。微控制器的供应商可以提供外围驱动程序库,为微控制器的外围设备提供更加开发人员友好的接口。但外围驱动程序库通常独立于任何RTOS。

RTOS使您能够制作多任务应用程序。如果没有RTOS,您的应用程序很可能是单线程的。使用RTOS,您的应用程序可以分解为多个执行线程,这些线程在适当时相互抢占。如果您的应用程序很复杂且具有多个时间关键功能,则RTOS可能会有所帮助,因为它允许您将这些关键功能拆分为独立任务,而不是具有复杂的超级循环。 RTOS通常包括与任务间通信和同步相关的若干服务,如信号量,互斥,队列和邮箱。