【百问网智能家居】学习嵌入式,了解裸机和RTOS开发
该博客是本人在学习百问网视频过程中的记录与心得,所以内容可能有些许错误,欢迎大家指正。
一、嵌入式学习方向
通过学习百问网的视频,我了解到嵌入式行业的发展方向,对于初学者,在掌握了一定的数字电路、模拟电路、C语言以及基本的MCU软硬件知识后,就可以进行简单的开发了。一般来说,在嵌入式开发中,首先接触的开发模式是裸机开发,这类难度较低,岗位较多,待遇一般;随后接触的是RTOS开发,难度将大幅提升,岗位也比较多,待遇也会提高;关于Linux的开发,难度就会更高,待遇也会相应提升。对于我们初学者,学习方向一般是裸机——RTOS——Linux。至于DSP和FPGA,一般作为补充来学习,只有特殊项目才需要去学习它。
二、裸机开发和RTOS开发
对于裸机开发,一般有两种方式,轮询和事件驱动。其中,轮询方式在某个任务耗时比较长的时候,不能及时的响应其他任务。而事件驱动方式采用中断触发响应事件,在面对任务较多的情况,中断的优先级分配问题依旧不易解决。而通常我们进行裸机开发的时候,采用的是轮询和事件驱动方式相结合的方式,弥补了一定的缺陷,但对于多任务依旧难以把握。为此,引入了RTOS。
对于RTOS,能够有效的提高裸机下多任务和耗时长的任务情况的处理能力。但是RTOS的开发难度有了较大的提高,如临界资源保护,任务优先级分配等。
源保护,任务优先级分配等。
所以,在对于一般的任务耗时一般,任务数量较少的情况,一般通过裸机方式,利用状态机的思想去开发;而对于任务实时性要求高,任务数量较多的情况,一般采用RTOS的开发方式。