- 博客(140)
- 资源 (3)
- 收藏
- 关注
原创 细说fork-vfork-pthread_create-clone
1. 所有任务创建最终都调用do_fork()(内核函数)2. clone()是最接近do_fork()的用户空间接口3. 其他函数都是clone()的包装: - fork() ≈ clone(SIGCHLD) - vfork() ≈ clone(CLONE_VFORK | CLONE_VM | SIGCHLD) - 线程 ≈ clone(共享大部分资源的flags)
2025-04-28 19:19:46
278
原创 C语言指针函数细腻处
(从 0x1000 改为 0x2000),不影响 main 中的 p。int (*p)[10]: 数组指针,指向包含10个整型元素的数组。sizeof(str): 包含’\0’的字符数组大小,6字节。int *p[10]: 指针数组,包含10个指向整型的指针。函数返回后,q 的内存(0x2000)被释放(栈帧销毁),是等价的,p[1] 本质是 *(p + 1) 的语法糖。int **p: 指向整型指针的指针(二级指针),修改指针p的指向不影响main中的p。int *p: 指向整型的指针。
2025-04-28 19:13:07
435
原创 联合体union的特殊之处
一个联合体union的长度等于其内部长度最大的成员的长度。union的所有成员共享同一块内存空间,可以利用这个特性读取数据的字节存储方式
2025-04-28 19:07:56
290
原创 从C语言变量看内存
磁盘(可执行文件) │ ├── 代码段(加载到DDR) → CPU执行 └── 数据段(加载到DDR) ├── .data(已初始化) └── .bss(未初始化,清零)DDR内存(运行时) ├── 代码段(只读) ├── 数据段 ├── 堆(动态分配) └── 栈(自动管理)
2025-04-21 20:01:26
660
原创 WebRTC简介
WebRTC(Web Real-Time Communication)是一种支持浏览器之间进行实时音视频通信和数据传输的开放标准和技术。它由Google发起,现已成为W3C和IETF的标准。WebRTC允许开发者在不依赖第三方插件或软件的情况下,直接在网页中实现点对点(P2P)的实时通信。直接在浏览器中运行,无需安装额外的插件或软件。WebRTC 是开源技术,并且是 W3C 和 IETF 的标准。
2025-03-05 18:56:14
764
原创 路径规划-碰撞检测-自动校准
路径规划:A*、Dijkstra、RRT、PRM 等算法适用于不同场景。碰撞检测:包围盒检测、SAT、GJK、空间分割法等算法用于检测碰撞。自动校准:最小二乘法、卡尔曼滤波、粒子滤波、优化算法等用于参数优化。根据具体应用场景选择合适的算法,并结合实际需求进行优化。
2025-03-05 18:52:29
783
原创 TCP-UDP-WebSocket-组播-单播
TCP/UDP:分别用于可靠传输和实时传输。WebSocket:适用于全双工实时通信。组播:一对多通信,适合大规模数据传输。单播:一对一通信,适用于大多数场景。
2025-03-05 18:50:55
723
原创 仿真平台Gazebo-Unity-RViz
如果需要 **物理仿真和传感器模拟**,选择 Gazebo。如果需要 **高保真图形渲染和虚拟现实仿真**,选择 Unity。如果需要 **实时数据可视化和调试**,选择 RViz。
2025-03-05 18:49:12
621
原创 linux操作系统驱动调试过程中常遇到问题和处理方
在 Linux 驱动调试过程中,常见问题包括**驱动加载失败、设备无法识别、内核崩溃、性能问题**等。通过使用合适的工具和方法(如 dmesg、gdb、perf 等),可以有效地定位和解决问题。
2025-03-05 18:42:59
4588
原创 EtherCAT协议简述是使用方法
EtherCAT(以太网控制自动化技术)是一种高性能工业以太网协议,专为实时控制应用设计。它通过以太网帧实现主站与从站之间的高效通信,广泛应用于工业自动化、运动控制和机器人等领域。
2025-03-04 19:45:41
390
原创 linux内核裁剪
从内核官网下载源码,使用Git克隆源码仓库:git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git。
2025-03-04 19:43:28
522
原创 ROS 特点与使用方法简要
ROS适合学术研究和原型开发,ROS2更适合工业应用和实时系统。两者都提供了强大的工具和库,帮助开发者快速构建机器人应用。掌握ROS/ROS2的基本使用方法,可以显著提高机器人开发的效率。
2025-03-03 17:01:52
430
原创 iptables核心和简例[NET]
iptables 使用不同的表来组织规则,每个表用于处理特定类型的数据包。常见的表包括:**filter 表**:默认表,用于数据包过滤。**nat 表**:用于网络地址转换(NAT)。**mangle 表**:用于修改数据包的头信息。**raw 表**:用于配置数据包是否被连接跟踪。
2025-02-27 11:31:36
404
原创 jni调试3(线程调试env变量问题)
jni层调试线程死机原因一,导致死机原因: jni层中 线程函数中 只要添加调用env 的函数 ,,就会死机 二,解决方法第一我们应该理解:①(独立性) JNIEnv 是一个与线程相关的变量,即线程A有一个 JNIEnv变量, 线程B也有一个JNIEnv变量,由于线程相关,所以A线程不能使用B线程的 JNIEnv 结构体变量。那么如何保证了
2015-08-04 09:26:43
1156
原创 udelay、mdelay、ndelay、msleep使用比较说明
时间单位: 毫秒(ms)、微秒 (μs)、纳秒(ns)、皮秒(ps)、飞秒(fs)、阿秒、渺秒 1 s = 10^3 ms = 10^6 us = 10^9 ns = 10^12 ps = 10^15 fs=10^18阿秒=10^21渺秒=10^43普朗克常数在Linux Driver开发中,经常要用到延迟函数:msleep,mdelay/udelay.虽然ms
2015-07-29 16:15:07
4530
原创 在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务(老罗学习笔记5)
在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务(老罗学习笔记5)
2015-04-15 09:35:50
1384
原创 在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口(老罗学习笔记4)
在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口(老罗学习笔记)
2015-04-14 11:23:51
1406
原创 在Ubuntu上为Android增加硬件抽象层(HAL)模块访问Linux内核驱动程序(老罗学习笔记3)
对 在Ubuntu上为Android增加硬件抽象层(HAL)模块访问Linux内核驱动程序(出之老罗)做入门级注解^_^,希望查看者多多留言,确实有很多地方不是太懂,,,谢谢了
2015-04-13 08:38:32
1556
原创 在Ubuntu上为Android系统编写Linux内核驱动程序(老罗学习笔记1)
对在Ubuntu上为Android系统编写Linux内核驱动程序(老罗)程序代码做入门菜鸟级注解^_^
2015-04-10 16:19:47
1657
原创 19.allegro过孔设置[原创]
一、根据线宽设置过孔在规则管理器下---------------- 二、设置原点法1:----法二:然后鼠标点选---option栏目在哪?--- ----------------------
2015-03-25 18:22:19
5932
原创 18.allegro区域约束规则设置
一、线宽和线间距-------------------然后再电路板上创建一个区域---------------- ----
2015-03-25 17:53:50
1680
原创 17.allegro导入导出[原创]
一、从一张现成的PCB中导出元件封装到库中-----二、①规则 ②元件摆放位置信息导出 这个时候我们在新建的电路板上:① 导入记事文档----到如后:系统本来默认的是双层,这个时候变成六层--单击约束管理器
2015-03-25 17:33:38
2572
原创 16.allegro元件手动摆放[原创]
一、手动摆放-----一个个摆放二、全局设置---这里都是全局的显示信息三、快速摆放所有元件-- ------------
2015-03-25 16:53:47
2562
原创 15.导入网表及status介绍[原创]
一、导入网表在导入网表之前你的封装需确认是在你的封装路径下建立Board工程后:①②③④放置器件⑤(切记,封装路径一定要添加) 二、status介绍---(常用) -----------------------
2015-03-25 16:30:53
754
原创 14.allegro.PCB设计前工作[原创]
一、设置板子大小-------板子边框2种设置outline方法,创建2个KI,两个keepin,,r:允许布线区;p允许摆放元件的区域法一:直接添加线①Board Geometry(最外(板子大小))-----②Package keepin(次小)允许摆放元件的区域-------
2015-03-25 16:30:34
868
原创 allegro 颜色设置
1.--或者:2.--3.--4.5.6.7.8.9.10. --11.颜色保存:-- 12.板子做好后,visibility查看
2015-03-25 12:50:55
8124
原创 cadence.通孔类封装创建
1.打开Pad Designer-----------------OK-----------回到Pad Designer internal:不管是几层板,中间层用这个就可以了;-------------创建封装:这次试用封装向导来创建
2015-03-25 12:27:18
3220
原创 allegro环境设置
一、菜单简介--- 分割电源,分割平面--------------------------------------------------------------------------------------------
2015-03-25 12:04:05
1914
原创 cadence.自定义焊盘的创建
一、自定义图形焊盘 1.设置环境(面板大小,格点)---------圆形Shape > Circular----两个DRC错误,证明图形重合了,将图形复合一下:---椭圆类焊盘创建数据文件:-------打开 Pad De
2015-03-24 17:53:56
3036
原创 cadence原理图后续
一、网表输出 1.自动编号输出网表前,不能有问号--效果:---- --效果: 2.DRC检查输出网表前需要DRC检查 3.网表输出 二、生成BOM表法1:法2:
2015-03-24 17:51:02
1457
原创 cadence原理图下
一、平坦式原理图与分页式原理图 1 和2为平坦式原理图,平等1和3为分页式原理图 有上下关系------------------------------------1.平坦式原理图每张原理图地位是相等的,,兄弟关系----- 平坦式原理图,图与图的入口该连接添加:同
2015-03-23 19:55:23
2129
原创 cadence原理图上
一、库管理1.打开原理图,,按键盘P键在目标库下可以直接收索需要的元件,则可直接找到 在原理图中放置器件时,结束放置快捷键:Esc双击后,可自动将该元件对应的库添加到你的库中,该方法找元件效果好^_^二、放置元件,电源及地 快捷键 g 三、放置连接线注意点:1走线时默认是90°的,若
2015-03-23 15:46:53
2627
PL2303_Prolific_DriverInstaller_v111.exe
2017-11-07
define与typedef 区别
2014-07-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人