Operating system 将操作系统移植到STM32VL

Operating system 将操作系统移植到STM32VL,operating-system,embedded,arm,rtos,stm32,Operating System,Embedded,Arm,Rtos,Stm32,我想知道是否有可能将一个操作系统移植到STM32发现板,这样我就可以连接一个触摸屏,然后将这个项目制作成MP3播放器或互联网收音机 所以考虑到我是一个编程STM32控制器的初学者,那么在规定的2个月时间内完成这项工作是可行的,还是这个项目远远超出了我的水平 这个项目是我的文凭课程 我想只使用C编程 […]这样我就可以连接触摸屏,然后把这个项目变成MP3播放器或互联网收音机 这两件事都不一定需要操作系统,虽然操作系统可能会使开发变得更容易,但操作系统中几乎没有什么能“为您做到这一点”。触摸屏的支持

我想知道是否有可能将一个操作系统移植到STM32发现板,这样我就可以连接一个触摸屏,然后将这个项目制作成MP3播放器或互联网收音机

所以考虑到我是一个编程STM32控制器的初学者,那么在规定的2个月时间内完成这项工作是可行的,还是这个项目远远超出了我的水平

这个项目是我的文凭课程

我想只使用C编程

[…]这样我就可以连接触摸屏,然后把这个项目变成MP3播放器或互联网收音机

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

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

不过,为了直接回答您的问题,您当然可以运行RTOS。任何支持RTOS的Cortex-M3都将运行,因为Cortex-M3内核为RTOS(NVIC、SYSCLK)提供了所有关键支持,所以要让基本RTOS调度器正常工作,几乎不需要进行“移植”

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

使用STM32端口的开放源代码RTOS库

FreeRTOS的网站有一个

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


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

当然,问题更多的是什么操作系统,有什么好处。听起来您可能真正想要的是接口库(不一定意味着操作系统)和轻量级调度程序,它开始运行。您对平台的限制,按照您可能感觉到的顺序,将是有限的RAM、有限的闪存,最后是有限的CPU速度。您可能会在SPI上挂一张SD卡作为存储。注意:对于internet收音机,虽然有串行或SPI接口适配器,但您没有任何非常直接的以太网或WiFi选项。您也可以看看STM32F4 Discovery,它有一些更大的功能(更多内存、半个网络接口以及作为USB主机的可能性),对于一个你将投资数周到数月的项目来说,成本会高出很多。是否有FreeRTOS端口?似乎没有一个是“真正的”4位SD卡控制器:(Chris感谢您的回复。.不幸的是,我订购了STM32F100RB,这似乎是discovery board系列中最便宜的。我正在考虑使用任何免费的RTO或CHIBIos,但我的主要动机是应用我在课程中学到的技能。.是否不可能将操作系统转储到配置为I2c的SD卡中。