
linux
文章平均质量分 51
程序员-最后的倔强
这个作者很懒,什么都没留下…
展开
-
googletest入门
googletest原创 2023-07-25 11:17:41 · 156 阅读 · 0 评论 -
sock_create函数理解
如PF_INET中是使用inet_add_protocol接口添加的类型,如tcp udp icmp igmp,但是目前很多代码中创建tcp/udp的socket的时候,protocol写的是0。family:内核中使用sock_register注册的family。注意是PF_开头的,(而不是AF_开头的,即便这2者几乎没有差别)而netlink中使用的是类似NETLINK_GENERIC的值,所以family使用的是Protocol families,protocol:根据family来决定具体参数。原创 2023-05-10 20:07:03 · 544 阅读 · 0 评论 -
linux使用mingw32交叉编译socket程序入门
5:write发送socket数据时,发不出去,得使用send。4:mingw32编程时fwrite写文件时自动多了0X0D。1:编译环境,安装合适的mingw编译链。原创 2023-05-16 22:14:05 · 869 阅读 · 0 评论 -
C中内嵌汇编入门
GNU 内联汇编:gnu嵌入汇编,内嵌汇编详细的介绍_梦悦foundation的博客-优快云博客_内嵌汇编intelandgnugas系列之gnu内嵌汇编格式,以x86为例_memdev_新浪博客C和汇编如何互相调用?嵌入式工程师必须掌握 - 维科号"__asm__" 表示后面的代码为内嵌汇编,“asm”是“__asm__”的别名。“__volatile__” 表示编译器不要优化代码,后面的指令保留原样,“volatile”是它的别名。 括号里面是汇编指令。基于上面的这些介...原创 2022-03-28 22:31:42 · 689 阅读 · 0 评论 -
uboot load address、entry point、 bootm address以及kernel运行地址的意义及联系
linux基础之uboot load address、entry point、 bootm address以及kernel运行地址的意义及联系按各地址起作用的顺序,uboot引导linux内核启动涉及到以下地址:1. load address:2. entry point: 这个地址及load address 是mkimage时指定的3. bootm address:bootm为uboot的一个命令,以此从address启动kernel4. kernel运行地址:在具体mach目录中的M原创 2020-12-06 10:09:40 · 597 阅读 · 0 评论 -
UBOOT tftp高级用法命令
UBOOT tftp命令1:TFTP_MTU_BLOCKSIZE如果定义了CONFIG_TFTP_BLOCKSIZE,就用CONFIG_TFTP_BLOCKSIZE的值,否则默认就是1468,或者是环境变量tftpblocksize的值2:默认环境变量及与宏的对应:include/env_default.h中的变量:default_environment比如:#ifdef CONFIG_BOOTARGS“bootargs=” CONFIG_BOOTARGS “\原创 2020-12-06 10:12:05 · 1083 阅读 · 0 评论 -
uboot运行脚本语言用法
uboot运行脚本流程控制:if ; then ; [ elif ; then ; ] … [ else ; ] fiwhile ; do ; doneuntil ; do ; donefor in ; do ; donetest命令用来比较两个环境变量,比如if test ${ip_dyn} = yes; 判断ip_dyn变量是否为yes可惜的是uboot下无法做算数运算注意:有些命令的返回值有时候有点不太对劲,如tftp 0x21000000 u原创 2020-12-06 10:14:13 · 1404 阅读 · 0 评论 -
libevent最小堆图解
1:介绍之前先理解树的存储方式,参考图中的0-14的树结构,图片左下角,libevent使用的是顺序存储结构,一句话描述就是完全二叉树的顺序存储,仅需从根节点开始,按照层次依次将树中节点存储到数组即可2:插入:图中列举了依次插入9,8,7,6,5,4的情况,与实验结果相符合3:解释下代码中有段不太好理解的代码:min_child -= min_child == s->n || min_heap_elem_greater(s->p[min_child], s->p[m...原创 2021-11-28 18:08:19 · 372 阅读 · 0 评论 -
H264宏块类型及Intra Inter介绍
H264宏块类型及Intra Inter介绍本文使用工具:Elecard StreamEye Tools首先看下I slice帧的情况:可以看到下图都是红色mb类型I slice帧包含的宏块类型有0-25,主要有Intra_4x4 Intra_16x16 I_PCM,都属于帧内宏块预测模式,但是各有不同上图中的slice_number代表该宏块所处的slice序号其次 我们来看下P slice的情况:上图中蓝色的就是0-4的5种宏块类型以及黄色的pskip类型宏块,其中pskip可以有效原创 2020-12-21 20:38:41 · 1059 阅读 · 0 评论 -
kernel tasklet使用注意点
kernel tasklet使用注意点:1:irq event 361: bogus return value 29错误,中断处理函数结束后需要放回IRQ_HANDLED,如果是针对共享型中断,如果不是对应的中断处理函数应该回IRQ_NONE,如何区分是否为该中断,检查dev_id即可,对于共享型中断,dev_id不能为NULL指针2:静态定义并初始化:#define DECLARE_TASKLET(name, func, data) struct tasklet_struct name = { N原创 2020-12-06 10:32:13 · 220 阅读 · 0 评论 -
ITOP4412 讯为开发版调试ALSA声卡
ITOP4412 讯为开发版调试ALSA声卡ALSA 移植1:alsa-lib 编译:版本1.0.22https://blog.youkuaiyun.com/chunleigan/article/details/21000127./configure --host=arm-none-linux-gnueabi CC=arm-none-linux-gnueabi-gcc --prefix=/home/topeet/alsa-lib/ --disable-mixermakemake install2:alsa原创 2020-12-06 10:26:31 · 772 阅读 · 0 评论