我想知道是否可以将操作系统移植到STM32发现板中,这样我就可以连接触摸屏,然后将此项目制作成MP3播放器或Internet Radio。
因此,考虑到我是STM32控制器编程的初学者,在规定的2个月内完成这项工作可行吗。。还是这个项目远远超出了我的水平。
这个项目是为我的文凭课程
我只想使用C编程。
[…]这样我就可以连接触摸屏,稍后将这个项目制作成MP3播放器或互联网收音机。
这两件事都不一定需要操作系统,虽然操作系统可能会让开发变得更容易,但操作系统中几乎没有什么能"为你做到这一点"。触摸屏支持可能完全取决于您,尽管有许多用于小屏幕和微控制器的GUI库(但很少是免费的)。
典型的RTOS是作为静态链接到应用程序代码的库提供的。它提供任务调度、定时、同步和消息传递服务。一些RTOS可能提供更高级别的"中间件",如网络堆栈、USB支持和文件系统,但您也可以使用第三方库。
但是,要直接回答您的问题,您当然可以运行RTOS。任何支持RTOS的Cortex-M3都会运行,因为Cortex-M三内核为RTOS(NVIC、SYSCLK)提供了所有关键支持,所以几乎没有什么"移植"可以让基本的RTOS调度器工作。
除了RTOS之外,您当然应该研究ST的STM32标准外设库,它为您设备上可用的所有外设和GPIO提供支持。
以下是带有STM32端口的开源RTOS库的列表。
FreeRTOS的网站上有一个专门用于STM32发现的页面。
对于C编程而言,Cortex-M(STM32中使用的核心)是理想的;它支持从重置开始的C执行,并且中断服务例程可以直接用C编码,而不需要任何汇编程序粘合剂或特殊的编译器扩展。
当然,如果你很聪明,两个月的时间是足够的,但操作系统并不是最大的问题——对网络和文件系统的支持可能是你建议的应用程序的关键,将这些与RTOS集成至关重要。