串口相关的文件操作和linux

绑定线程到核上,这样减少核间通信的开销,因为会有东西的移动。
sleep和usleep的区别换算
sleep的时间是秒,usleep的是毫秒。
1s=1000ms=1000,000us。
很多时候不需要你直接帮助别人解决问题,而是需要你陪着ta直面困难。

串口测试是否通的方式

1、如何识别自己的串口,判断有多少个,用的是哪个
3、明确查看串口的名字
demsg |grep tty
2、串口编程
去掉了里边的那句话:
把三个文件合成了一个,同时从哪个举例来看,是需要输入三个参数的,第一个是启动的文件名称,第二个参数是使用的端口号。
第三个文件是要传输的数据。那么我们具体在做的时候应该直接把端口号写进去,然后就只需要传输数据就可以,如何可以循环接收数据呢?

//串口相关的头文件    
#include      /*标准输入输出定义*/    
#include     /*标准函数库定义*/    
#include     /*Unix 标准函数定义*/    
#include     
#include       
#include      /*文件控制定义*/    
#include    /*PPSIX 终端控制定义*/    
#include      /*错误号定义*/    
#include    
     
     
//宏定义    
#define FALSE  -1    
#define TRUE   0
extern int UART0_Open(int argc,char**argv);
//这具话去掉了才成功的,为什么要去掉呢。
extern void UART0_Close(int fd) ; 
extern int UART0_Set(int fd,int speed,int flow_ctrl,int databits,int stopbits,int parity);
extern int UART0_Init(int fd, int speed,int flow_ctrl,int databits,int stopbits,int parity) ;
extern int UART0_Recv(int fd, char *rcv_buf,int data_len);
extern int UART0_Send(int fd, char *send_buf,int data_len);

3、主机和虚拟机之间通过端口通信
存在问题是一次只能发送一个字符,多了就蓝屏,有待寻找原因。

4、vector 做函数的参数

5、c++的编译用g++,同时多线程用-lpthread参数

6、多线程的使用

7、多线程发送加锁

多线程加锁

主机和虚拟机共享文件的位置

虚拟机中opencv等各种软件版本的查询

sudo apt install 安装的文件位置

解压文件
Ubuntu检测到错误消除
Linux交叉编译工具链的介绍和使用

-plthread的应用,c++编译使用 -lpthread

交叉编译工具版本查询和路径设置

各种编译器不同版本的区分,abi和abihf的比较

交叉编译下载工具链接

解压文件

CMAKE 的使用,主要是添加链接的东西,gcc的版本,c和c++支持的版本,还有就是c和c++使用的编译工具

Ubuntu检测到错误消除

Linux交叉编译工具链的介绍和使用

-plthread的应用,c++编译使用 -lpthread

交叉编译工具查询是是否安装和版本查询和路径设置

各种交叉编译工具的区别:ramv7 and armv8,

CMAKE的link相关的几种操作

gcc控制版本切换,安装的gcc会自动适配环境中的其他东西,而解压的gcc的基础库路径配置并不是和本地电脑保持一致,所以无法直接在原来的路径连接到本地的文件中

交叉编译工具

Ubuntu无法复制粘贴的问题解决

首次进入获得root权限设置

可视化通过页面安装eclipse软件,直接命令行下载压缩包,然后按照流程走就行,比下边哪个apt-get的好用

eclipse安装c++环境,其中有一写问题

针对上边的问题进行解决,安装 jre

Ubuntu中的eclpse中没有C++工程的解决办法

eclipse中新建C++工程

apt-get不能同时使用,同时使用安装两个终端的话会出现被占用的情况,此时需要kill掉apt-get相关的线程。

静态编译可以直接运行,动态编译涉及一些动态库的调用,所以需要把一些编译后调用的动态库全部拷贝到开发板的lib路径中,需要将程序的依赖库拷贝到开发板的/lib目录下

linux 中的which查询目标

linux中创建ecilpse交叉编译工程

在线安装交叉编译工具gcc和g++

编译工具gcc,g++,arm-linux-gcc的编译结果差异以及运行环境

串口相关的文件操作和linux_第1张图片

安装指定版本的CMAKE工具,x

串口相关的文件操作和linux_第2张图片

如何确定gcc是否支持c++11,c++17等文件

0、命令行启动colmap分析colmap代码

1、虚拟机中Ubuntu的删除

2、配置中文语言输入法

谷歌输入法的处理要切换源

3、ceres-solver镜像安装

4、原来默认的引用源头

切换源

5、更新下载包的源头,通过一个软定向来制定一个defeat的源头,每次把不同的源头指向这个默认的源

6、远程操作Ubuntu系统,不过有点卡,不太好用

7、可视化更换源

7、docker测试hello-word是否安装成功

8、docker安装教程

9、安装nvdiv显卡驱动,根据系统推荐安装

10、利用国内的镜像下载github的软件包

最后成功是我重新编译了1.14版本的ceres-solver,然后成功了,同时尝试切换了gcc的版本和g++的版本。
11、gcc和g++版本切换,非常重要

12、Ubuntu如何安装百度云

13、add-apt-repository修改的文件,其实是添加了下载源

14、VSCODE在linux下安装

eclipse在线安装的方式并设置桌面快捷方式,选择C++版本

虚拟机重装vmtools从虚拟机装而不是命令行apt-get装

查看Linux中某个指令正在运行的线程 ps -e|grep apt,后边的就是我们想要的指令

两个共用了一个cmake的结果,可能有问题,因为cmake使用的是cmakelist中的路径,确定了交叉编译的版本,所以使用了那个makefile文件其实有些问题。其对应的是9.0的交叉编译器的版本,不是8.2的版本。

串口相关的文件操作和linux_第3张图片
安装的交叉编译器和解压的交叉编译器有差异,根本问题是cmakelist文件没有写对,因为用哪个交叉编译器编译简单的东西就可以直接实现编译,可是写进去的和写在外边的有什么区别呢?明明都是这个东西为什么行为不一样呢?安装的和解压的有什么地方设置不一样呢。

交叉编译器不同版本库文件不同的影响,拷贝进去重新建立链接

动态运行库.so 的冲突和解决

交叉编译器的版本问题.so文件

你可能感兴趣的:(图像处理)