![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式开发
lqijlyy
这个作者很懒,什么都没留下…
展开
-
c++ 之shared_ptr与make_shared用法
如果事先知道所需内存空间,使用静态内存是最简单的解决方案。 但是,在程序设计的过程中,往往会遇到需要开辟一个未知大小的内存空间,该空间根据程序所需发生大小的变化,此空间称为动态内存。 程序设计中使用动态内存的原因可能如下:(1)程序不知道自己需要多少对象;(2)程序不知道所需对象的准确类型;(3)程序需要在多个对象之间共享数据shared_ptr的用法:可以指向特定类型的对象,用于自动释放所指的对象。make_shared的用法:make_shared在动态内存中分配一个转载 2021-11-12 16:45:07 · 584 阅读 · 0 评论 -
rsync基本命令和用法
rsync(一):基本命令和用法2.1 说在前面的话rsync官方网站: https://www.samba.org/ftp/rsync/rsync.htmlrsync是可以实现增量备份的工具。配合任务计划,rsync能实现定时或间隔同步,配合inotify或sersync,可以实现触发式的实时同步。rsync可以实现scp的远程拷贝(rsync不支持远程到远程的拷贝,但scp支持)、cp的本地拷贝、rm删除和"ls -l"显示文件列表等功能。但需要注意的是,rsync的最终目的或..转载 2021-11-12 16:31:26 · 4491 阅读 · 0 评论 -
C++ final应用
一、禁用继承C++11中允许将类标记为final,方法时直接在类名称后面使用关键字final,如此,意味着继承该类会导致编译错误。实例如下: class Super final { //...... };-----------------------------------------------------------------------------二、禁用重写 C++中还允许将方法标记为fianal,这意味着无法再子类中重写该方法。这时fi...转载 2021-11-10 12:08:30 · 188 阅读 · 0 评论 -
Linux内核驱动基础-设备树相关总线使用
mmc总线使用实例broken-cd 表示没有热插拔探测引脚,使用轮询检测cd-gpios 使用gpio管脚作为热插拔探测引脚non-removable 表示不能进行热插拔,设备一直连接(比如eMMC)上面三个选项用于指定热插拔探测选项,如果三个选项都没有指定,则使用主机自带的热插拔引脚sdcdbus-width 数据总线位宽,默认值是<1>,也可以是<...转载 2018-10-16 20:02:30 · 867 阅读 · 0 评论 -
在ubuntu16.04上找不到lsmod insmod等内核模块加载命令
在百度上收了好久都是提示没有添加正确的路径,其实不是这样的因为在/sbin/目录下就没有insmod这个命令在终端中输入lsmod命令提示:百度搜索一般都提示没有找到正确的路径:例如:https://www.cnblogs.com/pengmn/p/4794008.html其实是内核中缺少一个 module-init-tools 这个工具更新该工具:sudo apt-g...原创 2018-11-07 13:57:31 · 7294 阅读 · 2 评论 -
对emmc进行分区
1.运行的前提是,pc机上sfdisk工具为什么SD卡在Linux下/dev下的设备名叫mmcblk0p1?SD/MMC 卡的设备构造差不多,MMC 应该是 SD 的前身,不过 MMC 当时的设计比SD 小一半。所以,SD/MMC 的驱动通用,进一步的,Linux 的设备节点就延续了 MMC 的这个名字,后面的 blk 是块设备这个英文的简写, mmcblk 也就是“mmc/sd 块设备...原创 2018-11-08 20:42:30 · 4624 阅读 · 0 评论 -
调节智博风扇速度
好长时间没有写博客了,现在说一下最近做一个关于pwm调节风扇速度的,直接进入正题,风扇速度是通过占空比来调节速度的,什么是占空比呢,简单的说就是一个周期内高电平拉长的时间与周期的比,成为占空比。直接贴风扇速度控制部分:通过上面的说明可以知道如何输出高低电平来控制风扇转速了。我是通过GPIO模拟PWM来实现的,直接贴代码/**********************...原创 2019-03-08 16:40:58 · 561 阅读 · 0 评论 -
关于ubuntu下crontab遇到的坑
这几天使用crontab下的root文件做定时处理问题,root一直不执行,通过查找日志也毫无发现任何有用的博客。现在就我遇到的这个问题总结一下我的解决方案。1.crontab中的环境变量问题,在写所要执行的命令或脚本时要以绝对路径去执行例如:/usr/sbin/ntpdate 0.pool.ntp.org网络更新时间,/usr/sbin/ntpdate 这个命令在/usr/sb...原创 2019-04-25 13:40:12 · 275 阅读 · 1 评论 -
linux下关于串口write error (11: Resource temporarily unavailable)问题解决
出现的原因:由于串口写数据字节数有限,上一次数据没有写完的情况下,第二次数据已经到来,造成写数据失败,表现为串口不可用。解决方法,1.加延时的方法 通过波特率,计算延时。 以波特率为115200为例,一帧数据包括:1个起始位:8个数据位;1个停止位;总共10bits;所以 波特率115200 = 115...原创 2019-06-13 09:59:55 · 6047 阅读 · 2 评论 -
linux下取消ask应答
1.打开/etc/ssh/ssh_config.2.如果为如下则需要改为此时ask应答取消。原创 2019-07-30 11:43:17 · 222 阅读 · 1 评论 -
关于ATWILC1000 wifi模块在imx6q上SDIO接口驱动调试
SDIO总线和USB总线类似,SDIO总线也有两端,其中一端是主机(HOST)端,另一端是设备端(DEVICE),采用HOST- DEVICE这样的设计是为了简化DEVICE的设计,所有的通信都是由HOST端发出命令开始的。在DEVICE端只要能解溪HOST的命令,就可以同HOST进行通信了。SDIO接口类似于USB接口,如果了解USB接口调试SDIO也就不难了。首先说一下如何添加驱动:...原创 2018-10-18 14:23:13 · 1679 阅读 · 3 评论 -
成为专业程序员路上用到的各种优秀资料、神器及框架
http://www.cnblogs.com/jasondan/p/6380597.html前言成为一名专业程序员的道路上,需要坚持练习、学习与积累,技术方面既要有一定的广度,更要有自己的深度。笔者作为一位tool mad,将工作以来用到的各种优秀资料、神器及框架整理在此,毕竟好记性不如烂键盘,此项目可以作为自己的不时之需。本人喜欢折腾,记录的东西也比较杂,各方面都会有转载 2017-10-10 16:56:59 · 1522 阅读 · 0 评论 -
关于使用arm-linux-gnueabihf-gcc工具链编译多线程
对于芯片ATSAMA5D35芯片来说,首先需要在你的linux虚拟机上安装交叉编译工具链arm-linux-gnueabihf- 使用的命令为sudo apt-get install arm-linux-gnueabihf安装完工具链之后检查是否安装完成,利用命令:arm-linux-gnueabihf-gcc -v查看对应的版本号。接着是编译多线程,这时候我编译的错误是:/media/原创 2017-09-12 09:20:57 · 6456 阅读 · 1 评论 -
Makefile文件名操作函数
下面我们要介绍的函数主要是处理文件名的。每个函数的参数字符串都会被当做一个或是一系列的文件名来对待。$(dir ) 名称:取目录函数——dir。功能:从文件名序列中取出目录部分。目录部分是指最后一个反斜杠(“/”)之前的部分。如果没有反斜杠,那么返回“./”。返回:返回文件名序列的目录部分。示例: $(dir src/foo.c hacks)返回值是“src/ ./”。$(notdir )转载 2017-07-24 14:46:58 · 195 阅读 · 0 评论 -
关于网页的400错误
我们将编辑好的网页,放到服务器上的时候,这是你在页面中输入服务器的ip地址,访问不到服务器中的网页,对应的是出现400这样的错误。解决办法:对于嵌入式webserver来说,这时候就要检查,网页中的书写格式是否正确,有时候不正确的书写格式会出现这种错误。如果网页的书写格式都正确,就要检查网页对应的cgi程序,一般情况下,跟cgi是没有太大的关系,主要把重点还是放在网页中及网页发给服务器的请求是原创 2017-09-04 14:14:43 · 3449 阅读 · 0 评论 -
Linux 串口编程
Linux 串口编程 在linux下编写终端程序时,有规范模式 ,非规范模式(原始模式特殊的非规范模式)之分。不用于终端,而是在串口这种使用情况下,一般设置为原始模式(非规范的一种特殊情况)。但用read()函数,希望从串口接收指定的数量的字符时,往往接收到的实际字符数,都与指定的不同。如本人用read()希望接收 10 bytes的数据,但实验后发现,分了几次才接收到转载 2017-09-05 17:54:03 · 431 阅读 · 0 评论 -
linux进程/线程调度策略(SCHED_OTHER,SCHED_FIFO,SCHED_RR)
linux内核的三种 调度策略 : SCHED_OTHER 分时调度策略,(默认的)SCHED_FIFO实时调度策略,先到先服务SCHED_RR实时调度策略,时间片轮转 实时进程将得到优先调用,实时进程根据实时优先级决定调度权值,分时进程则通过nice和counter值决定权值,nice越小,counter越大,被调度的概率越大,也就是曾经使用了cpu最少的进程将会得到优先转载 2017-09-14 17:25:21 · 361 阅读 · 0 评论 -
Linux多线程实践(三)线程的基本属性设置API
POSIX 线程库定义了线程属性对象 pthread_attr_t ,它封装了线程的创建者可以访问和修改的线程属性。主要包括如下属性:1. 作用域(scope)2. 栈尺寸(stack size)3. 栈地址(stack address)4. 优先级(priority)5. 分离的状态(detached state)6. 调度策略和参数(sc转载 2017-09-15 10:36:21 · 305 阅读 · 0 评论 -
如何设置线程调度的优先级
我们使用int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg);来创建线程,但是如何设置线程的优先级呢?在讨论这个问题的时候,我们先要确定当前线程使用的调度策略,posix提供了int pthread_attr_getsched转载 2017-09-15 13:36:53 · 634 阅读 · 0 评论 -
关于linux下互斥锁和条件变量的理解
首先我的理解什么是互斥锁,什么是条件变量,他们的作用是什么?互斥锁:可以理解为它本身是一把锁,用于对资源进行保护。条件变量:是利用线程间共享的全局变量进行同步的一中机制。主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。 对于互斥锁的创建主要分为以下几步:1.声明互斥锁:pt原创 2017-09-15 17:20:22 · 328 阅读 · 0 评论 -
值得推荐的C/C++框架和库 (真的很强大)
目录(?)[+]值得学习的C语言开源项目- 1 Webbench- 2 Tinyhttpd- 3 cJSON- 4 CMockery- 5 Libev- 6 Memcached- 7 Lua- 8 SQLite- 9 UNIX v6- 10 NETBSDC 资源大全标准库框架人工智能异步事件循环音频生态学压缩并发性容器密码学数据库调试游戏引擎图形用户界面图形图像处理国际化Jas转载 2017-09-19 12:05:42 · 2581 阅读 · 0 评论 -
总结之linux下网络编程
版权声明:本文为博主原创文章,未经博主允许不得转载。1.有一篇好的文章,对Linux下socket编程的原理和要点说的很清楚:http://blog.csdn.net/chencheng126/article/details/442607992.一些windows网络编程的要点吧。包括大头序,小头序,网络字节序。一些常用的函数等。。http://blog.csdn.转载 2017-09-19 16:08:20 · 676 阅读 · 0 评论 -
交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别
一. 什么是ABI和EABI1) ABI: 二进制应用程序接口(Application Binary Interface (ABI) for the ARM Architecture)在计算机中,应用二进制接口描述了应用程序(或者其他类型)和操作系统之间或其他应用程序的低级接口.ABI涵盖了各种细节,如:数据类型的大小、布局和对齐;调用约定(控制着函数的参数如何传送以及如何接受转载 2017-09-11 18:06:47 · 489 阅读 · 0 评论 -
Makefile多目录下编译通用模板
在和makefile平行的目录下有以下文件夹thr_path core currency,下面是Makefile的编写。#生成的目标文件TARGET = main #交叉编译工具CROSS_COMPILE = arm-none-linux-gnueabi-#生成目标文件所在的目录OBJ_DIR = objCC_FLAGS = -g -w -std=gnu99原创 2017-07-24 14:31:42 · 591 阅读 · 0 评论