- 博客(88)
- 资源 (4)
- 收藏
- 关注
原创 itemis CREATE 状态机语言里的表达式(Expressions)及操作符
这段文档讲的是,也就是在状态机里计算值、做条件判断时可以用的语法和运算符。
2025-12-21 00:04:05
270
原创 状态机语言里 statement(语句)的三类细节
语句类型作用举例assignment改变变量的值x += 1触发事件调用函数/操作💡理解要点Assignment → 修改状态机内部变量Raise → 激活事件,可能导致状态转移Operation → 执行自定义逻辑,可操作外部硬件或做计算如果你愿意,我可以帮你画一张状态机动作语句图,把 assignment、raise、operation 三类语句在状态行为里如何触发可视化出来,更直观理解。你希望我画吗?
2025-12-21 00:02:00
403
原创 Reaction(反应)是怎么被触发的
Reaction 永远不会“自己执行”,它只会在 trigger 到来时被检查。trigger谁触发event外部 / 内部 raise定时器runCycle()状态变化。
2025-12-20 23:43:23
857
原创 probe和 attach
函数意义何时调用谁调用probe()判断驱动是否支持该设备设备扫描阶段VxBus 自动调用attach()初始化设备、注册中断、创建设备节点probe OK 之后VxBus 自动调用你从不手动调用 probe 或 attach。
2025-11-20 18:18:30
31
原创 hwconf → vxbDev → 驱动
下面我把和 *hwconf.c 中 Resources[] 的 { “regBase”, HCF_RES_INT, {(void)BASE} }之间的关系,用。
2025-11-20 17:39:59
21
原创 vxbDev
vxbDev 就是 VxBus 的“设备对象(Device Object)”Linux 里的或Windows 驱动的 DEVICE_OBJECT当 VxBus 识别一个设备(如 PCI、串口、FPGA 等),就会创建一个vxbDev实例,驱动只需要通过这个结构与系统交互。vxbDev 是 VxBus 中描述“一个设备”的核心数据结构,其作用包括:标识设备的信息(名称、编号、父总线)保存硬件资源(BAR 地址、中断信息)存储驱动自己定义的控制块(pDrvCtrl)管理设备访问接口。
2025-11-20 15:41:14
154
原创 设备驱动程序的运行环境和行为规则
设备驱动程序在操作系统中的运行特点:它在调用者任务上下文中执行,阻塞会导致调用任务同步阻塞。驱动程序拥有高权限,可临时切换任务模式并能调用各类系统服务。其触发来源包括应用程序和硬件中断服务程序。操作系统通过I/O管理为驱动程序提供标准化框架,但不干预具体实现细节。这种设计既确保了硬件访问的安全性,又给予厂商充分的实现自由度。
2025-11-19 16:24:44
647
原创 VxWorks 驱动程序开发中的两个非常重要的警告(有益的忠告)
不要从 sysHwInit() 内部调用 intConnect(),或者任何其他的调用 malloc() 的程序,因为内存分配库还没有被初始化,系统将会瘫痪。即使目的是为了调试,也要避免在驱动程序中使用 printf(),而使用 logMsg() 来代替。在驱动程序和 I/O 系统之间可能会有系统的交互作用,这可能会使 printf() 导致系统瘫痪。—— 低级日志输出,可以在中断/驱动安全使用。VxWorks 的硬件初始化有。
2025-11-19 14:57:25
368
原创 AXI_timer相关
寄存器作用控制 & 中断状态(TINT 是写1清除)TLR (0x04)装载值(定时器周期)TCR (0x08)当前计数值。
2025-11-19 09:31:59
896
原创 对象字典在Ethercat的通信帧中是怎么体现的
层级说明在 EtherCAT 帧中体现方式应用层对象字典(OD)定义所有通信变量(Index/SubIndex)CoE 子协议SDO / PDO将对象字典条目转化为数据访问方式Mailbox 层CoE Mailbox 数据包SDO 访问、紧急对象传输过程数据层EtherCAT Data Frame Process Data 区PDO 周期性更新数据。
2025-10-13 20:51:16
858
原创 PROFILE(配置文件/内核构建配置模板)
你问到的这些(配置文件/内核构建配置模板),其实是里预定义的一组“系统特性组合”。它们就像“打包好的配置方案”,可以快速选择一类典型使用场景。
2025-10-04 13:02:27
273
原创 驱动器寻找起始位置
通过合理配置限位开关、零点开关和编码器Z相,可实现高效高精度的回零操作,为运动控制系统建立可靠的绝对坐标基准。驱动器寻找起始位置(回零/寻参)的过程是通过。
2025-08-06 11:32:12
1254
原创 步进电机和步进伺服支持的7种工作模式
CNC机床X轴寻零:快速撞向限位开关 → 减速回退 → 锁定编码器Z相脉冲。机械臂移动到坐标X=1000mm处,运动过程由驱动器本地规划。六轴机器人画圆弧:主站实时计算各关节位置,驱动器严格同步执行。印刷机:主辊编码器实时反馈速度,从动辊按1:1.2速比同步。注塑机顶针动作:主站故障时自动执行"顶出→延时→退回"序列。传送带以300RPM恒速运行,遇阻时驱动器自动补偿扭矩。薄膜卷绕机保持5Nm恒定张力,随卷径增大自动降低转速。
2025-08-06 11:24:58
1057
原创 EtherCat状态机
EtherCAT 状态机(State Machine)是从站设备(Slave)的核心控制逻辑,定义了设备在不同状态下的行为及状态转换规则。状态转换由主站(Master)通过。(0x0010 寄存器)触发,确保设备安全、有序地初始化、配置和运行。掌握 EtherCAT 状态机是构建高可靠性实时系统的基石,正确使用状态转换可确保设备在安全框架下发挥最大性能。IB 启动Bootstrap。可观察状态转换命令(如。SI 停止输入+邮箱。
2025-08-06 11:12:55
1410
原创 EtherCAT 的寻址方法: 顺序寻址(Positional Addressing)、节点寻址(Node Addressing)
通过这两种寻址方式,EtherCAT 可以灵活适应不同应用场景的需求,同时保证实时性和高效性。如果需要更具体的配置示例或协议细节,可以进一步探讨!这两种方法用于在 EtherCAT 网络中唯一标识从站设备(Slave),以便主站(Master)能够准确发送和接收数据。复杂网络拓扑或需要固定地址的设备(如分布式时钟同步设备)。适用于简单的线性拓扑,如伺服驱动器、I/O 模块等。决定,类似于“菊花链”拓扑中的位置编号。(如拨码开关、EEPROM 存储)或。EtherCAT 子报文中的。
2025-08-06 10:53:25
691
原创 i节点学习
i节点(inode,索引节点)是Linux文件系统的核心数据结构,用于存储文件的(metadata)和,但不包含文件名。它是文件系统管理和访问文件的基础。
2025-07-27 23:07:34
737
原创 期待更好的发展
花时间想清楚,对你而言,“更好的发展”具体指什么?是技能、职责、行业、职位、平台、文化还是其他?越具体越好。如果是求职面试,深入研究目标公司和职位,找到与你的“发展期望”最契合的点。根据不同场景(离职申请、面试、简历)和不同对象(现公司、新公司HR、业务面试官),调整你的表达重点和详细程度。将你的话术演练流畅,确保听起来真诚、积极、自信,并且逻辑清晰。将“追求发展”转化为具体目标,用新平台的价值来印证这个选择的合理性,你的离职原因就能从模糊的愿望变成有力的职业宣言。
2025-07-24 23:56:34
599
原创 HLS设计的分层结构和仿真流程
在HLS(High-Level Synthesis)综合后的波形查看界面中,信号通常被分为几个关键组别。这些组别反映了HLS设计的分层结构和仿真流程。
2025-06-23 11:25:37
620
原创 HLS设计的分层结构和仿真流程
在HLS(High-Level Synthesis)综合后的波形查看界面中,信号通常被分为几个关键组别。这些组别反映了HLS设计的分层结构和仿真流程。
2025-06-20 10:17:56
346
原创 在ModelSim中仿真后Objects窗口看不到信号
在ModelSim中仿真后Objects窗口看不到信号,通常是由于信号优化或作用域问题导致的。
2025-06-17 11:06:20
726
原创 XILINX常见问题:
XILINX推荐做法:高电平同步复位,复位尽量都是局部复位,不要有全局复位。异步复位对BRAM,DSP资源影响很大,导致BRAM,DSP跑不快。1.XILINX复位机制:每一款开发板上都带复位按键,导致大家一写就要用复位按键做复位。这种方式是不可取,产品上是不可能带复位按键的。2.时钟,时钟结构:MMCM(调频)+PLL(调相),可以把PLL的锁相信号作为局部复位。
2025-05-11 21:27:53
153
原创 在 Vivado 的 Block Design 中,如果你不想让某个 IP 核的引脚连接到外部引脚,可以通过以下几种方法来处理:
在 Vivado 的 Block Design 中,如果你不想让某个 IP 核的引脚连接到外部引脚,可以通过以下几种方法来处理:### 方法一:连接到常量你可以使用常量块(Constant Block)来连接到该引脚,设置常量的值为高电平(1)或低电平(0),具体步骤如下:1. 在 Block Design 中,右键点击空白区域,选择 "Create Block" -> "Constant",创建一个常量块。2. 双击常量块,设置其输出值为所需的电平(例如,选择 "1" 为高电平)。3. 将常量
2025-01-09 14:46:34
1536
原创 zynq中断
简单来说,通用中断控制器(GIC)就像一个交通警察,负责管理来自各个方向(处理器核心和外设)的“交通”(中断请求)。它会根据“交通”的紧急程度(优先级)来决定哪个“交通”(中断)需要优先处理,并且确保一次只有一个“交通”(中断)被处理,以避免混乱。
2024-09-22 10:25:10
565
原创 面对外行同事对你的工作指手画脚,但说不到点子上的情况,可以采取以下策略来有效合作
记住,团队合作是双向的,有效的沟通和理解是关键。通过上述策略,你可以更好地与不同背景的同事合作,共同推进项目的成功。
2024-09-22 09:08:26
538
原创 工作时的问题沟通
假设你是一名软件测试人员,在使用某个新开发的电子商务网站进行测试时,发现在结账过程中出现了一个支付失败的问题。:[紧急] 支付功能测试失败 - 需要立即关注。
2024-09-22 09:01:43
567
原创 vivado中选中bd文件后generate output product是什么用,create HDL wrapper是什么用
在Vivado中,“Generate Output Products” 是一个重要的步骤,它用于生成IP核的输出产品,这些产品是将IP核集成到设计中所需的文件。在生成输出产品时,可以选择并行运行的数量(Number of jobs),这通常取决于可用的系统资源和设计的需求。如果设计中存在三态(高阻态),OOC综合操作可能会受到影响。总的来说,“Generate Output Products” 是将IP核集成到Vivado项目中的一个关键步骤,它确保了IP核可以被正确地综合和实现。
2024-09-17 22:54:37
2341
原创 zynq7020有多少bank,每个bank可以单独设置电流电压
对于具体的Zynq7020,如搜索结果中提到的黑金AX7020核心板,它提供了对不同BANK的电源配置,例如BANK34和BANK35的IO电平可以通过底板上的跳线帽来调整,默认为3.3V,但也可以通过跳线帽设置为1.8V或2.5V。Zynq7020 SoC 包含多个电压和电流配置组,通常称为“banks”。这些banks允许不同的I/O组根据需要支持不同的电压标准,从而提高设计的灵活性。每个bank可以单独设置电流电压,以适应连接的外部设备的电压要求。
2024-09-17 22:28:23
2401
/455/src/455.c【Linux开发环境搭建】Ubuntu 22.04安装Eclipse及C工程创建与编译配置:Java JDK依赖与工具链设置详解
2025-07-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅