RTOS对硬件的要求更高,主要倾向于性能稍低的芯片。 我还没有深入地做过这件事。 前期还是裸机跑,也需要了解寄存器,这样才能更快上手。
嵌入式Linux往往青睐高性能芯片。 无需学习该芯片的裸机操作。 这东西裸机运行意义不大。 必须了解寄存器操作。 一般来说,高端芯片没有stm32这样的库。 你必须学习Linux操作系统。 可以装个虚拟机或者找个破电脑装Linux做一些小项目,用C语言和Makefile写几个程序。
裸机操作教程有很多,跟着一个就学会了。 如果你想学习嵌入式Linux进行寄存器操作,就不要使用Linux开发板。 使用普通的单片机开发板来学习即可。 您将能够完全掌握微控制器或ARM的寄存器操作。 它不是很有用。 目的是了解寄存器工作的原因和方式。 在嵌入式Linux上操作寄存器与在裸机RTOS上操作并不相同,但寄存器工作原理是相同的。 实际使用中,不会经常使用。 寄存器,但我不懂寄存器。 Linux系统的第一课就是劝你退出。
寄存器是虚幻的。 没有正确的学习方法和工具,它们只是劝人放弃的工具。 只需几次,就耗尽了所有的学习兴趣。 具体来说,打开数据手册,确定你想要的波形,然后按照手册中的标准图形和图表进行操作。 配置上面标记的寄存器。 配置完成后,使用示波器或逻辑分析仪捕获波形。 和手册中的标准波形对比一下,看看这个寄存器的作用是什么。 老师和各种教程不会解释这个东西。 解释起来费时又费力。 我不明白。 原因很简单。 没有仪器我什么也看不到。 寄存器操作的目的只是为了匹配一些比较简单的设置,只要了解如何实现即可。 ARM手册会提供寄存器,有些操作必须翻转寄存器。
我写的东西在其他教程中没有找到,或者其他教程无法解释清楚。 例如,在嵌入式Linux教程中,这里写0x0c,那里写0x01,然后灯就会亮。 这是本课的重点。 它是字符设备驱动程序的基本格式。 已经是一小时的课程了,两个小时不可能教你寄存器的知识。 还有一个事实是,RTOS教程默认是裸机,而嵌入式Linux教程默认寄存器不是重点。 默认情况下,Linux学得好的话,单纯学这个东西就会导致硬连初级设备的现象,这样就会起到最大的劝阻作用。