基于STM32CubeMX生成的基础工程手动移植FreeRTOS
今天成功手动移植了,于是想记录一下。手动移植的意义在于大概理解FreeRTOS的工程组织和配置,学习Cmake语法,以及遇到一些头疼的问题(来锻炼自己),非要说一个学习以外的意义的话就是可以使用最新版的FreeRTOS吧……实际生产使用时可以用CubeMX生成,即使不想用cmsis的通用接口,用freertos的原生API也是完全没有问题的,也不用担心配置不正确带来的隐患。 移植的FreeRTOS版本是FreeRTOSv202604.01-LTS即v11.3.1使用STM32F401CDU6宿主机采用ArchLinux编译工具链使用GNU 开源工具链,编译器为GCC调试器为daplink...
嵌入式Linux基础学习笔记
Chap4 Linux内核这一章主要讲了Linux内核源码的结构。首先下载,可以从www.kernel.org下载内核的源码。然后在源码顶层目录,可使用make 配合一些构建目标来完成配置。如make help获取帮助,make gconfig来进行图形化配置。配置的内容会写入顶层的.config文件中。另外,每个子目录下都有Kconfig文件,这个相当于是给make gconfig等等配置提供配置的选项的文件。 make 编译的最终产物是vmlinux,一个ELF格式的二进制镜像。但是这个文件很大,包含了很多调试信息,所以一般到机器里真正运行的不是这个,而是使用这个vmlinux压缩后...
安路FD软件通过 DAP Link OpenPCD 调试DR1M90
使用淘宝随便买的调试器是不支持TD的调试的。它只能用来烧录FPGA。FD本质上是在调试ARM,而且使用了openOCD。原厂的方案是基于FTDI的,然后原厂的.cfg文件也是这个(位于/home/mingzai/Programs/FutureDynasty/toolchain/openocd/fpsoc/share/openocd/scripts/target/anlogic/dr1m90.cfg). 那么就真的只能用原厂的调试器才可以吗?并不是,因为它使用O...
Verilog 插件与工具
VS Code 插件slang-server: Verilog/SystemVerilog LSP—Hudson River Trading一个Verilog的语言服务器(当然主要支持的是SV)。功能很强大,语法检查、跳转、鼠标悬停、一键重命名等应有尽有,甚至还有非常好用的一键例化,.v文件也终于有图标了。安装插件后会提示你下载slang-server,按照提示一键下载即可。美中不足的是这个slang-server主要是为SV设计的,对verilog的一些语法检查也是基于SV的,比如在.v文件中也会检查出“logic”这种类型(就是reg)。不过这一点无伤大雅;另外一点较为遗憾...
CS4272驯服失败 2026.8.10
简介CS4272是一款音频codec芯片(编解码器),即集ADC与DAC于一体的芯片,而且通常是多通道的,如CS4272就是2进2出。对于输入这一路,模拟信号(音频)被ADC采集后进入CS4272,内部有简单的数字处理,再通过I2S输出数字信号;而输出为处理器(如DSP、MCU)输出I2S数字信号给CS4272,再通过DAC转换成模拟信号输出给后级如音响。而它的控制接口是IIC或3线SPI(只能写不能读。可以发现这类codec芯片几乎都是只写的),通过控制接口可以配置CS4272的寄存器以修改它的数字处理的参数等等。 我想做一个音频效果处理器,选择了CS4272作为我的ADC与DAC。选...
面试亿页纸
简历相关1. Mahony 互补滤波四元数姿态解算及串级 PID 控制项目背景: 自研四轴无人机飞控系统(MingFlyPlan),主控 STM32F407,FreeRTOS 多任务架构。 姿态解算 传感器: 使用 6 轴 IMU(QMI8658 或 ICM42688),通过 SPI 接口读取加速度计和陀螺仪原始数据 核心方法: Mahony 互补滤波。思想是——陀螺仪积分得到姿态(高频准但会漂移),加速度计提供绝对参考(低频稳但有噪声)。两者通过互补滤波融合 具体做法: 用加速度计测量的重力方向与四元数推算的重力方向做叉积,得到误差;将此误差通过 PI 补偿到陀螺仪角速度上;再用一阶龙...
雷达原理与系统
一、总体复习策略不要从头到尾重读笔记,而是以问题为线索驱动复习。每个问题先自己口述回答,再去看笔记查漏补缺。可以用“是什么——为什么——怎么实现——有什么折中”的逻辑来组织语言。 重点抓三个层面: 核心概念与物理意义(公式背后的道理) 系统各模块之间的关联(发射、接收、处理、检测如何串起来) 与数字化团队的契合点(FPGA/信号处理在雷达中的应用) 二、高频章节及可能问题1. 雷达方程与作用距离(第二章)复习重点: 雷达方程的推导逻辑(从发射功率 → 目标处功率密度 → 再散射 → 接收功率) 各参数对作用距离的影响(尤其波长、增益、RCS、噪声系数) 信噪比与检测因子...
贵州云南旅游
7月26日11:35~22:11 🚄兰州➡️贵阳,入住酒店住一晚7月27日9:46~10:27 🚄贵阳➡️安顺14:00~17:00 游玩黄果树瀑布陡坡塘瀑布、大瀑布+水帘洞,时间不够需要舍弃天星桥 20:00 返回安顺市区住一晚可逛安顺夜市等 7月28日11:12~15:39 🚄安顺➡️大理下午可逛大理古城 晚上住大理住一晚酒店建议住大理古城南门附近 7月29日整天 游玩洱海,晚上住大理再住一晚可以租车游玩洱海:大理古城 → 喜洲古镇,喜洲 → 双廊古镇,双廊 → 鹿卧山 → 小普陀,小普陀 → 理想邦 → 兴盛大桥 → 返回古城。 7月30日9:00~12:00 🚄大理➡️昆...
Neovim 与 lazy.nvim 理解笔记
Neovim 与 lazy.nvim 理解笔记 从零理解 Neovim 的启动流程、插件管理机制和 lazy.nvim 的工作原理 目录 1. Neovim 启动全流程 2. Lua 的 require 机制 [3. require().setup() 到底是什么](#3-require setup-到底是什么) 4. lazy.nvim 的 Plugin Spec 详解 5. lazy.nvim 作为”引擎”的工作方式 6. 插件 README → Spec 翻译方法 7. lazy-lock.json 与插件同步 8. 为什么用 Lua 而不是 JSON 9. LazyVim v...
