自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 收藏
  • 关注

原创 Windows10下 交叉编译aarch64(ARMv8)架构Qt5.12.11库

参考1:https://blog.csdn.net/hanxv_1987/article/details/104671950参考2:参考3:本文的目的:在Windows10下,通过Qt Creator 编写程序并交叉编译出能在RK3399的Ubuntu系统下运行的程序。第一步:在Windows10下,下载并安装QtCreator1、Qt版本:Qt5.12.11。2、下载链接:https://download.qt.io/official_releases/qt/5.12/5.12.11/3、

2021-09-16 00:33:46 4182 5

原创 Linux软件安装方式

参考:https://www.jianshu.com/p/0490e52084421 软件包管理器方式(apt,rpm,yum)1.1 apt →Ubuntu;1.2 rpm→Red Hat;1.3 yum→Fedora、RedHat;2 源代码安装方式(.tar、tar.gz、tar.bz2、tar.Z)第一步:通过tar命令解压缩源码;第二部:进入源码目录,用./configure 命令配置Makefile文件;第三部:用make 命令对源码进行编译和链接;第四部:用sudo mak

2021-09-10 10:44:24 225

原创 应用程序开发分类

1 控制台程序(Console)开发   控制台程序本身没有窗口,通过操作系统的窗口执行,如Windows的DOS窗口和Linux的Shell窗口。2 窗口程序(GUI)发开3 库程序开发    静态库程序开发:Windows下为xxx.lib文件,Linux下为xxx.a文件。    动态库程序开发:Windows下为xxx.dll文件,Linux下为xxx.so文件。    应用程序开发过程:    1、源代码编写    2、源代码、头文件、静态库和动态库合理的组合。...

2021-09-08 18:47:13 408

原创 Linux下从源码到可执行程序的操作过程:配置、编译、安装和卸载

参考:https://www.cnblogs.com/linewman/p/9918640.html1 配置命令:configure。目的:配置makefile文件。   makefile文件是有由源码开发程序员编写的,源码中一般有现成的makefile文件。makefile文件可由cmake或qmake(Qt专有)生成。   configure文件是一个可执行的脚本文件,它有很多选项,在待安装的源码目录下使用命令./configure –help可以输出详细的选项列表。   其中–prefix

2021-09-08 18:32:30 396

原创 Ubuntu下(Linux)QT开发流程

1、创建工程目录    所有的开发文件(.h头文件、.c或.cpp源文件、静态库文件、动态库文件、makefile文件等)都放在该目录下,方便统一管理。在该目录下,可以创建多个文件夹,以便分类管理。2、编写源代码    在创建的工程目录下,编写.h头文件和.c或.cpp源文件。3、构建工程    构建工程的方式一般分为两种:qmake和cmake。    qmake 通过xxx.pro(xxx为工程名称)文件构建工程;cmake 通过CMakeLists.txt文件构建工程。4、创建Makef

2021-09-03 16:14:09 1629

原创 硬软件系统的实时性

1 实时性的考察对象:单片机、实时操作系统和分时操作系统1.1 单片机裸机OS一、古老的51单片机。二、当下最流行意法半导体的STM32 Cortex-M3系列、Cortex-M4、Cortex-M0和Cortex-M7系列单片机。三、其他公司单片机系列:1、德州仪器TI公司的MSP430系列和DSP F28系列;2、微芯科技Microship公司的PIC系列;3、爱特梅尔Atmel公司(被Microship公司收购)的AVR系列;4、**瑞萨公司(日本)**的RA系列(48-200MHz

2021-08-23 19:38:46 980

原创 cmake介绍

参考1:https://fukun.org/archives/0421949.html1、为什么需要cmake    任何一个软件项目,除了写代码之外,还有一个更为重要的任务,就是如何组织和管理这些代码,使项目代码层次结构清晰易读,这对以后的维护工作大有裨益。    决定代码的组织方式及其编译方式,也是程序设计的一部分。因此,我们需要cmake和autotools这样的工具来帮助我们构建(编译)并维护项目代码。   一份源代码,从开始产生到成为可执行程序的过程:预处理——编译——汇编——链接,其中,

2021-08-23 16:03:44 185

原创 CoE协议

参考1:https://zhuanlan.zhihu.com/p/265124581参考2:https://blog.csdn.net/ethercat_i7/article/details/53186941参考3:https://www.shanlily.cn/archives/5181 EtherCAT 协议    EtherCAT处于七层OSI通讯模型的底层,EtherCAT协议制定了相当第一层(物理层)、第二层(数据链路程)和第三层(网络层)的技术规范,如下图。2 CANOpen协议 

2021-08-07 18:50:41 3548

原创 COE协议报文解析

以COE(CANopen over EtherCAT)的SDO服务为例,EtherCAT帧格式如下图所示:从图中可看出CANopen、EtherCAT和Ethernet这几个协议的大致关系。

2021-08-07 12:02:30 2599 1

转载 CANOPEN使用心得1-cia301、cia402简单提要

canopen简单提要can总线    can特点:多主控制、高达1M通讯速度、通讯校验、 错误检测处理及恢复等,can总线通讯接口规定了CAN协议的物理层和数据链路层功能。 canopen协议    canopen协议属于应用层协议,是由一系列子协议组成,分为通讯子协议和设备子协议,通讯子协议例如CIA 301子协议对canopen网络的架构进行了规范 ,针对某些特定的对象字典中的数据对象规定了相应的功能。设备子协议目前在电机控制中主要使用CIA 402设备子协议,CIA 402子协议定义了电机控

2021-08-07 11:15:28 5898

原创 OSI七层模型、CAN、CiA、CANopen、CiA301CiA402和EtherCAT介绍

1 OSI网络通信模型2 CAN    CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。    CAN(Controller Area Network)现场总线仅仅定义了OSI 7 层网络模型的第 1 层(物理层,见 ISO11898-2 标准)、第 2 层(数据链路层,见 ISO11898-1 标准)。在实际设计中,这两

2021-07-22 20:20:12 9972 11

转载 QT5.12.1 ARM开发环境搭建 并 移植到RK3399 ubuntu16.04系统运行【完整版】

QT5.12.1 ARM开发环境搭建 并 移植到RK3399 ubuntu16.04系统运行【完整版】 一、搭建Qt ARM开发环境二、移植到RK3399 ubuntu16.04系统运行 一、搭建Qt ARM开发环境 1.虚拟机64位ubuntu16.04系统下Q...

2021-07-13 15:11:21 4251 5

原创 Linux 驱动开发流程与框架简介

参考:正点原子I.MX6U嵌入式Linux驱动开发指南 V1.5.1

2021-07-02 23:27:16 262

原创 设备树简介

参考:正点原子I.MX6U嵌入式Linux驱动开发指南 V1.5.11、设备树定义 以树形结构,描述硬件平台(电路板)上各个硬件设备信息的文件。2、dts、dtsi、dtb和dtc关系1、xxx.dts 文件是设备树源文件,相当于xxx.c文件。2、xxx.dtsi 文件是设备树源文件的头文件,相当于xxx.h文件。3、xxx.dtb文件是设备树可执行文件,相当于xxx.bin或其他可执行文件。4、dtc是设备树编译工具,相当于gcc编译器。xxx.dts 文件和xxx.dtsi 文

2021-07-02 20:05:53 1227

原创 Linux 下kernel 移植步骤

Linux 下kernel 移植步骤参考:正点原子I.MX6U嵌入式Linux驱动开发指南 V1.5.11、源码获取1.1、获取途径:kernel官网;半导体厂商(瑞芯微、意法、TI 等);开发板制作商(正点原子、讯为、荣品等)。一般是从开发板制作商获取。1.2、获取的源码一般为压缩文件,需要解压。2、配置2.1、配置步骤:1、make clean;2、make xxx_defconfig.3、裁剪3.1裁剪方式:一般用图形化方式裁剪kernel。调用命令:make menuconfi

2021-06-30 11:12:40 278

原创 C++之泛型编程与STL简介

1 两种编程思想1.1 面向对象编程封装(Encapsulation)继承(Inheritance)多态(Polymorphism)1.2 泛型编程概念(concepts)模型化(modeling)强化(refinement)2 泛型编程2.1 定义泛型,也就是任何类型,也就是不依赖于具体的数据类型。泛型编程,是编写与类型无关的逻辑代码,是代码复用的一种手段。2.2 实现C++ 中泛型编程的实现技术:模板。C++提供两种模板机制:函数模板和类模板。2.3 STL2.3.1

2020-06-25 13:38:26 469

原创 C/C++内存管理(堆栈区分)

暂时为空!

2020-06-01 23:29:22 227

原创 QT之项目文件(.pro)详解

.pro就是工程文件(project),它是qmake自动生成的用于生产makefile的配置文件。.pro文件的写法如下:1、注释从“#”开始,到这一行结束。2、模板变量 TEMPLATE模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:TEMPLATE = app2.1、app:建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。2.2、lib :建立一个库的makefile。2.3、vcapp:建立一个应用程序的Visu

2020-05-31 23:59:46 2151

原创 QT 命名规范

1、类名:单词首字母大小,单词和单词之间直接连接,无需连接字符如:2、函数名字和变量名:第二个单词开始首字母大写(不是从第一个单词开始),单词和单词之间直接连接,无需连接字符如:void setFlag();QString getText();bool isDraw;3、Qt中内置的类的名称和该类的头文件同名。如:#include QSring str;#include QWidget w;...

2020-05-31 23:35:02 818

原创 QT之框架

1 QT 框架详解2、QT框架

2020-05-31 23:25:23 784

原创 C++ 基础之类的封装性和信息隐蔽

公用接口与私有实现的分离,即类声明和成员函数定义的分离。

2020-05-29 23:32:05 191

原创 C++ 基础之访问对象成员的方法

1、通过对象名和成员运算符访问对象中的成员2、通过指向对象的指针访问对象中的成员3、通过对象的应用来访问对象中的成员

2020-05-29 23:23:53 1727

原创 C++ 基础之引用

2020-05-29 23:16:21 85

原创 C++ 基础之 C++四大特征

1、抽象类与对象体现了C++的抽象特征,即类是对象的抽象,对象是类的具体表现形式。2、封装类与对象的数据成员、函数成员,以及数据成员和函数成员的公用、私有和保护特性体现了C++的封装特性。3、继承(重用)类的继承与派生体现了C++的继承特性。4、多态性类的虚函数体现了C++的多态性。...

2020-05-28 12:36:07 1932

原创 C++/QT的头文件

QT中新旧两种方式都用。只不过用新方法是头文件前要加大写的Q,如下图。

2020-05-26 12:28:21 1691

原创 C++/QT之命名空间

一、为什么需要命名空间二、命名空间定义三、命名空间使用四、无名命名空间五、标准命名空间 std

2020-05-26 12:22:07 1042

原创 QT概述

Qt是一个跨平台的C++图形用户界面应用程序框架。特点1、跨平台Qt 5.5版本后,可在以下平台应用1、Windows平台;2、Linux/Uinux平台;3、Mac OS(苹果电脑);4、Embedded(嵌入式平台);5、Android移动端(安卓手机);6、WP移动端(微软手机);7、iOS移动端(苹果手机);8、等等。2、编程语言C++3、应用方向图形用户界面(Graphical User Interface,简称 GUI)应用程序框架...

2020-05-25 09:17:08 292

原创 Qt creator工程文件下添加文件夹

下面是建立文件的步骤:  1、打开工程目录,在目录下建立文件夹,如建立文件connect;  2、将需要归类的头文件.h和源文件.cpp放入该文件夹下;  3、在QT Creator打开.pro文件,在SOURCES,HEADERS,FORMS下,加入路径,如:             SOURCES += src\main.cpp        src\MainWindow.

2020-05-22 23:48:22 10968 2

原创 QT之XML文件

1、XML简介html用于显示数据。xml用于存储数据,一般多用于配置文件,如QT中的. ui文件其实就是xml文件。2、创建XML 文件

2020-05-20 09:29:42 414

原创 QT之线程

1、QT4.7之前的线程应用流程2、QT4.7之后的线程应用流程

2020-05-19 09:14:41 195

原创 QT之网络编程

一、Linux下TCP通信流程二、QT下TCP通信流程

2020-05-14 08:54:37 258

原创 QT之绘图

一、先创建“画家”。二、其次确定“绘图设备”,即明确要往那里绘图,比如某个窗口。三、可以“启用”画笔、画刷等“绘图工具”,但是要记得将绘图工具“交给”画家。

2020-05-12 09:00:18 329

原创 QT之事件

一、第一等级:QT程序,如下图的app.exec();二、第二等级:事件过滤器函数,eventFilter();继承于QObject基类。三、第三等级:QT控件,如下图的QLabel、Button等;四、第四等级:事件分发函数,event();继承于QWidget基类。五、第五等级:事件处理函数,XXXevent();继承于QWidget基类。事件相关函数:事件过滤器函数eventFilter()、事件分发函数event()、事件处理函数XXXevent();都是虚函数。...

2020-05-11 08:59:54 611

原创 C++ 11 Lambda表达式(Lambda表达式也称匿名函数)

举例connect(b4, &QPushButton::clicked,// = :把外部所有局部变量、类中所有成员以值传递方式// this: 类中所有成员以值传递方式// & : 把外部所有局部变量, 引用符号[=](bool isCheck){qDebug() << isCheck;});...

2020-04-22 23:30:50 109

原创 C++ 中类继承与派生的访问属性

1 继承与访问属性2 派生与访问属性3 类成员的保护属性

2020-04-22 23:27:57 166

原创 QT之信号与槽

1、信号与槽整体分析QPushButton b;MainWidget m;connect(&b, &QPushButton::pressed, &m, &MainWidget::close);1、信号发出者“&b”:是信号发出者。格式:一般为某一对象的地址(即对象指针类型)。2、信号“ &QPushButton::pressed”:是...

2020-04-17 23:01:09 375

原创 QT开发知识点总结

一、编程语言C++。二、应用领域前端 APP GUI(图形界面)编程。程序开发分为前端(客户端)和后端(服务器端)两大类。前端开发又分为APP(应用程序)和WEB(网页浏览器)开发。三、QT 特点跨平台。四、QT 知识点1、QT 框架父类(基类)和子类(派生类);自己封装类和使用别人写好的类;内存回收机制;模型与视图编程。2、控件、容器、对话框、窗口;常用控件;自定义控件;...

2020-04-05 23:37:08 4602 1

原创 Linux网络编程之扩展-下

1 广播1.1 广播相关概念一、单播  前面介绍的数据包发送方式只有一个接受方,称为单播。二、广播  同时发给局域网中的所有主机,称为广播。只有用户数据报(使用UDP协议)套接字才能广播。三、广播地址1、以192.168.1.0 (255.255.255.0) 网段为例,最大的主机地址192.168.1.255代表该网段的广播地址。2、发到该地址的数据包被所有的主机接收。3、25...

2020-03-07 16:03:16 500

原创 Linux网络编程之扩展-上

1 网络信息检索-域名解析1.1 域名比如:www.baidu.com。通俗理解为网址名。1.2 域名解析将域名变为IP地址。1.3 域名解析函数gethostbyname();endhostent();1.4 其他网络信息检索函数1、gethostname() 获得主机名。2、getpeername() 获得与套接口相连的远程协议地址。3、getsockname() 获得本...

2020-03-06 23:55:21 206

原创 Linux网络编程之TCP/IP协议原理

1 网络编程相关工具软件介绍1、使用telnet测试TCP服务器端;2、使用lsof;3、使用tcpdump;4、使用netstat;5、使用sniffer;6、使用wireshark(网络抓包工具);7、Chariot;8、SmartBit—硬件;  可重点关注一下网络抓包工具wireshark。2 TCP/IP协议网络包  TCP/IP协议网络包主要分为:1、以太网头;...

2020-03-06 21:56:14 441 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除