【问题标题】:Porting an OS into STM32VL将操作系统移植到 STM32VL
【发布时间】:2014-02-07 16:10:59
【问题描述】:

我想知道是否可以将操作系统移植到 STM32 探索板上,以便我可以连接触摸屏,然后将这个项目制作成 MP3 播放器或网络收音机。

所以考虑到我是 STM32 控制器编程的初学者,所以是否可以在规定的 2 个月内完成这项工作..或者这个项目比我的水平高得多。

这个项目是为我的文凭课程准备的

我只想使用 C 编程。

【问题讨论】:

  • 当然,问题更多的是什么操作系统,有什么好处。听起来您可能真正想要的是接口库(不一定意味着操作系统)和可能的轻量级调度程序,它开始了。您对平台的限制,按照您可能感觉到的顺序,将是有限的 RAM、有限的 FLASH,最后是有限的 CPU 速度。您最终可能会得到一个挂在 SPI 上的 SD 卡进行存储。请注意,尽管有串行或 SPI 接口适配器,但您没有任何非常直接的以太网或 WiFi 选项。
  • 您还可以查看 STM32F4 Discovery,它具有一些更强大的功能(更大的内存、半个网络接口以及作为 USB 主机的可能性),具有对于您将投资数周至数月的项目而言,成本将微不足道。
  • 有 FreeRTOS 端口吗?
  • 似乎没有一个“真正的”4 位 SD 卡控制器:(
  • 克里斯感谢您的回复。不幸的是,我订购了 STM32F100RB,这似乎是发现板中最便宜的。我正在考虑使用任何免费的 RTOS 或 CHIBIos,但我的主要动机是应用我在课程中学到的技能..是否不可能将操作系统转储到 I2c 中配置的 SD 卡中。

标签: operating-system embedded arm rtos stm32


【解决方案1】:

[...] 这样我就可以连接一个触摸屏,然后将这个项目制作成 MP3 播放器或网络收音机。

这些事情都不一定需要操作系统,虽然操作系统可能会使开发变得更容易,但操作系统中几乎没有什么可以“为您做到这一点”。触摸屏支持可能完全取决于您,尽管有许多用于小屏幕和微控制器的 GUI 库(不过很少有免费的)。

典型的 RTOS 以静态链接到您的应用程序代码的库的形式提供。它为任务调度、定时、同步和消息传递提供服务。一些 RTOS 可能提供更高级别的“中间件”,例如网络堆栈、USB 支持和文件系统,但您也可以使用第三方库。

但是,直接回答您的问题,您当然可以运行 RTOS。任何支持 RTOS 的 Cortex-M3 都可以运行,因为 Cortex-M3 内核为 RTOS(NVIC、SYSCLK)提供了所有关键支持,因此只需进行很少的“移植”即可让基本的 RTOS 调度程序正常工作。

除了 RTOS 之外,您当然应该研究的是 ST 的 STM32 标准外设库,它为您设备上可用的所有外设和 GPIO 提供支持。

Here's a list 的带有 STM32 端口的开源 RTOS 库。

FreeRTOS 的网站有一个page specifically for the STM32 discovery

对于 C 编程 Cortex-M(STM32 中使用的内核)是理想的;它支持从复位和中断服务例程执行 C 语言,可以直接用 C 语言编写代码,无需任何汇编程序胶水或特殊的编译器扩展。

如果你很聪明,两个月的时间已经足够了,但操作系统并不是最大的问题——对网络和文件系统的支持可能是你建议的应用程序的关键,并将它们与你的应用程序集成RTOS 至关重要。

【讨论】:

    猜你喜欢
    • 2016-02-16
    • 2011-08-30
    • 2010-09-11
    • 2013-03-12
    • 2015-06-17
    • 2011-11-08
    • 1970-01-01
    • 2016-08-18
    • 2012-03-20
    相关资源
    最近更新 更多