- 博客(110)
- 收藏
- 关注
原创 Windows10下 交叉编译aarch64(ARMv8)架构Qt5.12.11库
参考1:https://blog.youkuaiyun.com/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
5332
6
原创 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
309
原创 应用程序开发分类
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
553
原创 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
461
原创 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
1780
原创 硬软件系统的实时性
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
1200
原创 cmake介绍
参考1:https://fukun.org/archives/0421949.html1、为什么需要cmake 任何一个软件项目,除了写代码之外,还有一个更为重要的任务,就是如何组织和管理这些代码,使项目代码层次结构清晰易读,这对以后的维护工作大有裨益。 决定代码的组织方式及其编译方式,也是程序设计的一部分。因此,我们需要cmake和autotools这样的工具来帮助我们构建(编译)并维护项目代码。 一份源代码,从开始产生到成为可执行程序的过程:预处理——编译——汇编——链接,其中,
2021-08-23 16:03:44
232
原创 CoE协议
参考1:https://zhuanlan.zhihu.com/p/265124581参考2:https://blog.youkuaiyun.com/ethercat_i7/article/details/53186941参考3:https://www.shanlily.cn/archives/5181 EtherCAT 协议 EtherCAT处于七层OSI通讯模型的底层,EtherCAT协议制定了相当第一层(物理层)、第二层(数据链路程)和第三层(网络层)的技术规范,如下图。2 CANOpen协议
2021-08-07 18:50:41
5627
原创 COE协议报文解析
以COE(CANopen over EtherCAT)的SDO服务为例,EtherCAT帧格式如下图所示:从图中可看出CANopen、EtherCAT和Ethernet这几个协议的大致关系。
2021-08-07 12:02:30
3987
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
7108
原创 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
12443
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
4759
5
原创 设备树简介
参考:正点原子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
1327
原创 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
345
原创 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
578
原创 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
2375
原创 QT 命名规范
1、类名:单词首字母大小,单词和单词之间直接连接,无需连接字符如:2、函数名字和变量名:第二个单词开始首字母大写(不是从第一个单词开始),单词和单词之间直接连接,无需连接字符如:void setFlag();QString getText();bool isDraw;3、Qt中内置的类的名称和该类的头文件同名。如:#include QSring str;#include QWidget w;...
2020-05-31 23:35:02
947
原创 C++ 基础之访问对象成员的方法
1、通过对象名和成员运算符访问对象中的成员2、通过指向对象的指针访问对象中的成员3、通过对象的应用来访问对象中的成员
2020-05-29 23:23:53
1794
原创 C++ 基础之 C++四大特征
1、抽象类与对象体现了C++的抽象特征,即类是对象的抽象,对象是类的具体表现形式。2、封装类与对象的数据成员、函数成员,以及数据成员和函数成员的公用、私有和保护特性体现了C++的封装特性。3、继承(重用)类的继承与派生体现了C++的继承特性。4、多态性类的虚函数体现了C++的多态性。...
2020-05-28 12:36:07
2226
原创 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
366
原创 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
14496
4
原创 QT之XML文件
1、XML简介html用于显示数据。xml用于存储数据,一般多用于配置文件,如QT中的. ui文件其实就是xml文件。2、创建XML 文件
2020-05-20 09:29:42
460
原创 QT之绘图
一、先创建“画家”。二、其次确定“绘图设备”,即明确要往那里绘图,比如某个窗口。三、可以“启用”画笔、画刷等“绘图工具”,但是要记得将绘图工具“交给”画家。
2020-05-12 09:00:18
369
原创 QT之事件
一、第一等级:QT程序,如下图的app.exec();二、第二等级:事件过滤器函数,eventFilter();继承于QObject基类。三、第三等级:QT控件,如下图的QLabel、Button等;四、第四等级:事件分发函数,event();继承于QWidget基类。五、第五等级:事件处理函数,XXXevent();继承于QWidget基类。事件相关函数:事件过滤器函数eventFilter()、事件分发函数event()、事件处理函数XXXevent();都是虚函数。...
2020-05-11 08:59:54
721
原创 C++ 11 Lambda表达式(Lambda表达式也称匿名函数)
举例connect(b4, &QPushButton::clicked,// = :把外部所有局部变量、类中所有成员以值传递方式// this: 类中所有成员以值传递方式// & : 把外部所有局部变量, 引用符号[=](bool isCheck){qDebug() << isCheck;});...
2020-04-22 23:30:50
143
原创 QT之信号与槽
1、信号与槽整体分析QPushButton b;MainWidget m;connect(&b, &QPushButton::pressed, &m, &MainWidget::close);1、信号发出者“&b”:是信号发出者。格式:一般为某一对象的地址(即对象指针类型)。2、信号“ &QPushButton::pressed”:是...
2020-04-17 23:01:09
446
原创 QT开发知识点总结
一、编程语言C++。二、应用领域前端 APP GUI(图形界面)编程。程序开发分为前端(客户端)和后端(服务器端)两大类。前端开发又分为APP(应用程序)和WEB(网页浏览器)开发。三、QT 特点跨平台。四、QT 知识点1、QT 框架父类(基类)和子类(派生类);自己封装类和使用别人写好的类;内存回收机制;模型与视图编程。2、控件、容器、对话框、窗口;常用控件;自定义控件;...
2020-04-05 23:37:08
5552
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
616
原创 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
243
原创 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
516
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人