登录社区云,与社区用户共同成长
邀请您加入社区
本文通过一个网页界面改造案例,详细介绍了使用OpenSpec规范驱动开发框架的全流程。文章首先将AI编程工具分为规格驱动、流程执行和自主流水线三类,指出OpenSpec属于第一类,强调"先对齐再动手"的开发理念。然后以食谱应用界面改造为例,展示了从init初始化到archive归档的六个核心步骤:通过explore澄清需求歧义,用propose生成三份规范文档(提案、系统设计、
本文对比了三款代码知识图谱工具(Graphify、GitNexus、CodeGraph)在AI编程辅助中的表现。新加坡开发者YangWenzhuo通过六个维度测试发现:CodeGraph在索引新鲜度和动态代码处理上最优;Graphify支持多模态内容且可视化能力最强;GitNexus擅长多仓库分析和查询能力。测试显示代码知识图谱能减少58%的AI工具调用次数,解决传统文本搜索无法追踪代码关联的问题
很多人搜索“Codex 平替 Agent 推荐”,真正想解决的通常不是找一个功能完全相同的复制品,而是降低任务对单一入口的依赖:有的人需要继续处理代码仓库,有的人希望把 CSV、调研材料和报告一起交付,还有的人想让 Agent 从 Issue 一直推进到 Pull Request。
摘要:机器学习在软件测试中的应用日益广泛,但其模型稳定性直接影响测试结果的可靠性。本文提出7个落地实践原则:1)以测试需求定义数据边界;2)按等价类思想拆分数据集;3)将可解释性纳入验收标准;4)建立混沌测试机制;5)增量式模型更新;6)设定分层告警阈值;7)将模型纳入测试资产管理。这些原则将软件测试的成熟思想与机器学习相结合,旨在构建稳定可靠的测试模型,使AI真正成为测试工作的助力而非风险源。
自然语言驱动开发正在重塑软件工程流程。本文从需求到原型的全流程实践出发,分析NLDD的技术支撑(结构化输出、工具调用、沙箱环境),讨论适用场景与局限性,并给出分步递进、约束引导等高效使用原则。
Mac Studio M3 Ultra明显占优。它拥有四倍内存容量和三倍理论内存带宽,特别适合单机加载超大模型、处理大型媒体工程和承担综合性专业工作。DGX Spark仍然有自己的护城河。CUDA、TensorRT-LLM、vLLM、NGC和NVIDIA服务器生态,使它更适合真正围绕NVIDIA平台进行模型开发、微调、验证和部署。Mac Studio是一座容量巨大、传送带很宽的全能仓库;DGX S
grill-me通过苏格拉底式拷问将模糊需求转化为结构化PRD(15行极简Skill),Trellis则通过.trellis目录实现上下文持久化(Git版本控制)。组合优势:1)需求澄清阶段grill-me逐个击破决策点;2)执行阶段Trellis自动恢复进度;3)相比Superpowers更轻量(Token消耗降低90%)。适用场景分级:日常小任务用grill-me单独处理,中型功能开发采用组合
SuperPower与grill-me是AI编程圈两大方法论,前者强调工程纪律的硬性流程管控(14个skill强制TDD等规范),后者专注需求澄清的深度追问(通过决策树扫清模糊点)。两者均通过苏格拉底式追问优化代码质量,但路径迥异:SuperPower像工程经理构建全流程堡垒,grill-me则像毒舌同事专注前期决策。作者Matt Pocock本人已从grill-me迭代至domain-model
OpenSpec:规约驱动开发的增量式实践 OpenSpec通过两大工程决策破解了规约驱动开发(SDD)长期面临的困境:1)采用Delta Specs增量式描述变更,允许存量项目从局部开始逐步构建规约,打破"全有或全无"的冷启动悖论;2)将SDD流程深度嵌入编码工具链,通过斜杠命令实现无摩擦操作,避免场景切换带来的效率损耗。这两个决策共同解决了传统SDD工具面临的核心矛盾——理论价值与实际使用成本
上周我让 Claude Code 给项目加个订单改单幂等支持改造,它啪一下甩出 200 行代码,跑起来直接 500。我盯着报错看了三分钟,才意识到问题不在模型,是我没跟它讲清楚「权限」到底指什么。这个场景你熟不熟。AI 编程 agent 写不出好代码,根因往往不是模型笨,是我们没把需求讲清楚。TypeScript 大神 Matt Pocock,Total TypeScript 作者,6 万开发者订
作者: baron个人博客:configfs 是 Linux 内核中的一个,他和 sysfs 类似,都是以和的形式导出到用户空间和用户交互, 虚拟表示 configfs 中的"目录"只是一个用户界面的表现形式, 没有实际的物理存储空间分配, 目录结构只是内核对象的一种层次化展示方式. 每个"目录"实际上映射到一个 config_group, 目录操作被转换为对应的 config_group 操作,
本篇主要是记录了,用设备树如何写驱动程序。
本次实验使用,gpio3_B4引脚,作为输出引脚,输出高电平点亮一个LED灯。
在Linux内核中,kthread(内核线程)用于创建运行在内核空间的后台线程,常用于驱动开发中执行异步任务(如轮询设备状态、数据处理等)。
自从Petalinux 2022.1版本以后,取消了root登录。用户名改为petalinux,然后会引导你设置新密码。参考官方,再编译文件系统的时候,把登陆去掉,没有上QT等大型数据,可以不将文件系统解压到SD卡内。最后,成功启动uboot,进入系统,但是,这时候的uboot 和linux内核还是petalinux从github上下载的,在线,并不是本地编译的。利用正点原子的vivado工程,生
KMS 是 DRM 的一部分,负责在内核中配置显示硬件的模式(分辨率、刷新率、时序)和输出状态,并驱动显示管线(planes、CRTC、encoder、connector、panel)。显示管线通常涉及多个硬件单元(如 GPU 渲染输出、硬件合成模块、Overlay/Planes、缩放器、CRTC、Encoder、Panel),具体实现依赖于不同的 SoC 或显卡架构。它既要保证性能(低延迟、低拷
本文详细介绍了Linux系统中的iptables防火墙工具及其应用。iptables作为与内核集成的netfilter框架的管理工具,通过表(filter、nat、mangle、raw)和链(INPUT、OUTPUT等)的分层结构实现包过滤、地址转换和流量控制功能。文章阐述了数据包处理流程、规则配置语法、常用处理动作(ACCEPT、DROP等)以及典型应用场景,如Wi-Fi热点共享4G网络。通过具
tcpdump是一款强大的命令行网络抓包工具,能够截获和分析网络数据包。它支持按协议、主机、端口等条件过滤数据,并提供多种参数:-h查看帮助、--version显示版本、-D列出可用网卡、-i指定网卡、host筛选主机IP、port指定端口、-w将数据写入pcap文件。抓包文件需用Wireshark等工具解析。tcpdump主要用于网络故障排查、流量分析、安全监控和协议调试,能有效识别异常流量和协
在当代软件开发文化中,GitHub 已成为程序员的“数字名片”,而其中最显眼的视觉元素莫过于那面“贡献墙”——一个由绿色深浅不一的方格组成的矩阵,记录着用户每天的代码提交活动。这片绿色的海洋,被开发者社群戏称为“绿墙”、“草皮”或“贡献日历”,已经成为衡量开发者活跃度最直观的视觉指标。
本文总结了Linux平台总线驱动与设备树开发的关键知识点。主要内容包括:1)平台总线(platform bus)的作用是将硬件数据与通用操作分离,实现驱动复用;2)核心结构体如platform_driver、platform_device的组成与注册方法;3)三种驱动开发方式(传统、平台总线、设备树)的对比;4)常见开发陷阱如时钟未开启、compatible不匹配等。通过设备树描述硬件资源,结合平
本文研究了BT656视频接口与AHD高清模拟视频技术的配置与测试。首先介绍了BT656标准的串行传输特性、嵌入式同步机制和4:2:2 YCbCr格式,对比了其与BT601、BT1120的差异。随后详细记录了AHD视频信号在不同clk_dly参数(0-26)下的测试结果,包括示波器波形和显示器图像表现,确定clk_dly=7为最佳设置。实验还验证了该参数下的colorbar、GRADIENT等多种测
先把设备都找出来,再决定资源是“沿用”还是“重新分配”,最后把设备交给驱动框架。建“总线树”:从 root bus 往下扫描,把所有设备和桥都挂到内核的拓扑结构上。处理资源如果系统处于“只沿用固件”的模式:把固件已经配好的 BAR/窗口登记到资源树里(不改配置空间)。如果系统允许重分配:计算桥需要的窗口大小,然后为每个设备分配 BAR,并把结果写回配置空间。让驱动开始工作:把pci_dev注册到
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 这里的sensor,大部分情况下都是指mipi接口的camera sensor。如果说mcu平台,还有很多的dvp sensor,那么soc平台下面则主要都是mipi接口的sensor。另外和mcu平台不同,很多的soc平台都有isp,所以哪怕sensor本身不带有isp功能,这都
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 很多的sensor除了支持mipi接口之外,还支持dvp接口。实际运行过程当中,开启哪一种接口,就看i2c是如何配置sensor的。对于低分辨率的camera,dvp使用还是比较多的。但是如果分辨率比较高,例如4k 800w像素以上,那么用dvp就很吃力了,这个时候一般就是mipi
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 目前的camera大部分都是数字camera,而且是cmos camera。这也是用的最多的一种camera。camera的接口以mipi为主。这种接口的好处就是数据传输快,camera分辨率高、帧率高。但是缺点也是很明显的,那就是传不远。这样对于一些特定的场合,就不是很方便了,比
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面我们聊过,树莓派的soc是怎么进行camera sensor驱动配置的。基本上它的camera驱动还是按照linux v4l2那一套处理的,比如说sensor代码放在什么地方,platform平台代码放在什么地方,这部分都是公开的,大家也都是可以看到源码的。但是ipcam so
网络文件系统,用于开发板挂载主机的目录,方便直接运行 / 调试主机上的程序(无需反复拷贝文件)。如果输出工具链版本信息(如 gcc version 7.5.0),说明环境变量和安装都正常。:简单文件传输协议,用于开发板启动时快速下载内核、设备树等小文件(无权限验证,适合调试)。交叉编译工具链的作用是在 x86 主机上编译能在 ARM 开发板上运行的程序,,说明编译出的是 ARM 硬浮点程序,工具链
void gpio_free_array(const struct gpio *array, size_t num)批量释放多个已申请的 GPIO 资源。int gpio_request_array(const struct gpio *array, size_t num)批量申请多个 GPIO 引脚。int gpio_get_value(unsigned int gpio)读取 GPIO 的电平
2.3.4.5.
摘要:本文介绍了Linux 4.4引入的动态设备树(设备树插件)功能,它允许在不重新编译整个设备树的情况下,通过"补丁"方式动态修改设备树。文章详细说明了两种设备树插件格式(标准格式和简化格式),并给出了添加LED节点的具体示例,包括修改pio配置和关闭原有leds节点。最后讲解了编译流程(修改Makefile、单独编译设备树)和部署方法(将dtbo文件放入boot分区并修改u
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 不管是soc,还是mcu、fpga,大部分系统都是采用master-slave的模式进行cpu数据处理的。这种模式虽然看上去比较简单,但是有一个致命的问题,那就是所有数据的搬运都是需要cpu来处理的。大部分时候,这种方式都是比较低效的。
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 抛开arm soc不谈,处理图像的方法基本就是fpga,或者是fpga+mcu,或者是zynq这种fpga、ddr、arm可以一起访问的芯片。但是三种方法里面,最简单的还是zynq这种芯片,其他三种方式,各有各的问题。
【github 有趣项目】通信库 RadioLib简介:早期版本+协议支持+HAL模块+发展历程(LoRa、FSK、OOK 等)
摘要:本文深入解析Linux内核CFS调度器的5种负载均衡触发机制。在SMP架构下,负载均衡通过Idle均衡(NOHZ空闲CPU唤醒)、Newidle均衡(CPU即将空闲时主动拉取)、周期性均衡(时钟tick驱动)、Fork均衡(新任务初始放置)和Wake均衡(结合WakeAffine优化)实现任务分发。文章详细剖析了每种机制的触发条件、执行策略和性能影响,并提供了调度域层级、负载计算等核心概念的
我们介绍v4l2的整体框架,整体框架从何而来,肯定是要看数据结构。看数据结构是如何关联的。就能知道v4l2的大体框架。首先明确一个大体方向:v4l2是主题,media_controller只是一个管理拓扑的工具,即使没有它,也能正常工作。它的主要作用,是帮忙链接整条链路,看看数据链是否打通。一般是__media_start_pipeline函数。
内核版本:4.19。
Linux GPIO子系统采用分层架构设计,从用户空间接口到硬件控制器形成完整链路gpiod接口已成为现代Linux驱动开发的标准实践,特别是在结合设备树使用时能充分发挥其设计优势
Linux Platform框架实现了设备与驱动的解耦,通过platform_device描述硬件资源,platform_driver实现设备操作,由Platform总线负责匹配绑定