自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 QTcreator 多线程(生产者消费者)

qt应用的多线程实例简单实现,语法超级简单,用两种方法实现同步和互斥。一种是Semaphore信号量,另一种是mutex锁和condition条件变量。下面开始。第一种,QSemaphore信号量方式:通过Qt Creator创建一个控制台项目,项目创建完以后只有一个main.cpp文件和一个.pro配置文件,在main.cpp添加如下内容#include <QSemaphor...

2020-02-10 21:26:09 1014

原创 fdisk命令对mmc分区格式化并shell脚本自动化

1. fdisk /dev/mmcblk0Command (m for help): mCommand action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list kn...

2019-11-26 18:07:44 2574

原创 linux shell脚本无法执行,报错syntax error near unexpected token `$'\r''解决方法

运行shell脚本时出现:syntax error near unexpected token `$'\r“的错误,一般是格式的问题,比如直接从txt文档拷贝过来的内容;解决方法:sed -i 's/\r//g' test.shsed遵循简单的工作流:读取(从输入中读取某一行) 执行(在某一行上执行sed命令) 显示(把结果显示在输出中)默认是显示修改后内容,不会修改原文件,除非...

2019-11-26 11:34:23 1886 1

转载 命令行选项解析函数:getopt()

1、定义:int getopt(int argc, char * const argv[], const char *optstring);2、描述:getopt是用来解析命令行选项参数的,但是只能解析短选项: -d 100,不能解析长选项:--prefix3、参数:argc:main()函数传递过来的参数的个数argv:main()函数传递过来的参数的字符串指针数组...

2019-09-27 10:47:14 247

转载 SMP多核启动

在 Linux系统中,对于多核的ARM芯片而言,在Biotron代码中,每个CPU都会识别自身ID,如果ID是0,则引导Bootloader和 Linux内核执行,如果ID不是0,则Biotron一般在上电时将自身置于WFI或者WFE状态,并等待CPU0给其发CPU核间中断或事件(一般通过SEV指令)以唤醒它。一个典型的多核 Linux启动过程如图20.6所示。被CPU0唤醒的CPUn可以...

2019-09-21 09:44:56 1161

原创 菜鸟教程之Shell 脚本学习笔记(二)

Shell 传递参数$# :传递到脚本的参数个数; $0:执行的文件名; $n:n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… $*:以一个单字符串显示所有向脚本传递的参数; $@:与$*相同,但是使用时加引号,并在引号中返回每个参数。 $$:脚本运行的当前进程ID号; $!:后台运行的最后一个进程的ID号; $?:显示最后命令的退出状态...

2019-08-14 14:27:41 966

原创 菜鸟教程 之 shell 脚本学习笔记 (一)

1.Bash 是大多数Linux 系统默认的 Shell,在一般情况下,人们并不区分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh,它同样也可以改为 #!/bin/bash。#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。变量:1. 定义变量时,等号两边不能有空格;2. 变量名只能以字母、数字、下划线组成,...

2019-08-14 14:27:10 1175

转载 Linux vi/vim使用方法 总结

vi/vim 基本使用方法vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。1、vi的基本概念基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式command ...

2019-07-06 09:55:21 291

转载 xargs命令详解

一、为什么要用xargs:linux的命令中很多的命令的设计是先从命令行参数中获取参数,然后从标准输入中读取,xargs命令可以通过管道接受字符串,并将接收到的字符串通过空格分割成许多参数(默认情况下是通过空格分割) 然后将参数传递给其后面的命令,作为后面命令的命令行参数;二、xargs的一些有用的选项:1. -d 选项默认情况下xargs将其标准输入中的内容以空白(包括空格、Ta...

2019-07-05 22:40:47 12267

转载 汇编指令:LDM、STM详解

LDM:(load much)多数据加载,将地址上的值加载到寄存器上STM:(store much)多数据存储,将寄存器的值存到地址上(1)IA:(Increase After) 每次传送后地址加4,其中的寄存器从左到右执行,例如:STMIA R0,{R1,LR} 先存R1,再存LR(2)IB:(Increase Before)每次传送前地址加4,同上(3)DA:(Decreas...

2019-06-16 10:00:56 20778 3

转载 kmalloc、vmalloc、malloc、calloc的区别

1.kmalloc和vmalloc是分配的是内核的内存,malloc、calloc分配的是用户的内存;2.kmalloc保证分配的内存在物理上是连续的,vmalloc保证的是在虚拟地址空间上的连续,malloc不保证任何东西;3.kmalloc能分配的大小有限,vmalloc和malloc能分配的大小相对较大;4.内存只有在要被DMA访问的时候才需要物理上连续;5.vmalloc比...

2019-06-08 15:47:35 1052 1

转载 Linux 内存映射函数 mmap()函数笔记

1.所需头文件:<sys/mman.h>2.函数原型:void * mmap(void *start, size_t length, int prot , int flags, int fd, off_t offset)(1)start:要映射到的内存区域的起始地址,通常都是用NULL(NULL即为0)。NULL表示由内核来指定该内存地址 ;(2)length:要映射的内存...

2019-05-22 16:30:09 207

转载 C++ bitset 用法

C++的 bitset 在 bitset 头文件中,它是一种类似数组的结构,它的每一个元素只能是0或1,每个元素仅用1bit空间。bitset常用构造函数有四种,如下bitset<4> bitset1;  //无参构造,长度为4,默认每一位为0bitset<8> bitset2(12);  //长度为8,二进制保存,前面用0补充string s = "10...

2019-05-22 15:08:03 187

原创 git 使用笔记

1.配置用户名:git config --global user.name "test" 查看自己的用户名:git config user.name2.配置用户邮箱:git config --global user.email "test@qq.com" 查看自己的邮箱:git config user.email 查看用户列表:git config...

2019-05-13 22:41:50 191

转载 awk 学习

awk命令形式:awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file[-F|-f|-v] 大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=value' ' 引用代码块BEGIN 初始化代码块,在对每一行进行处理之前,初始化代码,主要是引用全局变量,设置FS分隔符// ...

2019-05-08 11:10:37 123

原创 Linux 下 SVN 添加多个文件的方法

1. svn add /bin/* --depth infinity 添加/bin目录下的所有文件;2. svn add /bin/ --depth infinity 添加/bin目录下的所有文件,包括bin目录本身;3.svn add */* 添加当前目录以及下级目录下的所有文件;只支持两级目录;4. svn add */**/*添加当前目录目录下的所有文件...

2019-05-08 10:04:47 3006

转载 Linux下GBK文件编码批量转换UTF-8命令

使用iconv 转换Iconv语法:iconv -f encoding -t encoding inputfile单个文件转换:$ iconv -f GBK -t UTF-8 file1 -o file2批量转换:$ find default -type d -exec mkdir -p utf/{} \;$ find default -type f -exec iconv...

2019-04-26 16:19:37 3542

原创 SVN迁移历史日志记录笔记

1.找到需要迁移的目录,比如我要迁移uboot的目录:svn://xxxx/u-boot2.查看该目录的日志信息,记录下最新的版本,以及最老的版本:比如最新的版本为:36954;最老的版本为:317253.登陆linux服务器创建临时工作目录:mkdir svn_testcd svn_test4.把指定svn目录dump下来:svnrdump dumpsvn...

2019-04-26 14:05:07 2826

转载 设备树之GPIO和中断实例

概述设备树不仅仅描述常规硬件信息,还可以描述中断,GPIO,DMA,PINCTRL,时钟,电源管理等内核基础设施信息及其使用情况,下面重点介绍中断,GPIO等结点属性中断控制器对于中断控制器结点,它提供如下属性:interrupt-controller 表明自己的身份为中断控制器interrupt-cells该属性与#address-cells属性相似,它声明了设备结点int...

2019-04-17 09:24:43 4649

原创 linux设备支持ntfs类型U盘笔记

1.内核配置:内核需要添加FUSE: File systems -----&gt; &lt;*&gt; FUSE (Filesystem in Userspace) support2.下载ntfs-3g源码包与编译:(1)从http://www.tuxera.com/community/ntfs-3g-download下载的ntfs-3g源码包;(...

2019-03-05 18:20:33 520

转载 vsftpd 配置说明

Vsftpd.conf配置:anonymous_enable=YES#允许匿名访问local_enable=YES#允许本地用户访问(/etc/passwd中的用户)write_enable=YES#允许写入权限,包括修改,删除local_umask=022#本地用户文件上传后的权限是-rw-r-r#anon_umask=077#匿名用户上传后权限是-rw...

2019-03-04 10:45:54 683

转载 source insight 4.0的基本使用方法

一、项目管理1、新建一个项目快捷键Alt+Shift+N可以打开新建项目对话框,然后根据提示填好项目存储位置,源文件位置等,然后会出现添加删除项目文件对话框,选中自己想要编辑和浏览的文件添加即可,这样就建好了一个项目。2、添加和删除项目文件(1)、在添加删除文件前,可以先设置文件过滤器,菜单栏-选项-文档选项,就可以看到文件过滤器了,怎么设置应该是一目了然的。(2)、菜单栏-项...

2019-02-16 16:58:11 4952

原创 linux账号管理笔记

1.新建账号:添加 test 用户名的账号,并把账号放入 developer 组:sudo useradd -g developer test -d /home/test添加密码:sudo passwd test删除账号:sudo userdel test使用adduser命令效果会更好;2.新建用户组:sudo groupadd developer:新建deve...

2019-02-13 10:27:55 235

转载 linux下tty, ttyn, pts, pty, ttySn, console理解

这一下涉及很多概念:终端,伪终端,虚拟终端,控制终端,串行终端,控制台,……。历史原因这些概念有些模糊,我也理不太清楚。就我直观对dev下设备而言来稍微解释下:/dev/tty控制终端,即当前用户正在使用的终端,是一个映射,指向当前所使用的终端(例如/dev/tty1,/dev/pts/0)。往/dev/tty下写数据总是写到当前终端。/dev/ttyn虚拟终端,例如ubuntu不启动...

2019-01-12 11:10:43 326

原创 linux 打印输出重定向的问题

一、应用场景:当我们要调试一台基于linux设备时,如果出现问题,但是没有串口查看信息,这个时候就可以考虑使用telnet登入到设备,并用串口打印信息重定向到telent窗口的方案;二、源码实现:#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;string.h&gt;#include &lt;fcntl...

2019-01-12 10:58:07 1226

转载 Qt中rcc工具简介

Qt 自带的开发工具集里有专门的 rcc 工具,用于将 *.qrc 里面描述的图片、文档等编译成对应的源代码文件 qrc_*.cpp 或者独立的二进制资源文件 *.rcc。下面介绍 rcc 工具的两种用途:(1)生成独立的二进制资源文件 *.rcc对于太大的图片、音频、视频等文件,不适合集成到目标程序内部,可以放到操作系统文件路径,或者单独编译成外挂资源 *.rcc 。举例来说,myresou...

2019-01-11 16:12:42 1540

转载 qt中moc的作用

Qt 将源代码交给标准 C++ 编译器,如 gcc 之前,需要事先将这些扩展的语法去除掉。完成这一操作的就是 moc。moc 全称是 Meta-Object Compiler,也就是“元对象编译器”。Qt 程序在交由标准编译器编译之前,先要使用 moc 分析 C++ 源文件。如果它发现在一个头文件中包含了宏 Q_OBJECT,则会生成另外一个 C++ 源文件。这个源文件中包含了 Q_OBJEC...

2019-01-11 15:55:59 5712

转载 FreeRTOS 查询任务 剩余的栈空间的 方法

FreeRTOS 源码下载地址1、官方文档提供了   函数  用来查询  任务 剩余   栈 空间,首先是看官方的文档解释(某位大神 翻译 的 官方文档。)参数解释:     xTask:被查询任务的句柄——欲知如何获得任务句柄,详情请参见API 函数xTaskCreate()的参数pxCreatedTask。如果传入 NULL 句柄,则任务查询的是自身栈空间的高水线。返回值: 任务...

2019-01-07 17:58:26 4774

转载 cortex-M3 的SVC、PendSV异常,与操作系统(ucos实时系统)

SVC异常是? PendSV异常是? ucos 任务切换时机? ucos 如何满足实时性(实现)? ucos中,systick的优先级?SVC和PendSVSVC(系统服务调用,亦简称系统调用)和PendSV(可悬起系统调用),它们多用于在操作系统之上的软件开发中。SVC:SVC 用于产生系统函数的调用请求。 例如,操作系统不让用户程序直接访问硬件,而是通过提供一些系统服务函...

2019-01-07 17:31:12 787

原创 关于stm32芯片解锁方法

在调试stm32芯片的时候经常会出现下载不进去,出现类似下面的错误,这个时候就要怀疑是不是芯片被异常锁死了;我亲测有效的解决方法主要有以下两种:1.JLINK烧录器解锁:这是最简单的方法SEGGER 的JLink ARM V4.08l包中的,Processor Specific Utilities-&gt;J-Link STM32 Unlock 工具就可以解锁;2.ISP升级解...

2018-12-29 11:39:00 16022 2

转载 STM32的ISP升级详解

最近在做一个给STM32用ISP升级的项目,接触到STM32厂家烧录的Bootloader工作流程,具体官方文档稍后上传供大家参考,也可去ST官网下载文档。接下来针对文档中部分内容分析其工作过程:一、要进入该模式,需把STM32硬件上的BOOT0引脚拉高(置1),BOOT1拉低(置0),对此部分不明白的可以查阅STM32BOOT引脚的资料(网上一搜一大堆),不过多阐述。两个引脚配置好对STM3...

2018-12-29 11:23:20 8010 5

转载 dbm和db的关系、区别

所谓的dBw就是跟功率跟1瓦比,既10lg(功率/1瓦特)dBm就是功率跟1毫瓦比,既10lg(功率/1毫瓦)所以0dBw就是它跟1瓦比算出来的结果是0,即它也是1瓦。所以1瓦等于1000毫瓦,跟1毫瓦比算出来的结果就是30,所以0dBw=30dBm.db,表示一个相对值。当计算A的功率相比于B大或小多少个dB时,可按公式10 lg A/B计算。例如:A功率比B功率大一倍,那么10lg...

2018-12-26 09:27:48 70732 2

原创 tftp环境搭建笔记

一.安装tftp所需要的软件:tftp客户端软件:sudo apt-get install tftp-hpa  tftp服务端:sudo apt-get install tftpd-hpa进程守护程序:sudo apt-get install xinetd二.在跟目录下创建tftpboot目录:sudo mkdir /tftpboot修改权限:chmod -R 777 /t...

2018-12-16 12:52:40 386

转载 拉格朗日差值法----算法学习

一、定义:对某个多项式函数,已知有给定的k + 1个取值点:其中对应着自变量的位置,而对应着函数在这个位置的取值。假设任意两个不同的xj都互不相同,那么应用拉格朗日插值公式所得到的拉格朗日插值多项式为:其中每个为拉格朗日基本多项式(或称插值基函数),其表达式为:[3]拉格朗日基本多项式的特点是在上取值为1,在其它的点上取值为0。范例假设有某个二次多项式函数,...

2018-12-14 13:43:09 2728

原创 gdb调试笔记

一、gdb服务端配置:(1)设置被搜索文件的路径:set solib-search-path /home/ti-sdk-am335x/filesystem/lib:/home/ti-sdk-am335x/filesystem/usr/lib(根据具体情况设置)(2)设置被搜索文件路径的前缀:set solib-absolute-prefix /home/ti-sdk-am3...

2018-12-04 16:04:52 224

原创 嵌入式arm linux 文件系统登入密码的修改笔记

1.设置登录时需要用户和用户密码,在/etc/inittab文件中添加:::respawn:/sbin/getty -L ttyPS0 115200 vt100  或  ::respawn:-/bin/login2.设置登录时不需要用户和用户密码,在/etc/inittab文件中添加:ttyPS0::respawn:-/bin/ash3.用MD5修改用户密码,例如修改root的密码...

2018-12-04 10:41:12 3457

原创 busybox编译笔记

1.下载busybox-1.20.1.tar.bz2.解压:tar jxvf busybox-1.20.1.tar.bz3.配置:(1)进入解压后的文件busybox-1.20.1:cdbusybox-1.20.1(2)进行默认配置:make defconfig(3)个别修改配置:make menuconfigBusybox Setting ----->...

2018-12-03 21:45:51 872

转载 Linux驱动调试中的Debugfs的使用简介

Linux驱动调试中的Debugfs的使用简介 (2012-03-31 14:14)在调试linux驱动的时候,可以用debugfs来调试,debugfs类似字符设备驱动一样,甚至更简单,不需要主设备号次设备号等等,只需要实现一个file_operations,然后通过debugfs_create_file就可以在debugfs中建立一个文件结点,就像字符设备驱动那样,只需要对这个文件结点进行...

2018-12-03 18:38:31 1104

原创 zynq 文件系统中加载PL fpga.bit笔记

1.在启动脚本中添加创建/dev/xdevcfg节点:if [ ! -e /dev/xdevcfg ]then        mknod /dev/xdevcfg c 259 0fi2.直接用以下命令完成PL Image写入:cat  top_sds1000b_fpga.bit &gt; /dev/xdevcfg...

2018-12-03 18:10:38 4944

转载 关于热插拔usb hotplug /proc/sys/kernel mdev udev busybox

如何使用busybox精简版本udev程序--mdev动态创建插入的u盘和鼠标等设备busybox的mdev是一个精简了的udev管理程序,它可以间接的以hotplug方式被内核调用,进而在arm平台上/dev目录下动态创建设备 节点,因为hotplug会被内核发送uevent之前调用,所以如果动态可插拔设备很多,很频繁,那么每次内核都会调用elf格式的用户空间的 hotplug,生成一个独立...

2018-12-03 17:32:55 562

空空如也

空空如也

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

TA关注的人

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