- 主题:有谁介绍一下RTOS编程的精髓
哦?那你精准采样试试力大砖飞?
【 在 Oriphia 的大作中提到: 】
: 现在用新的mcu就不需要考虑实不实时的问题,力大砖飞,用典型的160Mhz risc-v想不实时都很难。
: 实时只是一个相对概念,高并发的用FPGA就不讨论了,用mcu的话,100us以内我都认为是实时的。对于现在mcu主频来说太轻易了。
: 用FreeRTOS就行了,因为现在mcu主频太高了,基本上程序瞎写也不会慢,不需要做什么优化。
: ...................
--
FROM 180.116.131.*
有意义的,比如你用MCU做TCP/IP通讯和CAN,485等,硬件是能中断,但是来了一个通讯请求,如果你正在通讯又来了一个通讯请求,第一个通讯又不能挂起的时候,就必须用软中断
【 在 heyuanlie 的大作中提到: 】
: 都用硬件中断了,搞消息机制这种软件中断就没意义了。
:
--
FROM 180.116.131.*
对,多任务必须,但是其实力大砖飞也行,比如你的系统最多要处理10种任务,普通一个M0,3个硬中断,再利用软中断可以了,你可以力气大一点,买个H7回来,直接10个硬中断,随便造
【 在 DraculaW 的大作中提到: 】
:
: 你多任务又要实时 不就得软硬中断加优先级加消息机制么
--
FROM 180.116.131.*
简单的并行其实MCU是可以实现的,但是必须是简单任务,比如利用DMA并行处理数据,然后主程序再一起处理一下,可以算半个并行了
【 在 heyuanlie 的大作中提到: 】
: 我理解是并行要么用硬件实现,像fpga、gpu这种。
: 否则,在串行CPU上软件实现的并行多线程,其实不是并行。
: 其实实时系统用并行还是串行实现不是重点,能满足响应时间要求就行。
: ...................
--
FROM 180.116.131.*
对,排队等着
但是这个和RTOS的复杂程度有关系
简单的OS,不支持优先级抢占,只能时间片轮转,只能给任务排队,一个任务执行一定时间就切换处理下一个任务,除了保护任务现场没有其他功能也是有的,比如51下的某个tiny操作系统
然后复杂度上去,同样上文的操作系统,full版本,可以抢占
再到STM32里面,uCOS,现在火的FREERTOS,其实你撸完FREERTOS的代码,自己也能写一个,理解功能就可以了
【 在 heyuanlie 的大作中提到: 】
: 这样的软中断是不是相当于让软中断排队等着?
:
--
FROM 180.116.131.*