本节路线图自定义AXI-LiteP→等精度频率计:让自定义I→Linux并发程序:给驱兔兔建议先顺着路线图跑一遍,再抄命令和代码,学习体验会轻松很多。上一课我们刚刚把“自己定义一个 AXI-Lite 寄存器外设”这件事做通了,但那时更多还是在体验“能不能写进去、能不能读出来、LED 会不会亮”。这一课开始,课程难度明显往前跨了一步:PWM告诉你,自定义寄存器不只是开关量,还可以连续控制波形。频率计告诉你,自定义 IP 不只是输出外设,也可以变成“有测量能力”的仪器。并发控制告诉你,驱动真正跑起来后,问题已经不只是“寄存器怎么映射”,还包括“多个执行流同时访问时怎么办”。如果说第14课是在学“自己开一扇窗”,那么第15课就是开始学“怎么给这扇窗定义更复杂的语义,而且不让大家挤坏门”。本节路线图(参考原理图)阶段 1:PWM 出波形8 个寄存器、频率值、占空比、呼吸灯效果→阶段 2:频率计会测量等精度测频、控制寄存器、源频率与目标频率→阶段 3:驱动遇到并发两个进程同时打开、设备忙、独占访问→阶段 4:原子锁兜底`atomic64` 上锁、解锁、保护关键访问路径兔兔建议:这一课别把 `PWM`、`频率计`、`并发锁` 看成三件互不相干的小实验。它们其实都在回答同一个问题:你定义的寄存器,到底想让软件“控制什么”和“保护什么”。
第15课:从自定义 AXI-Lite PWM、频率计到 Linux 并发控制
本节路线图自定义AXI-LiteP→等精度频率计:让自定义I→Linux并发程序:给驱兔兔建议先顺着路线图跑一遍,再抄命令和代码,学习体验会轻松很多。上一课我们刚刚把“自己定义一个 AXI-Lite 寄存器外设”这件事做通了,但那时更多还是在体验“能不能写进去、能不能读出来、LED 会不会亮”。这一课开始,课程难度明显往前跨了一步:PWM告诉你,自定义寄存器不只是开关量,还可以连续控制波形。频率计告诉你,自定义 IP 不只是输出外设,也可以变成“有测量能力”的仪器。并发控制告诉你,驱动真正跑起来后,问题已经不只是“寄存器怎么映射”,还包括“多个执行流同时访问时怎么办”。如果说第14课是在学“自己开一扇窗”,那么第15课就是开始学“怎么给这扇窗定义更复杂的语义,而且不让大家挤坏门”。本节路线图(参考原理图)阶段 1:PWM 出波形8 个寄存器、频率值、占空比、呼吸灯效果→阶段 2:频率计会测量等精度测频、控制寄存器、源频率与目标频率→阶段 3:驱动遇到并发两个进程同时打开、设备忙、独占访问→阶段 4:原子锁兜底`atomic64` 上锁、解锁、保护关键访问路径兔兔建议:这一课别把 `PWM`、`频率计`、`并发锁` 看成三件互不相干的小实验。它们其实都在回答同一个问题:你定义的寄存器,到底想让软件“控制什么”和“保护什么”。