- 博客(13)
- 收藏
- 关注
原创 【RTT任务切换上线文解读】
然后,把r1指向的内容加载到当前sp,这一步是把目标任务的sp加载到当前sp。r1指向的就是to任务指针指向的成员sp。这个函数是使用汇编实现的,它入参其实是两个参数,rt_hw_context_switch(from,to)把当前SP保存到r0指向的地址,r0就是from指针指向的成员sp(TCB结构中的成员)。那么这两个值对应的数据结构是什么?其实对应的是TCB结构中的堆栈指针SP。这两个值按照ARM的传参规则,是传递给了R0和R1寄存器。从字面意思的理解可以得知,是从当前任务切换到目标函数。
2026-07-20 10:47:45
242
原创 Claudecode+DeepSeek模型部署
4.设置变量: 创建 ~/.claude/settings.json。“ANTHROPIC_AUTH_TOKEN”: “你自己的key”,编辑或新增 ~/.claude.json。2.安装claudecode。1.安装nodejs。
2026-05-26 13:36:59
149
原创 ARM32 C语言调用汇编,传递变量地址作为参数
看前面4个参数的操作,从R0-R3这四个寄存器去值,这四个寄存器存的是a-d这四个参数的地址,要想去它们的值,得通过地址找load出来,使用了LDR指令,设置的时候使用STR设置回去,汇编里面的注释比较清楚了。C语言调用汇编函数的情况,这里指的是直接使用asm汇编文件中的函数,也有混合编程的情况,有很多文档里面说明过,那种情况比较简单,这里说明的是C语言文件中的函数访问ASM文件中的汇编函数的情况。注意在调用汇编的时候,返回的地址被CPU传递到LR寄存器里面了,所以返回的时候,使用跳转指令bx lr返回。
2026-03-12 15:56:33
257
原创 ARM-32 汇编调用C语言函数
C语言函数的入参是6个,依次是a,b,c,d,e,f, 汇编使用R0传递a参数,使用R1传递b参数,使用R2传递c参数,使用R3传递d参数。,前面的MOV R4, #5,把5放入了R4中。运行的时候把程序拷贝到/tmp目录下执行验证下,可以看到参数按照1,2,3,4,5,6,正确传递过来,那就说明前面压栈的次序是对的。,这条指令是会改变SP的值的,这条指令执行过之后SP的值被修改成向下的4字节之后的地址。ATPCS调用约定规定,入参的前4个使用R0-R3,超过4个使用堆栈传递,使用堆栈传递的参数从右至左。
2026-03-10 11:21:42
393
原创 X86 汇编调用C文件函数
使用汇编定义main函数, 在主函数中使用rdi传递第一个入参,使用rsi传递第二个入参,调用C语言函数add,本例中main函数所在文件名称为asm.s , add函数所在文件名称为fun.c。2.调用add函数前,使用rdi传递第一个参数3,使用rsi传递第二个参数5,然后使用call调用add函数(在C语言文件中)。混合编程需要考虑的因素不少,需要考虑: 汇编风格,目标架构,调用约定;本例使用汇编语言调用C函数,顺便说明下64位传参的差异(和32位的传参差异比较大,使用寄存器传参)。
2026-03-05 10:41:46
349
原创 【H264-RTP码流分析】
IDR是N个包,第N个包, RTP后面跟着一个字节的FU indicator,type 是27,是FU-A分片的意思;IDR是N个包,第一个包,RTP后面跟着一个字节的FU indicator,type 是27,是FU-A分片的意思;IDR是N个包,第二个包,RTP后面跟着一个字节的FU indicator,type 是27,是FU-A分片的意思;注意一下FU header中的S和E标志位,如果是第一个分片S为1,E为0,中间分片S和E为0,最后一个分片S为0,E为1。
2024-12-17 20:38:06
1134
原创 Makefile遍历编译示例
gip.c这个文件用到了pthread_create, 所以编译参数比time的参数要多链接一个lib,使用了-lpthread。使用for语句进入当前目录的各个子目录,然后使用make -C $(CUR_PATH),进行编译各个子目录。整个工程要编译出来两个可执行文件time和gip,一次性编译完成。比较精炼的遍历遍历方案模板,可以根据需要添加内容。
2023-06-16 14:13:48
691
1
原创 安凯编码部分代码分析
首先绑定了Source和Dest通道,Dest其实是RTSP发送模块。这一步编码出来的帧是写sd卡,但是更常用的是发送的RTSP模块。
2023-06-01 20:48:03
560
1
原创 apach cgi 获取和设置cookie
http cookie的发送是通过http头部来实现的,他早于文件的传递,头部set-cookie的语法如下: Set-cookie:name=name;expires=date;path=path;domain=domain;securename=name: 需要设置cookie的值(name不能使用";“和”,"号),有多个name值时用 “;”分隔,例如:name1=name1;name2=name2;name3=name3。expires=date: cookie的有效期限,
2021-04-07 19:41:31
909
1
原创 ffmpeg录屏
ffmpeg录屏screen recorder 的下载地址: https://www.it610.com/article/1290547546384572416.htmffmpeg的下载地址: https://pan.baidu.com/s/1JH_NMM09A-ezMY0A6mUWGg
2020-10-31 15:33:31
353
空空如也
MP4H264文件分析
2023-11-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅