- 博客(60)
- 资源 (1)
- 收藏
- 关注
原创 使用qtcreator做为IDE开,使用gdb&gdbserver搭建嵌入式linux开发环境
1. 安装交叉编译工具链2. 安装qtcreator3. 编译Qt for embbed4. 编译GDB3. 编译GDBServer4. 配置qtcreator5. 部署嵌入式平台gdbserverhttps://blog.youkuaiyun.com/baidu_31381143/article/details/53868924https://blog.csdn....
2018-09-12 09:18:32
1055
1
原创 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
1077
原创 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
348
原创 2.STM32F10X-RCC 复位和时钟控制器
MCU就和任意一样,他的运行需要一个脉动的信号驱使,对于单片机来讲,这就是时钟控制器。 复位系统的作用在于给单片机一个复活的机会,一个重新来过的机会。1. 时钟树 参考手册里面的时钟树框图不太直观,是我的话,一定把它画成一个树。。。 我用数字顺序的标注了一下,从外部时钟源到各个外设的时钟是如何生成的,也算比较明了。 由外部晶振经过一些列的倍频、分频最终得到了所需要的频率,在这过
2018-01-10 23:17:31
522
1
转载 ucos 任务调度与中断的关系
转载自:http://blog.youkuaiyun.com/alliswall1/article/details/49701905在ucos的中断函数中是每次写中断函数都需要OSIntEnter()和OSIntExit() 用来判断中断嵌套层数和进行任务调度,有些情况是这样的,例如有的书上的程序中有RTC中断服务函数,但是并没有调用操作系统的进入中断服务函数OSIntEnter()和退出中断服务函数OS
2017-12-05 23:00:33
3140
转载 HardFault_Handler问题查找方法
STM32出现HardFault_Handler故障的原因主要有两个方面:内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。堆栈溢出。增加堆栈的大小。 出现问题时排查的方法:发生异常之后可首先查看LR寄存器中的值,确定当前使用堆栈为MSP或PSP,然后找到相应堆栈的指针,并在内存中查看相应堆栈里的内容。由于异常发生时,内核将R0~R3、R12、LR、PC、XPRS 寄存
2017-12-05 22:22:56
487
原创 1. STM32F10X-架构
STM32F10xx系列单片机是意法半导体推出的ARM核心32bit单片机。性价比非常高,真正做到了高性能、低价格并且极易使用,因此受到了工程师和应用厂商的共同青睐。1. ST和ARMST是半导体设计、制造公司,它设计并生产芯片。 ARM是知识产权(IP intellectual property)供应商,它的产品是ARM内核(只做设计)。对于STM32F10XX,其中CPU是A
2017-10-05 11:07:26
8034
原创 ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 16 roswtf入门
引言本节介绍了如何使用roswtf工具。 roswtf的含义是ros what the fack? 就是ROS怎么了?因此它实际上是一个错误检查工具。可以检查安装错误、运行时错误等等。使用roswtf其实。。。 就一个命令而已:$ roswtf
2017-08-03 16:32:22
334
原创 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
375
原创 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
5154
原创 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
265
原创 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
385
原创 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
347
原创 ROS学习(基于Ubuntu 15.04 和ROS Jade)第三章 ROS核心教程 之 11 编写简单的消息发布器和订阅器 (C++)
http://blog.youkuaiyun.com/shiyue0010/article/details/51925295这里介绍了学习ROS的一些方法和资料。http://blog.youkuaiyun.com/wengge987/article/details/50826217 单个master http://www.cnblogs.com/shhu1993/p/6021396.html
2017-08-01 15:08:50
431
原创 ESP-12F wifi模块 UDP协议 WiFi-串口互传
今天调的这个WiFi模块,物美价廉。硬件电路照着手册上的图焊了各最小系统,具体的一些功能还没整明白。反正是调通了。 来个靓照: 反面: 估计大家也看出来了,那个DB9是个假的,模块出来的是TTL,不想焊max232了,嫌麻烦。软件调试1. 连接你的PC(注意电平,要用个232芯片)打开提供的软件 2. 先恢复出厂设置清除设置。 3. 设置模式并接入网络4.查询模块在局域网中的IP5
2017-07-28 14:58:31
3051
原创 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
374
原创 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
318
原创 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
363
原创 autotools 系列工具安装以及使用方法
1 安装autotools系列工具为了生成Makefile需要使用以下工具。autoscanaclocalautoconfautoheaderautomake这些工具在autoconf安装包和automake安装包中。可以下载源码安装。在安装时还需m4配合,没有的话网上找找。2 具体使用流程:2.1:autoscan在源代码目录中执行 autoscan,将会生成configure.sca
2017-07-10 15:17:10
4425
原创 《UNIX环境高级编程》第17章 高级进程间通信
17.1 引言前面两章讨论了UNIX系统提供的各种IPC,其中包括管道和套接字。 本章介绍一个高级IPC-UNIX域套接字,并说明它的使用方法。 这种形式的IPC可以在同一计算机上运行的两个进程之间传送打开文件描述符。服务器进程可以使他们的打开文件描述符与指定的名字相关联,同一系统上运行的客户进程可以使用这些名字与服务器进程汇聚。17.2 UNIX域套接字UNIX域套接字用于在同一台计算机上运行
2017-07-08 20:49:11
402
转载 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
2671
原创 在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
8444
1
原创 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
726
转载 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
313
原创 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
695
原创 《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
390
原创 《UNIX环境高级编程》第15章 进程间通信
15.1 引言第8章说明的进程控制原语,并且观察了如何调用多个进程。但是这些进程间交互信息的唯一途径就是传送打开的文件,可以经由fork或exec来传送,也可以通过文件系统来传送。 本章讨论经典IPC:管道、FIFO、消息队列、信号量已经共享存储。 下一章讨论使用套接字机制的网络IPC。15.2 管道历史上,管道是半双工的。现在某些系统提供了全双工的管道,但为了移植,我们不该假设系统支持全双工
2017-06-27 09:32:14
388
原创 《UNIX环境高级编程》第14章 高级IO
14.1 引言本章涵盖众多概念和函数,将是后几章的基础。14.2 非阻塞IO10.5节中曾将系统调用分成两类:“低速”系统调用和其他。低速系统调用是可能会使进程永远阻塞的一类系统调用,包括:如果某些文件类型的数据并不存在,该操作可能会使调用者永远阻塞;如果数据不能被相同的文件类型立即接受,写操作可能会使调用者永远阻塞;在某种条件发生之前打开某些文件类型可能会发生阻塞;对已经
2017-06-11 11:36:13
437
原创 《UNIX环境高级编程》第13章 守护进程
13.1 引言守护进程(daemon)是生存期长的一种进程。它们常常在系统引导装入时启动,仅在系统关闭时才终止(生存期)。因为它们没有控制终端,所以说它们时在后头运行的。UNIX系统有很多守护进程,它们执行日常事务活动。 本章将说明守护进程的结构,以及如何编写守护进程程序。因为守护进程没有控制终端,我们需要了解在出现问题时,daemon如何报告出错情况。13.2守护进程的特征先来看看一些常用的系统
2017-06-10 15:15:05
405
原创 《UNIX环境高级编程》第12章 线程控制
12.1 引言上一章讲了线程以及线程同步的基础知识。 本章将讲解控制线程的行为方面的详细内容,介绍线程属性和同步原语属性。前面的章节中使用的都是它们的默认行为,没有进行详细的介绍。 还将介绍同一进程的多个线程之间如何保持数据的私有性。最后讨论基于进程的系统调用如何与线程进行交互。12.2 线程限制SUS定义了线程操作有关的一些限制。于其他的系统限制一样,这些限制也可以通过sysco
2017-06-06 10:14:29
420
原创 《UNIX环境高级编程》第11章 线程
11.1 引言11.2 线程概念11.3 线程标识11.4 线程创建11.5 线程终止11.6 线程同步11.7 小结
2017-05-25 17:12:35
351
原创 《UNIX环境高级编程》第10章 信号
10.1 信号信号时软中断。很多比较重要的应用程序都需处理信号。信号提供了一种处理异步事件的方法。例如,终端用户键入中断键,会通过信号机制停止一个程序,或及早地终止管道中的下一个程序。10.2 信号概念首先,每个信号都有一个名字。这些名字都是以3个字符SIG开头。例如: - SIGABRT 是夭折信号,当进程调用abort函数时产生这种信号。 - SIGALRM 是闹钟信号
2017-05-16 06:51:04
690
原创 《UNIX环境高级编程》第9章 进程关系
9.1 前言上一章我们了解到进程之间具有关系。首先每个进程都有一个父进程(初始的内核级进程通常是自己的父进程)。父进程能够得到通知并能取得子进程的退出状态。也提到了如何等待进程组中任意一个进程终止。 本章将详细说明进程组以及会话的概念。还将介绍登录shell(登录时所调用的shell)和所有从登录shell启动的进程之间的关系。9.2 终端登录先说明当我们登录到UNIX系统时所执行的各个程序。
2017-05-12 13:53:46
347
原创 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
3574
1
原创 从Windows切换到Linux 一些比较好的软件 持续更新
Ubuntu中自带了很多日常工具软件,但刚刚切换到Linux下还是有很多不方便,那当然要添加一些顺手的工具了。1. 浏览器:自带的FireFox就很不错啦!2. 输入法:中文输入,还是安装搜狗吧,毕竟用了这么多年,习惯了: http://pinyin.sogou.com/linux/?r=pinyin 进去后有下载和安装指南。3. 截图工具:有个Shutter的工具很棒,网友推荐很多: h
2017-04-22 10:12:29
572
原创 Ubuntu 15.04 搜狗输入法 无法切换到英文输入
不知道改了个什么东西,Ubuntu 15.04 中Ctrl+Space不能切换输入法了,因此不能输入英文,shell就更是没法工作,在设置里面找了好久,“文本输入”/“语言支持”/“键盘”里面都没找到。 在右上角输入法设置中只有sougou输入法设置项,可能是因为输入法没有配置好。最后找到方法了:在终端键入fcitx-config-gtk3,这时候如果直接在shell中输入,是没用的,因为不是
2017-04-22 09:55:54
2451
2
原创 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
1295
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人