自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (1)
  • 收藏
  • 关注

原创 使用qtcreator做为IDE开,使用gdb&gdbserver搭建嵌入式linux开发环境

1. 安装交叉编译工具链2. 安装qtcreator3. 编译Qt for embbed4. 编译GDB3. 编译GDBServer4. 配置qtcreator5. 部署嵌入式平台gdbserverhttps://blog.csdn.net/baidu_31381143/article/details/53868924https://blog.csdn....

2018-09-12 09:18:32 992 1

原创 2.3 内核启动流程分析-Makefile 笔记

#####

2018-09-08 15:51:22 219

原创 2.2 Linux内核配置分析 笔记

1. make menuconfig配置结果生成.config2. 配置解析(以网卡DM9000 为例)打开.config文件,发现该文件是由以CONGIG_XXX的配置项组成的。 找到CONFIG_DM9000=y行,CONFIG_DM9000为一个宏定义,=y表示编译进内核,=m表示编译成模块,没有配置显示CONFIG_DM9000 is not set。 Q1:宏CONFIG...

2018-09-05 13:01:45 222

原创 2.1 Linux内核镜像构建 笔记

1.内核、补丁文件下载,解压缩,打补丁patch -px < xx.patch2.配置2.1配置文件如果.config不存在,运行make config(字符型)/menuconfig(菜单型)时的缺省设置由固化在各个Kconfig文件中各项目的缺省值决定。如果.config存在,运行make config/menuconfig时的缺省设置即是当前.config的设...

2018-09-02 08:08:40 306

原创 STM32F10x_ StdPeriph_Lib_ V3.5库文件解析

画了好一会儿,还是很详细的。

2018-01-20 21:28:06 1802

原创 2.STM32F10X-RCC 复位和时钟控制器

MCU就和任意一样,他的运行需要一个脉动的信号驱使,对于单片机来讲,这就是时钟控制器。 复位系统的作用在于给单片机一个复活的机会,一个重新来过的机会。1. 时钟树 参考手册里面的时钟树框图不太直观,是我的话,一定把它画成一个树。。。 我用数字顺序的标注了一下,从外部时钟源到各个外设的时钟是如何生成的,也算比较明了。 由外部晶振经过一些列的倍频、分频最终得到了所需要的频率,在这过

2018-01-10 23:17:31 416 1

转载 ucos 任务调度与中断的关系

转载自:http://blog.csdn.net/alliswall1/article/details/49701905在ucos的中断函数中是每次写中断函数都需要OSIntEnter()和OSIntExit() 用来判断中断嵌套层数和进行任务调度,有些情况是这样的,例如有的书上的程序中有RTC中断服务函数,但是并没有调用操作系统的进入中断服务函数OSIntEnter()和退出中断服务函数OS

2017-12-05 23:00:33 3003

转载 HardFault_Handler问题查找方法

STM32出现HardFault_Handler故障的原因主要有两个方面:内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。堆栈溢出。增加堆栈的大小。 出现问题时排查的方法:发生异常之后可首先查看LR寄存器中的值,确定当前使用堆栈为MSP或PSP,然后找到相应堆栈的指针,并在内存中查看相应堆栈里的内容。由于异常发生时,内核将R0~R3、R12、LR、PC、XPRS 寄存

2017-12-05 22:22:56 436

原创 1. STM32F10X-架构

STM32F10xx系列单片机是意法半导体推出的ARM核心32bit单片机。性价比非常高,真正做到了高性能、低价格并且极易使用,因此受到了工程师和应用厂商的共同青睐。1. ST和ARMST是半导体设计、制造公司,它设计并生产芯片。 ARM是知识产权(IP intellectual property)供应商,它的产品是ARM内核(只做设计)。对于STM32F10XX,其中CPU是A

2017-10-05 11:07:26 6993

原创 ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 16 roswtf入门

引言本节介绍了如何使用roswtf工具。 roswtf的含义是ros what the fack? 就是ROS怎么了?因此它实际上是一个错误检查工具。可以检查安装错误、运行时错误等等。使用roswtf其实。。。 就一个命令而已:$ roswtf

2017-08-03 16:32:22 303

原创 ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 15 录制与回放数据

http://wiki.ros.org/cn/ROS/Tutorials/Recording%20and%20playing%20back%20data引言本节教程的将描述如何录制ROS系统运行过程中的数据到一个.bag文件中,然后通过回放该数据来重现之前的运动过程。1.录制1.1 先决条件我们打开两个节点:roscorerosrun turtlesim turtlesim_node rosru

2017-08-03 14:35:09 269

原创 ROS学习 之 命名空间(NameSpace)、重映射(Remapping)、名称(Names)

http://wiki.ros.org/Nameshttp://wiki.ros.org/Remapping%20Argumentshttp://www.cnblogs.com/qixianyu/p/6576075.htmlhttp://www.cnblogs.com/zjiaxing/p/5541841.html引言作为一个开源的、分布式的机器人操作系统,众多开发者开发的包并不能保证所有定

2017-08-03 11:23:04 4471

原创 ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 14 测试简单的Service和Client

引言前面我们编写了一个提供服务的节点和一个请求服务的节点。现在来测试一下。运行分别在3个不同的终端中运行一下命令:$ roscore$ rosrun beginner_tutorials add_two_ints_server$ rosrun beginner_tutorials add_two_ints_client

2017-08-02 16:04:34 215

原创 ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 13 编写简单的服务器和客户端

引言本节介绍如何编写服务器和客户端节点。1.编写service节点我们将创建一个简单的service节点(add_two_ints_server),该节点接收两个整形数字并返回它们的和。要确保已经安装之前的教程创建了所需要的srv。 在beginner_tutorials/src目录中创建add_two_ints_server.cpp文件1.1 源代码#include "ros/ros.h"#i

2017-08-02 13:27:21 342

原创 ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 12 测试消息发布器和订阅器

引言之前编写编译了一个消息发布器节点和一个消息订阅器节点。现在来尝试运行一下。1. 启动发布器节点首先在终端中启动roscore 以运行master。$ roscore现在启动发布器节点talker:$ rosrun beginner_tutorials talker2. 启动订阅器$ rosrun beginner_tutorials listener可以看到 订阅器节点已经收到了来自发布器节点的

2017-08-02 09:56:43 324

原创 ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 11 编写简单的消息发布器和订阅器 (C++)

http://blog.csdn.net/shiyue0010/article/details/51925295这里介绍了学习ROS的一些方法和资料。http://blog.csdn.net/wengge987/article/details/50826217 单个master http://www.cnblogs.com/shhu1993/p/6021396.html

2017-08-01 15:08:50 319

原创 ESP-12F wifi模块 UDP协议 WiFi-串口互传

今天调的这个WiFi模块,物美价廉。硬件电路照着手册上的图焊了各最小系统,具体的一些功能还没整明白。反正是调通了。 来个靓照: 反面: 估计大家也看出来了,那个DB9是个假的,模块出来的是TTL,不想焊max232了,嫌麻烦。软件调试1. 连接你的PC(注意电平,要用个232芯片)打开提供的软件 2. 先恢复出厂设置清除设置。 3. 设置模式并接入网络4.查询模块在局域网中的IP5

2017-07-28 14:58:31 2471

原创 ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 10 创建ROS消息和ROS服务

0. 引言本节讲述ROS消息和服务,以及rosmsg、rossrv和roscp工具。0.1 消息(msg)和服务(srv)介绍消息(msg):msg文件是一个描述ROS中所使用消息类型的简单文本。它们会被catkin_make用来生成不同语言的源代码。服务(srv):一个srv文件描述一项服务。它包含请求和响应两部分(使用—分隔)。 msg文件实际上就是每行声明一个数据类型和变量名。可以使用以

2017-07-27 11:24:25 347

原创 ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 9 使用rosed编辑ROS中的文件

引言本节讲解在ROS中使用rosed编辑文件。1. 使用rosed工具rosed工具允许直接通过包名编辑包中的文件。¥rosed [package_name] [filename]

2017-07-26 16:42:14 273

原创 ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 8 学习ROS的rqt_console和roslaunch命令

引言本教程介绍ROS的rqt_console和rqt_logger_level以及roelaunch工具。1. 准备本节教程需要使用rqt包和turtlesim包。如果没有安装,可以使用以下命令:$ sudo apt-get install ros-<distro>-rqt ros-<distro>-rqt-common-plugins ros-<distro>-turtlesim2. 使用rqt_

2017-07-25 22:26:36 311

原创 autotools 系列工具安装以及使用方法

1 安装autotools系列工具为了生成Makefile需要使用以下工具。autoscanaclocalautoconfautoheaderautomake这些工具在autoconf安装包和automake安装包中。可以下载源码安装。在安装时还需m4配合,没有的话网上找找。2 具体使用流程:2.1:autoscan在源代码目录中执行 autoscan,将会生成configure.sca

2017-07-10 15:17:10 4089

原创 《UNIX环境高级编程》第17章 高级进程间通信

17.1 引言前面两章讨论了UNIX系统提供的各种IPC,其中包括管道和套接字。 本章介绍一个高级IPC-UNIX域套接字,并说明它的使用方法。 这种形式的IPC可以在同一计算机上运行的两个进程之间传送打开文件描述符。服务器进程可以使他们的打开文件描述符与指定的名字相关联,同一系统上运行的客户进程可以使用这些名字与服务器进程汇聚。17.2 UNIX域套接字UNIX域套接字用于在同一台计算机上运行

2017-07-08 20:49:11 338

转载 ubuntu 安装tab补齐功能

1、安装bash-completionapt-get install bash-completion2、编辑~/.bashrc 文件添加如下内容:if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi3、使其生效退出SSH,重新登录。apt-get install build-e 然后TAB一下,自动补齐了吧。

2017-07-06 14:16:48 2426

原创 在UBUNTU中使用北通USB游戏手柄

1. XBOX360模式sudo add-apt-repository ppa:grumbel/ppa sudo apt-get update sudo apt-get install xboxdrv 之后查看数据:cat /dev/input/js0 | hexdump操作手柄就可以看到输出数据: 2.ps3手柄sudo apt-get install joy2key

2017-07-06 13:46:48 7650

原创 JZ2440 给root用添加密码

默认的root密码不知道是什么,因此telnet无法接入。#adduser root //添加root用#passwd root //修改root密码此时若出现unknown uid 0则需要修改/etc/passwd文件。//打开passwd文件root:x:500:500:Linux User,,,:/home/root:/bin/sh//修改uid gid为0root:x:0:

2017-07-06 08:56:56 682

转载 JZ2440 mount主机上的nfs文件系统出现提示:nfs:server is not responding, still trying

在mini2440开发板上挂载主机上的nfs文件系统后传送较大文件时会出现下面的提示: nfs:server is not responding, still trying 问题原因: Mandag 27 november 2006 20:12 skrev Verner Kjærsgaard: Mandag 27 november 2006 19:33 skrev John P. New:

2017-07-06 08:51:48 275

原创 JZ2440 打开telnet服务

1. 打开telnet服务JZ2440V3重新烧写内核和文件系统之后,没有打开telnet服务。只能通过串口登录。将以下脚本加入/etc/init.d/rcS/usr/sbin/telnetd &保存重启后可自动打开telnet服务。2. 给root用添加密码默认的root密码不知道是什么,因此telnet无法接入。#adduser root //添加root用#

2017-07-05 15:18:38 638

原创 《UNIX环境高级编程》第16章 网络IPC:套接字

16.1 引言本章将考察不同计算机(通过网络连接)上的进程相互通信的机制:网络进程间通信(network IPC)。 套接字网络进程间通信接口,进程用该接口能够和其他进程通信,无论他们是在同一台计算机上还是在不同的计算机上。16.2 套接字描述符套接字是通信端点的抽象。16.3 寻址16.4 建立连接16.5 数据传输16.6 套接字选项16.7 带外数据16

2017-06-29 17:28:20 337

原创 《UNIX环境高级编程》第15章 进程间通信

15.1 引言第8章说明的进程控制原语,并且观察了如何调用多个进程。但是这些进程间交互信息的唯一途径就是传送打开的文件,可以经由fork或exec来传送,也可以通过文件系统来传送。 本章讨论经典IPC:管道、FIFO、消息队列、信号量已经共享存储。 下一章讨论使用套接字机制的网络IPC。15.2 管道历史上,管道是半双工的。现在某些系统提供了全双工的管道,但为了移植,我们不该假设系统支持全双工

2017-06-27 09:32:14 323

原创 《UNIX环境高级编程》第14章 高级IO

14.1 引言本章涵盖众多概念和函数,将是后几章的基础。14.2 非阻塞IO10.5节中曾将系统调用分成两类:“低速”系统调用和其他。低速系统调用是可能会使进程永远阻塞的一类系统调用,包括:如果某些文件类型的数据并不存在,该操作可能会使调用者永远阻塞;如果数据不能被相同的文件类型立即接受,写操作可能会使调用者永远阻塞;在某种条件发生之前打开某些文件类型可能会发生阻塞;对已经

2017-06-11 11:36:13 395

原创 《UNIX环境高级编程》第13章 守护进程

13.1 引言守护进程(daemon)是生存期长的一种进程。它们常常在系统引导装入时启动,仅在系统关闭时才终止(生存期)。因为它们没有控制终端,所以说它们时在后头运行的。UNIX系统有很多守护进程,它们执行日常事务活动。 本章将说明守护进程的结构,以及如何编写守护进程程序。因为守护进程没有控制终端,我们需要了解在出现问题时,daemon如何报告出错情况。13.2守护进程的特征先来看看一些常用的系统

2017-06-10 15:15:05 325

原创 《UNIX环境高级编程》第12章 线程控制

12.1 引言上一章讲了线程以及线程同步的基础知识。 本章将讲解控制线程的行为方面的详细内容,介绍线程属性和同步原语属性。前面的章节中使用的都是它们的默认行为,没有进行详细的介绍。 还将介绍同一进程的多个线程之间如何保持数据的私有性。最后讨论基于进程的系统调用如何与线程进行交互。12.2 线程限制SUS定义了线程操作有关的一些限制。于其他的系统限制一样,这些限制也可以通过sysco

2017-06-06 10:14:29 351

原创 《UNIX环境高级编程》第11章 线程

11.1 引言11.2 线程概念11.3 线程标识11.4 线程创建11.5 线程终止11.6 线程同步11.7 小结

2017-05-25 17:12:35 299

原创 《UNIX环境高级编程》第10章 信号

10.1 信号信号时软中断。很多比较重要的应用程序都需处理信号。信号提供了一种处理异步事件的方法。例如,终端用户键入中断键,会通过信号机制停止一个程序,或及早地终止管道中的下一个程序。10.2 信号概念首先,每个信号都有一个名字。这些名字都是以3个字符SIG开头。例如: - SIGABRT 是夭折信号,当进程调用abort函数时产生这种信号。 - SIGALRM 是闹钟信号

2017-05-16 06:51:04 581

原创 《UNIX环境高级编程》第9章 进程关系

9.1 前言上一章我们了解到进程之间具有关系。首先每个进程都有一个父进程(初始的内核级进程通常是自己的父进程)。父进程能够得到通知并能取得子进程的退出状态。也提到了如何等待进程组中任意一个进程终止。 本章将详细说明进程组以及会话的概念。还将介绍登录shell(登录时所调用的shell)和所有从登录shell启动的进程之间的关系。9.2 终端登录先说明当我们登录到UNIX系统时所执行的各个程序。

2017-05-12 13:53:46 271

原创 《UNIX环境高级编程》第8章 进程控制

8.1 前言

2017-05-03 09:59:05 479

原创 Linux下使用Qt Creator开发OpenCV项目-1.搭建开发环境

准备在Ubuntu上开发双目测距项目,当然要用到大名鼎鼎的OpenCV库了,再找个GUI库和IDE能方便点。 因此在Ubuntu上安装OpenCV和QT GUI库再加上个Qt Creator,作为我们项目的开发环境。1 安装QtQT GUI库是Ubuntu自带的,查看版本: 说明Qt已经安装了,版本为5.4.1。2.安装Qt Creator在Linux下,Qt Creator算是一个比较好的

2017-04-30 23:06:31 3423 1

原创 从Windows切换到Linux 一些比较好的软件 持续更新

Ubuntu中自带了很多日常工具软件,但刚刚切换到Linux下还是有很多不方便,那当然要添加一些顺手的工具了。1. 浏览器:自带的FireFox就很不错啦!2. 输入法:中文输入,还是安装搜狗吧,毕竟用了这么多年,习惯了: http://pinyin.sogou.com/linux/?r=pinyin 进去后有下载和安装指南。3. 截图工具:有个Shutter的工具很棒,网友推荐很多: h

2017-04-22 10:12:29 507

原创 Ubuntu 15.04 搜狗输入法 无法切换到英文输入

不知道改了个什么东西,Ubuntu 15.04 中Ctrl+Space不能切换输入法了,因此不能输入英文,shell就更是没法工作,在设置里面找了好久,“文本输入”/“语言支持”/“键盘”里面都没找到。   在右上角输入法设置中只有sougou输入法设置项,可能是因为输入法没有配置好。最后找到方法了:在终端键入fcitx-config-gtk3,这时候如果直接在shell中输入,是没用的,因为不是

2017-04-22 09:55:54 2310 3

原创 Linux下使用Qt Creator开发OpenCV项目-2.测试开发环境

1.前言很多人都说linux下开发高手都不要IDE。可是掂量了一下,再试了试GDB。。。还是算了吧。2.创建项目2.1 启动Qt Creator如果以普通用户登录,双击Qt Creator图标可能出现权限问题,这里试了好多次,没能解决,就在shell中启动了:$sudo qtcreator &2.2 创建新项目2.3 选择项目类型这里我们先简单的显示一个图片,创建一个非Qt地C++console项目

2017-04-22 09:08:29 1160 1

ST FOC4.2 三电阻电流采样程序

ST FOC4.2 三电阻电流采样程序,ST 电机开发工具使用串口连接,正反转,加减速操作。

2018-07-21

空空如也

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

TA关注的人

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