- 博客(40)
- 资源 (8)
- 收藏
- 关注
原创 FriendlyARM mini6410内核编译流程梳理及Makefile解析
FriendlyARM mini6410内核编译流程梳理及Makefile解析
2022-04-03 15:40:46 1822
原创 Kintex7325平台elf文件快速加载实现
在实际项目中,为了降低硬件成本,一般会选择将程序固化在flash中,并在系统启动时动态搬运程序到DDR中并运行,这就需要引导程序的步骤,xilinx SDK 2018.3 应用模板中有srec bootloader工程,此工程只要配置好flash中应用程序的偏移地址,即可实现程序搬运并正常运行。在编译完成嵌入式应用软件程序生成elf可执行文件之后,要向程序从flash启动,我们需要将elf可执行文件通过Xilinx 2018.3在的Program Flash小软件将应用程序写入到qspi Flash中。
2021-04-13 12:01:40 2204 5
原创 基于pyautogui 实现跨平台GUI自动化应用
在自动化测试中,测试人员往往要准备测试环境,打开不计其数的窗口,有没有一种自动化的gui操作实现这一目的呢,肯定是有的。目前最火的python脚本实现起来是最简单的,实现方式也很简单,仅仅利用pyautogui库就可以实现。而且,还可以跨平台。闲话不多说,先来看看这个东东吧。pyautoGUI模块通过屏幕xy坐标系统确定目标位置,控制鼠标和键盘发送虚拟击键和鼠标点击,完成点击按钮、填写表单等操作,通过pyautogui库,我们可以对鼠标键盘做很多事情,比如:确定鼠标当前位置,移动鼠标,鼠标点击,鼠标拖动
2020-07-07 11:53:09 2037
原创 基于stm32f407VGT6控制WS2812的TIM1+PWM+DMA实现方式
项目中使用到了ws2812灯带,作为产品的外观显示灯,经过开发之后,整理一下,仅供大家参考。WS2812B是一个集控制电路与发光电路于一体的智能外控LED光源。 其外型与一个5050 LED灯珠相同, 每个元件即为一个像素点。 像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路, 还包含有高精度的内部振荡器和可编程定电流控制部分, 有效保证了像素点光的颜色高度一致。数据协议采用单线归零码的通讯方式, 像素点在上电复位以后, DIN端接受从控制器传输过来的数据, 首先送过来的24bit数据被第一个像素
2020-06-21 18:14:23 7659 11
原创 STM32F107RBT6移植freeRTOS
在玩32板子的时候,碰到一些好几个任务同时工作的工程时,有必要在系统上运行,而轻便高效且易移植的小型系统中,freertos无疑是最好的选择。下面,就来一步一步移植freeRTOS系统吧。首先下载freertos系统,目前的版本是v10.2.1。对于移植来说,只有FreeRTOS中的文件是有用的,但也并不是全部需要。源码中的文件结构如下:Demon:适配各个平台的模板工程,需要CORTEX...
2019-08-30 14:01:44 3668
原创 编译常用命令
linux平台的c代码编译,一般分四步:1.预处理 gcc test.c -E -o test.i (头文件展开,宏替换,注释清除,条件变异处理等操作)2. 编译 gcc test.i -S -o test.s (检查语法,生成汇编文件)3. 汇编 gcc test.s -c -o test.o (生成电脑识别的二进制文件)4. 链接 ...
2019-07-11 00:32:24 1471
原创 tcp连接状态详解
对于linux 套接字通信,从连接建立到连接断开,其状态总共有11种,在三次握手和四次挥手,状态变化比较快,在连接建立时,状态比较稳定,下面简单介绍一下各个状态的情况。状态汇总(11种):LISTEN:侦听来自远方的TCP端口的连接请求SYN-SENT:再发送连接请求后等待匹配的连接请求(客户端)SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(服务...
2019-07-02 21:46:16 1598
原创 Nginx 服务器 (四)
上篇文章介绍了nginx静态虚拟配置的实现,而在实际项目中,情况都比较复杂。项目nginx实用需求:通过浏览器浏览获取数据,内部通过nginx实现端口转发,实现数据的传输实现。(通过浏览器访问192.168.11.27:9000, nginx转发到1010端口,返回数据)毫无疑问,要想实现此功能,nginx.conf 配置文件才是我们操作的核心。关于端口转发的相关资料,nginx 中文文档中...
2019-06-15 19:40:43 200
原创 Nginx 服务器 (三)
之前两章内容,简要的向大家介绍了nginx的简单知识及配置方法。在我们的项目中,nginx服务器用来做反向代理服务器,所以,需要根据项目实际的需求去设置nginx。 在系统中,nginx服务的配置文件 nginx.conf是最重要的。在有关nginx的各种问题,我们均可以在其官网找到相关文档说明: https://nginx.bootcss.com/官网是全英文的,介绍的比较详细,我们还...
2019-06-15 15:53:13 273
原创 Nginx 服务器 (二 )
Nginx 服务器由于其强大的特性,在实际项目应用中很广泛,下面通过再ubuntu 12.04 中安装Nginx来给大家讲解一下其安装及配置中需要注意的问题。在utunbu中直接运行命令: apt-get install nginx运行命令,查看默认安装路径:whereis nginx此时Nginx已经完成默认安装,默认安装路径如下:usr/sbin/nginx:主程序/et...
2019-06-10 23:23:11 147
原创 Nginx 服务器 (一)
要想了解Nginx服务器,首先不得不说说Apache服务器。毫无以为Apache市场占有率比较高,约60%左右,得益于它的开源及年龄,但是Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境。而Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。不得不说,俄罗斯人的Nginx越来越受欢...
2019-06-10 20:53:12 151
原创 libconfig c语言实例
在工作项目中,使用到了配置文件导入导出等功能(否则程序就不是可配置的),所以就需要合理选择配置文件得读写操作,libconfig就是这么样一个东西。Libconfig是一个结构化的配置文件库,它可以定义一些配置文件,例如test.cfg . 它比xml可读性更好,而且更简洁。libconfig主要是通过路径读取对应的 .cfg文件来获取其中的内容,不必要去解析字符串等内容,直接通过函数获取数据,...
2019-06-05 21:24:07 3019
原创 curl 简单实例 (c代码通过 curl-url 实现信息获取)
在项目中使用到了libcurl,gui图形界面通过url向主进程获取、传递参数,通过查看代码,发现通过curl可以做到如此强大的功能,很强大。在网上查资料。php使用curl是最多的,通过curl获取http url请求/web站点各阶段相应时间,因为我们的环境限制,只能采用c语言,所以我也只能通过c语言来验证。首先还是对curl做一个简单的介绍吧,cURL是一个利用URL语法在命令行下工作的...
2019-06-04 20:26:10 5023
原创 socket 通讯完善消息接收机制
在日常开发中,当设计到 TCP 通讯的时候,我们都会默认的认为它是可靠的,没有任何风险的,然而并不是这样,在网络环境复杂的情况下,tcp通讯并不是你想象中的那么厉害,强悍到完美的程度。cp通讯的优缺点总结;TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。...
2019-06-01 18:56:53 2377
原创 linux 开启telnet服务
在日常工作中,习惯了使用命令行,但是当涉及到搭建新的机器环境的时候,发现新安装的ubuntu没有开启telnet。需要新装。telnet服务端口为 tcp:23,可通过 netstat -nlp | grep 23 命令来查看是否开启telnet服务。telnet简介:Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算...
2019-06-01 12:01:30 4404
原创 ps流组成 PS封装 (PS+SYS+PSM+PES+RAW )概述
在工作中,招标时要对设备进行gb28181检测,需要对音视频数据进行封装,封装方式为PS流,封装实现如下:简要概述:整体机制均有udp发送,发送的数据要封装为rtp格式,rtp负载即为PS流。PS流:PS流由众多PS包构成,每个PS包的基本构成形式为:PS Header + SYS Header + PSM Header + PES Header + PES packet * N固定包...
2019-05-30 23:00:51 8716
原创 SPVMN 视频监控联网调测 (NVR/IPC gbt-28181服务检测)
所有的主流NVR和IPC都应该支持国产的gb28181服务,在招标时,需要对其进行平台检测,公安部第一研究所有自己的检测软件,用来检测支持gb28181服务的NVR和IPC送出的音视频数据是否正常。一、 环境搭建:(由于公司限制,软件不方便发布)安装jdk包调测软件安装调测软件授权软件安装浏览器视频播放插件安装调测软件license配置 (此项必须有,否则网页打不开,无法进行测...
2019-05-30 20:43:30 5844 19
原创 SDP (会话描述协议) 简介
之前跟大家简单介绍了sip符合,会话初始协议,会话初始协议主要是方便沟通双方能够建立沟通信道,而后就得需要绘画描述协议了,急双方通信传输音视频信息时,用来描述传输信息的协议。SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIME 扩展协议的电子邮件以及超文本传输协议(HTTP)。...
2019-05-29 21:57:49 2796
原创 RTP (实时传输协议)初了解
实时传输协议(Real-time Transport Protocol或简写RTP)是一个网络传输协议。它详细说明了在互联网上传递音频和视频的标准数据包格式。RTP协议常用于流媒体系统(配合RTSP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础。RTP协议和RTP控制协议RTCP一起使用,而且它是创建在UDP协议上的。以下是rt...
2019-05-29 21:03:01 476
原创 SIP (会话初始协议)初了解
在工作中,常常接触音视频流的传输,所以,整理一下关于音视频传输的一些常用协议。首先最简单的要数应用层的sip协议了。SIP(Session Initiation Protocol)会话初始协议,它是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话。其应用特别广泛,可以说有有IP网络的地方就有SIP协议的存在。我们公司主要是应用在音视频数据传输方面。sip主要由四部分组...
2019-05-29 19:42:28 1112
原创 ubuntu 移植cmake
在我们实际工作中,常常会涉及到一些跨平台的工程,工程编译的话可以选择Makefile来管理,然而Makefile的书写是比较沉重的一份工作,而本章所介绍的cmake工具就可以根据用户设定的参数,自动生成MakeFile文件,极大的简化了程序员的工作量。cmake简介:CMake(“cross platform make”)是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编...
2019-05-19 09:21:54 340
原创 cmake 简单实例
cmake的强大之处在于跨平台,对于开发人员来说,不用花费精力去编写makefile了。极大的方便了苦逼的程序员。现在,通过一个实例简单说明一下cmake的使用创建名字为hello的工程,工程架构如下:目录结构├── build 编译生成的中间目录├── CMakeLists.txt cmake配置├── src ...
2019-05-18 18:25:40 648
原创 常见文件传输协议(ftp、tftp、scp)及其特点
在工作中,我们经常要涉及到文件传输,windows 与windows, linux 与linux,windows 与linux 之间的文件传输,可供选择的途径有好多种。 可是常见的无非那么几种。常见的文件传输协议:FTP、TFTP、SSH、SCPFTP(英文:File Transfer Protocol,缩写:FTP)FTP是在网络层传输文件的应用层协议,基于TCP连接,使用客户/服务器...
2019-03-29 00:20:51 22133
原创 libevent 库使用(一)socket实例
在工作中,之前经常使用tcp通信,每次都要自己写tcp通信程序,管理,比较麻烦,使用socket、bind、listen、connect、send、recv等基础函数虽然能够从最底层管理维护socket通信,但是socket通信一般不会使用其太高深的功能的情况下,libevent库完全可以胜任这项工作。下面,贴一段源码来简单介绍以下libevent的功能,代码是从公司项目代码中抽离出来的,可能不...
2019-03-28 00:35:18 4543
原创 ubuntu中 tftp 服务器搭建
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。基于UDP的tftp协议,在嵌入式Linux开发中,在很多场合都被用到,甚至是必不可少的,特别是在内核调试阶段,在U-Boot下通过TFTP协议从服务器上加载内核并运行,既方便又快捷...
2019-03-26 23:46:57 182
原创 libevent库移植
Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事...
2019-03-26 23:39:45 661
原创 ubuntu移植glib库
对于嵌入式开发人员来说,ubuntu 是一个应用范围相当广的linux操作系统了。通过该开源系统,实现一些列我们所想实现的众多开发。然而纯净的ubuntu只是携带了很少的开源库,要想在实际开发中使用到适合的开源库或资源,我们就要在我们的ubuntu系统中移植我们所需要的资源库。glib库是Linux平台下最常用的C语言函数库,它具有很好的可移植性和实用性。可以在多个平台下使用,比如Linux、U...
2019-03-26 23:30:02 836
原创 gdb 简单使用
如果让我用最简单的话形容一下高gdb, 那我觉得“强大”两个字就足矣了。废话少说,上干货。在应用层开发程序,有很多调试工具可以选择,各种环境有各自的工具帮助开发人员定位问题以解决问题,但在linux中,尤其是嵌入式开发中,gdb 就是比较出名的调试工具了,为什么呢,因为它强大嘛!gdb简介:最牛逼的UNIX下的程序调试工具,没有之一。可以动态改变程序运行环境,能够随心所欲的控制程序的运行及查...
2019-03-25 23:51:49 1586
原创 postman 安装及使用简介
Postman 是一个很强大的 API、Http请求的网页调试工具,它不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman是谷歌免费插件,必须安装谷歌浏览器后才能够使用该工具。安装postman之前必须有限安装谷歌浏览器,这里就不做过多陈述了。下载完谷歌浏览器之后,我们可以在谷歌浏览器中加载控件安装也可以直接下载安装包然后通过谷歌...
2019-03-22 00:09:13 1667
原创 swagger 初始使用
swagger ,这个东西也是在项目中用到的,一个很实用的API 学习工具。Swagger包括库、编辑器、代码生成器等很多部分,这里我们主要讲一下Swagger Editor。swagger editor 在 http://editor.swagger.io/ 这个在线版本的的编辑生成工具,该工具左侧编辑API文档,右侧自动生成有咩的API接口,左侧包括API名字,描述,使用形式,parame...
2019-03-20 00:11:02 639
原创 wireshark 工具使用
在工作中,由于各种网络通信,抓取网络包分析就显得非常重要了,linux 系统中查看网络包个人觉得不太方便,一般都是通过tcpdump命令抓取过滤后的特定网络包,在pc机上通过wireshark软件查看。网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。安装后界面如下图:此软件的功能强大之处在于能够解析各种协议的网络数据包(http,icmp,dh...
2019-03-19 00:20:41 441
原创 tcpdump 工具的使用
在公司涉及到网络问题的故障,比如远程命令未实现,与前端设备交互失败,网络数据异常等问题,很可能是网络方面的故障,而在pc机上抓包,采用wireshark 即可,但在linux设备中,tcpdump 这个强大的抓包工具就会显得重要了。tcpdump工具很强大,通过命令行指定一系列参数可以实现网络包抓取功能。tcpdump 工具有好多关键字:host :主机 ef:192.168.11.1...
2019-03-18 00:17:20 1688
原创 STemWin 入门(1)
STemWin 入门(1)之前公司做过stm32的项目,但是没有涉及到gui界面的实现,采用的是lcd串口屏,仅仅支持汉字显示。目前由于工作需要接触到gui,虽然使用的不是stemwin, 但是联想到之前的工作,个人觉得还是stemwin 比较适合新手学习GUI。Segger 公司是个很强大的公司,我们最熟悉的Jlink 就是出自segger, segger 还做TRTOS...
2019-03-10 22:06:42 5089
xilinx zynq PL(Programming Logic) 动态加载实现
2023-11-22
cJSON_实例.7z
2020-08-20
FPGA Microblaze 配置与程序烧录指导.doc
2019-12-10
基于linux平台的Petalinux 安装及使用.docx
2019-12-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人