- 博客(399)
- 资源 (14)
- 收藏
- 关注
转载 【无标题】
这种通过改变函数指针 s_cal 的值,让函数 test2_cal() 执行不同功能的特性,可以称之为重定义了test2_cal()的功能。默认的情况下,它仅调用 cal_sum 和 cal_sub两个函数,通过函数 my_cal_calculate_register()可以增加它调用的函数,示例中 my_cal_calculate_register(cal_mul);引言:在上一篇详解C语言中回调函数的含义与使用场景[1]中介绍了回调函数的概念与使用方法,本节将深入地介绍回调函数典型的使用场景。
2022-10-28 15:10:30
187
1
原创 git使用教程
参考http://justcoding.iteye.com/blog/1830388初始化配置1#配置使用git仓库的人员姓名2git config --global user.name “Your Name Comes Here”34#配置使用git仓库的人员email5git config --global user.email you@yourdomain.example.com67#配置到缓存 默认15分钟8git config --global creden
2022-10-28 11:22:25
291
转载 三种嵌入式web服务器(Boa / lighttpd / shttpd)的 linux移植笔记
在开发板的 /var/www(由-root指定的根目录)放入测试网页:index.html在HOST的浏览器中输入开发板地址,测试通过!CGI测试在 /var/www (由-root指定的根目录)放入测试 CGI 程序:helloworldCGI.cgi在流览器中输入(开发板地址)192.168.1.2.cgi,测试通过!
2022-09-19 15:51:32
1417
转载 linux中route命令超详细用法
要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。metric Metric 为路由指定一个整数成本值标(从 1 至 ArrayArrayArrayArray),当在路由表(与转发的数据包目标地址最匹配)的多个路由中进行选择时可以使用。
2022-09-19 12:19:30
3775
原创 H.264 RTP PAYLOAD 格式
H.264 RTP PAYLOAD 格式H.264 视频 RTP 负载格式NALU 头由一个字节组成, 它的语法如下:F: 1 个比特.forbidden_zero_bit. 在 H.264 规范中规定了这一位必须为 0.NRI: 2 个比特.nal_ref_idc. 取 00 ~ 11, 似乎指示这个 NALU 的重要性, 如 00 的 NALU 解码器可以丢弃它而不影响图像的回放. 不过一般情况下不太关心这个属性.Type: 5 个比特.nal_unit_type. 这个 NALU 单元的类型.
2022-08-15 19:49:51
478
转载 【无标题】
RTP荷载PS流针对H264 做如下PS 封装:每个IDR NALU 前一般都会包含SPS、PPS 等NALU,因此将SPS、PPS、IDR 的NALU 封装为一个PS 包,包括ps 头,然后加上PS system header,PS system map,PES header+h264 raw data。所以一个IDR NALU PS 包由外到内顺序是:PSheader| PS system header | PS system Map | PES header | h264 raw data。对于其它
2022-08-15 19:48:48
131
原创 linux下编译安装libcurl,使用libcurl编程
5.make install 默认库文件安装在/usr/local/lib 头文件安装。在/usr/local/include —>安装要root权限。post例子 test.c注意:编译的时候后面要加-lcurl。linux下编译安装libcurl。
2022-08-15 16:40:38
1995
原创 完全卸载docker命令流程
1.删除软件以及安装时自动安装的所有包。#2.查看docker中其他没有卸载的包。#3.卸载没有删除的docker相关插件。#4.删除docker的相关配置&目录。#5.确认docker卸载完毕。#查询是否安装过docker。#查询是否安装过curl。...
2022-07-22 14:51:59
2117
转载 Ubuntu Docker 安装
DockerEngine-Community支持上x86_64(或amd64)armhf,arm64,s390x(IBMZ),和ppc64le(IBM的Power)架构。
2022-07-22 14:45:27
210
原创 全志T3,linux3.x,装udev和docker兼容问题
之前系统里面没有声明这个,可能默认是用的vfs,但是装了udev之后,好像就默认用devicemapper了,内核版本低导致。
2022-07-22 14:42:32
535
转载 ARM64安装Docker的问题以及对应的内核配置项
错误】FailedtoinjectDOCKERinPREROUTINGchainiptablesfailediptables--wait-tnat-APREROUTING-maddrtype--dst-typeLOCAL-jDOCKERiptablesNochain/target/matchbythatname.-t--tabletabletomanipulate(default`filter’)要维护的表。
2022-07-22 14:31:39
5205
转载 Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
正在上传…重新上传取消ipromisesudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev1.直接去官网下载你想的版本jianjiacheng@J-co
2022-06-30 09:56:36
752
原创 docker-compose的三种安装方式
docker-compose的三种安装方式1、按官网的方式去安装访问官网docker.com,Resources–>Docs在这里插入图片描述进入Docs页面,点Product manuals在这里插入图片描述在https://docs.docker.com/install/页面,如下图,左边选Docker Compose–>install Compose,右边选择Linux(说明一下,Max、Windows系统中Docker安装后,Docker Compose自带的,不需要另外安装的),然后安装
2022-06-30 09:49:07
5187
原创 Linux配置USB RNDIS
一台Linux即可充当USB的device端,也可以由另一台Linux来充当USB的Host端。在与以太网不同,在USB网络里各终端不是对等的,即USB Host端和USB Device端的所需要软件和硬件接口不一样。Linux充当USB HostLinux开发板当USB Host时,需要安装安装 rndis_host.ko 这个驱动。Linux充当USB DeviceLinux开发板需要安装USB Gadget驱动g_ether.ko 来进行通讯。最终配置选项就是:CONFIG_USB_ETH=y
2022-06-02 17:50:36
4476
1
原创 全志A33-USB虚拟网卡的配置与使用
开发环境开发板:A30开发板系统:LinuxUSB网卡:三星S4、华为P8(USB共享网络)运行:make menuconfig ARCH=arm依次进入: Device Drivers —>Network device support —> USB Network Adapters将以下三项编译进内核:Multi-purpose USB Networking Framework [ m–y ]CDC Ethernet support (smart devices such as cable modems)
2022-06-02 17:46:24
2012
原创 C语言获取当前的时间,秒,毫秒,纳秒
#include<stdio.h>#include<sys/time.h>int main(){ struct timeval time_now = {0}; long time_sec = 0;//秒 long time_mil = 0;//1毫秒 = 1秒/1000 long time_mic = 0;//1微秒 = 1毫秒/1000gettimeofday(&time_now,NULL);&n
2022-05-27 16:49:27
4252
转载 Linux下udev规则详解
如何运用udev?编写udev规则?通过udev更好的管理Linux设备?udev是什么?udev 是 Linux2.6 内核里的一个功能,它替代了原来的 devfs,成为当前 Linux 默认的设备管理工具。udev 以守护进程的形式运行,通过侦听内核发出来的 uevent 来管理 /dev目录下的设备文件。不像之前的设备管理工具,udev 在用户空间 (user space) 运行,而不在内核空间 (kernel space) 运行。devfs 概述:linux下有专门的文件系统用来对设备进行管
2022-05-26 16:44:44
2174
转载 《开发板 —— Linux配置USB RNDIS》
1. 《开发板 —— Linux配置USB RNDIS》一台Linux即可充当USB的device端,也可以由另一台Linux来充当USB的Host端。在与以太网不同,在USB网络里各终端不是对等的,即USB Host端和USB Device端的所需要软件和硬件接口不一样。Linux充当USB HostLinux开发板当USB Host时,需要安装安装 rndis_host.ko 这个驱动。│ Prompt: Host for RNDIS and ActiveSync devices...
2022-05-26 11:41:34
1226
转载 Linux Ubuntu 20.04 —添加开机启动(服务/脚本)
Linux Ubuntu 20.04 —添加开机启动(服务/脚本)系统启动时需要加载的配置文件/etc/profile、/root/.bash_profile/etc/bashrc、/root/.bashrc/etc/profile.d/*.sh、/etc/profile.d/lang.sh/etc/sysconfig/i18n、/etc/rc.local(/etc/rc.d/rc.local)一、修改开机启动文件:/etc/rc.local(或者/etc/rc.d/rc.local)
2021-09-17 10:19:38
2121
原创 unsigned类型的数据和普通数据类型间转来转去
最近在做一个项目的过程中,遇到了协议的加密解密和封装,其中经常遇到unsigned类型的数据和普通数据类型间转来转去,所以经过研究,简单封装了几个函数,在这里分享给大家,有不足之处还望大家给予指正。unsigned short unCharToUnShort(unsigned char* pBuf){unsigned short result = 0;result = (short)pBuf[0]*256;result += (short)pBuf[1];return result;...
2021-08-10 18:37:46
814
原创 消息队列(Message Queues)有关的数据结构 ipc_perm msgbuf msg msqid_ds
在介绍消息队列的使用前,让我们先熟悉一下在后面会碰到的几个和消息队列有关的数据结构:1.ipc_perm系统使用ipc_perm 结构来保存每个IPC 对象权限信息。在Linux 的库文件linux/ipc.h中,它是这样定义的:struct ipc_perm{key_t key;ushort uid; /* owner euid and egid */ushort gid;ushort cuid; /* creator euid and egid */ushort cgid;ush
2021-08-04 14:41:49
764
原创 CJSON配置文件读写
CJSON由于简洁明了的格式特征,非常适合用于配置文件格式,下面以一个简单的配置文件为例讲解cjson格式文件读写方法。cjson格式文件recordcfg.txt示例:{ "record_cfg": { "record_chan": [1, 1], "live_chan": [1, 1], "fps": 30, "bitrate": 12 }}cjson配置文件读写代码:#inc...
2021-08-03 18:34:07
492
转载 加密解密你了解多少?
这个题目一写出来,笔者自己也思考了下自己在以前职业生涯中涉及到的加密解密技术,也思考了自己熟知的公知度高的几种加密方式。下面我来说说一些理解上的东西。加密解密中间参与的是一个算法,有这个算法规律你才可以将简单的语言或者数据转换成只有了解此算法的人才能看懂才能知道其本身含义的语言或者是数据,你做的这部分工作其实就是在加密,别人理解的过程就是解密。定义:...
2019-11-07 14:39:44
348
转载 嵌入式设备中支持国密算法的方法
如今国密系列算法的应用已不仅仅局限于金融和电信等领域,诸如车载设备,消费类电子设备等越来越多的产品开始要求有国密算法的支持。但是国密算法的开源资料和应用案例少之又少,如何快速高效的在自己的设备中加入国密算法已经成为众多开发者必须要面对的难题。现在为大家准备了一个系列文章,介绍嵌入式设备中移植国密算法的方法。简单来说,分为三种方法:1、移植Miracl库2、移植Openssl库3、使...
2019-11-07 14:16:21
459
转载 undefined reference to `dlclose'问题解决方法
make[1]: Entering directory `/usr/local/sinasrv/PyCSF-1.0_Alpha_3@CSF-3.1.2_G2'gcc -I/usr/local/include -I./confparser -I./include -o csfd server.o protocol.o data.o mempool.o pipeline.o common.o mai...
2019-06-17 07:56:01
5977
转载 configure的时候,如何使用-lpthread的选项
解决方法1:修改"Makefile.in" 92 和 93行 为 "CC = @CC@ -pthread" and "CXX = @CXX@ -pthread"解决方法2:在Makefile.in中183行bochs@EXE@: @IODEV_LIB_VAR@ @DEBUGGER_VAR@ \cpu/libcpu.a memory/libmemory.a gui/libgui.a \@DI...
2019-06-17 07:55:26
853
转载 Linux环境变量基础配置说明
1、直接用export命令: #exportPATH=$PATH:/opt/au1200_rm/build_tools/bin 查看是否已经设好,可用命令export查看: [root@localhostbin]#export declare-xBASH_ENV="/root/.bashrc" declare-xG_BROKEN_FILEN...
2019-06-17 07:47:18
259
转载 深入浅出剖析C语言函数指针与回调函数(二)
上一篇博文的地址:http://blog.csdn.net/morixinguan/article/details/65494239这节,我们来看看函数指针与回调函数在Linux内核中的应用。从上节我们了解到,函数指针和回调函数在开发者和用户之间的一个例子,那么这节,我将引用Linux内核中文件操作结构体来详细的说明。我们首先来看到这个结构体,这段代码位于linux内核的inclu...
2019-03-19 18:43:50
199
转载 深入浅出剖析C语言函数指针与回调函数(一)
关于静态库和动态库的使用和制作方法。http://blog.csdn.net/morixinguan/article/details/52451612今天我们要搞明白的一个概念叫回调函数。什么是回调函数?百度的权威解释如下:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调...
2019-03-19 18:42:28
432
转载 静态库与动态库相关知识笔记
1. ldd 可查看程序需要哪些动态库命令 命令解析nm 可查看程序,库里有哪些函数file 可查看文件的类型objdump -D 反汇编.o/.a/.so/elf可执行文件2. 制作静态库 (test1.c test2.c)命令 gcc test1.c -c -o test1.o 编译为目标文件gcc test2.c -c -o te...
2019-03-19 18:41:14
130
转载 C语言实现http的下载
实现http的下载用C语言实现简单的http下载接口,方便移植到其他程序中使用要满足的功能:支持chunked方式传输的下载 被重定向时能下载重定向页面 要实现的接口为int http_download(char *url, char *save_path)思路:解析输入的URL,分离出主机,端口号,文件路径的信息 解析主机的DNS 填充http请求的头部,给服务器发...
2019-01-16 19:28:01
1995
2
转载 十六进制和字符串之间的转换
十六进制转换为字符串:函数uti_hex2text功能为将hex字符以十六进制格式输出到字符串text中int uti_hex2text(unsigned char *hex, int hex_len, char *text){char buffer[20];int cnt;for(cnt = 0; cnt < hex_len; cnt++){memset(buffer, 0...
2018-11-27 13:23:52
15592
3
转载 利用cJSON解析和创建JSON字符串
一、前言:为了使用简单方便,可以通过下载cJSON文件来解析JOSN字符串比较简单方便,而且cJSON文件只有一个cJSON.c和cJSON.h两个文件,使用起来效率比较高。二、cJSON文件源码下载:链接:https://pan.baidu.com/s/1hZl12FqMJsfxkocU2ULBTg 密码:xi67三、使用说明:将下载到的文件解压出来,里面只有cJSON.c、cJSO...
2018-11-27 11:05:57
3266
转载 编译成动态库
1.所需的文件:main.c main.h test.c test.h将着几个文件编译成动态库:libtest.sogcc test.c -fPIC -shared -o libtest.so编译完成后会在当前目录下生产libtest.so这个文件将main.c与动态库libtest.c链接生成可执行文件main:gcc test.c -L./ -ltest -o main执行ldd...
2018-11-27 11:03:55
763
转载 Paho MQTT 嵌入式c客户端研究笔记
最近做物联网设备,需求长连接推送功能。当前物联网有一个标准协议是MQTT,对应有很多开源服务端,如何快速接入这个服务呢。有两种接入方案: 1.自己clone 代码修改维护。 2.找第三方服务,比如当前提供支持的有云巴,bat。bat目前都还处于公测中,at使用都需要申请设备,b可以直接接入。对比了价格,b最便宜,一个月免费消息1百万条。 最后决定先尝试使用百度云的MQTT服务后台...
2018-11-22 15:46:44
1483
原创 使用Socket时的阻塞工作方式和非阻塞工作方式有什么区别
阻塞模式和非阻塞模式的主要区别在于无请求来到时,阻塞模式会一直停在接收函数即accep函数,直到有请求到来才会继续向下进行处理。而非阻塞模式下,运行接收函数,如果有请求,则会接收请求,如果无请求,会返回一个负值,并继续向下运行。一般来说,使用阻塞模式的程序比较多,因为阻塞模式是由内核保障等待请求的,当他阻塞时不占用系统资源,而非阻塞模式需要我们人工轮询,占用资源较多。另外,阻塞模式可以使用sele...
2018-11-11 19:35:39
6362
转载 FreeRTOS系列第2篇---FreeRTOS入门指南
FreeRTOS可以被移植到很多不同架构的处理器和编译器。每一个RTOS移植都附带一个已经配置好的演示例程,可以方便快速启动开发。更好的是,每个演示例程都附带一个说明网页,提供如何定位RTOS演示工程源代码、如何编译演示例程、如何配置硬件平台的全部信息。 演示例程说明网页还提供基本的RTOS移植细节信息,包括如何编写FreeRTOS兼容的中断服务例程,不同架构的中断处理会稍有不同...
2018-11-07 15:31:54
972
转载 FreeRTOS系列第1篇---为什么选择FreeRTOS?
1.为什么学习RTOS? 作为基于ARM7、Cortex-M3硬件开发的嵌入式工程师,我一直反对使用RTOS。不仅因为不恰当的使用RTOS会给项目带来额外的稳定性风险,更重要的是我认为绝大多数基于ARM7、Cortex-M3硬件的项目,还没复杂到使用RTOS的地步,使用状态机就足够了。 对于现代的微处理器,特别是资源相对丰富ARM7、Cortex-M3硬件来说...
2018-11-07 15:27:23
1822
1
转载 基于mini2440嵌入式linux上整合一套Domoticz智能家居系统(七)交叉编译paho.mqtt.embedded-c库和嵌入式linux样例程序
本篇将把paho.mqtt.embedded-c官方的源代码交叉编译成数据包封装库和应用程序两部分,并把样例应用程序在mini2440上运行。一、首先编译MQTT协议包封装库:解压paho.mqtt.embedded-c-master.zip之后,进入目录, 修改Makefile: 1、修改第70行CC ?=gcc为:CC ?=arm-linux-gcc12、第43行SOURC...
2018-11-03 17:47:22
483
转载 基于ARM平台交叉编译MQTT-C客户端的百度云IOT接入流程记录
基于ARM平台交叉编译MQTT-C客户端的百度云IOT接入流程记录 Paho MQTT嵌入式c客户端编译实践[百度云MQTT客户端兼容PAHO,PAHO也是一个开源的MQTT协议项目]:1.参见以下网页:http://blog.csdn.net/rambomatrix/article/details/62892151Paho MQTT 嵌入式c客户端研究笔记在百度物接入的“...
2018-11-03 17:25:59
3906
SMx-master (2).zip
2019-11-07
smtest.rar
2019-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人