- 博客(76)
- 资源 (10)
- 收藏
- 关注
原创 LINUX问题与知识点笔记
1.subprocess new pre-removal script returned error exit status进入/var/lib/dpkg/info找到相关文件,删除
2020-07-10 15:18:08 682
原创 MicroPython移植
MicroPython移植1.目标板stm32f407zgt62.下载移植准备micropython源码arm交叉编译工具sudo apt-get install gitsudo apt-get install gcc-arm-none-eabimkdir MicroPythoncd MicroPythongit clone https://github.com/microp...
2019-08-13 11:56:34 4509
原创 烧写SD卡脚本
#!/bin/bash# $n 脚本参数n# $* 所有参数,将所有参数视为一个字符串# $@ 所有参数,不含$0,将所有参数视为单个字符串# $# 参数个数# shift 参数左移,$#自动-1# test expression 或者用 [expression] 代替 , 判断条件 [ = != -z(==0) -n(!=0) str(=="")(字符串判断) -eq -le ...
2018-11-18 00:20:01 646
原创 制作交叉编译工具链(2)
#解压crosstool-ngtar -jxvf crosstool-ng-1.23.0#检查依赖,完成依赖检查后生成Makefile./configure --prefix /home/forlinx/crosstool/install #编译,编译成功后进行安装makemake install#添加环境变量PATH=$PATH:/home/forlinx/crosstoo...
2018-11-18 00:10:43 190
原创 制作交叉编译工具链(1)
交叉编译环境是由编译器、连接器和解释器组合成的综合开发环境。交叉编译工具主要包括针对目标系统的编译器GCC、目标系统的二进制工具binutils、目标系统的标准C库Glibc和目标系统的Linux内核头文件安装上述文件,并设置hell变量 PREFIX 指定可执行程序的安装路径1.编译binutils运行configure文件,并使用 --prefix=$PREFIX参数指定安装路...
2018-11-18 00:08:52 960
原创 移植jffs2文件系统
http://www.linux-mtd.infradead.org/ 下载mtd-utilshttp://www.zlib.net/ 下载zlibhttp://www.oberhumer.com/opensource/lzo/#download 下载lzohttps://sourceforge.net/projects/libuuid/postdownload 下载libuui...
2018-11-18 00:06:03 414
原创 OK6410移植LINUX
移植linux-3.7.3#mkimage工具制作LINUX内核的压缩镜像文件,需要用到mkimage工具,在uboot的tools目录下,mkimage可以用来制作压缩/不压缩的多种内核镜像文件。如果uboot/tools中没有mkimage,可以尝试apt安装 sudo apt-cache search mkimageUsage: mkimage -l image ...
2018-11-18 00:04:43 482
原创 windows安装tensorflow
0.查看版本python --versionpip3 --versionvirtualenv --version1.安装virtualenvpip3 install -U pip virtualenv2.创建虚拟环境C:> E:E:> virtualenv --system-site-packages -p python3 ./venv3.激活虚拟环境E:> ...
2018-11-03 11:35:13 332
原创 8.数据集合
1.例子计算用户输入的一组数字的平均值# average.pydef main(): total = 0.0 #float count = 0 #int xStr = input('Enter a number (Enter to quit) >> ') # input string while xStr != '': x = float(xStr) # str...
2018-10-11 21:43:58 220
原创 7.类
1.定义类class MSDie: def __init__(self,sides): self.sides = sides self.value = 1 def roll(self): self.value = randrange(1,self.sides+1) def getValue(self): return self.value def getValue(sel...
2018-10-08 23:32:56 134
原创 6.基本程序结构
1.条件结构def main(): temperature = float(input('please input the temperature :')) if temperature > 50 : print('High') else: print('Low') if temperature > 50 and temperature < 100: pri...
2018-10-08 23:28:42 133
原创 5.定义函数
1.定义一个函数@ 定义函数def song(person): print('happy birthday to you, ',person + '.')@ 调用函数def main(): song('Li ming') print()@ 函数的定义如下def <name>(<formal-parameters>): <body>2....
2018-10-08 21:25:41 263
原创 4.序列:字符串、列表和文件
1.字符串的数据类型@ 1.字符串赋值a = 'string'a = &amp;quot;string&amp;quot;@ 2.字符串索引和切片a[0] @ = 's'a[-1] @ = 'g'@ 3.字符串切片a[0:2] @ = &amp;quot;str&amp;quot;a[:2] @ = &amp;quot;str&amp;quot;a[3:] @ =
2018-10-08 00:04:28 213
原创 3.对象和图形
1.简单的图形编程使用graphics库,将graphics.py与图形程序放在同一目录下,或者放在python库的系统目录下,以便任何程序都可以使用它。import graphics #导入库#from graphics import * win = graphics.GrapWin() #创建一个窗口,默认情况下为200x200win.close() #关闭窗口...
2018-09-30 16:04:27 175
原创 2.Python数值计算
1.数值数据类型python内置函数type()用于判断对象的类型 2.运算符操作符操作+加-减*乘/除**指数abs()绝对值//取整%取余在大多数情况下,对float的操作产生float,对int的操作产生int。大多数时候,我们甚至不必担心正在操作什么类型的操作。3.类型转换和舍入int() ...
2018-09-30 15:51:02 1083
原创 1.PYTHON基础
环境 https://ideone.com/XPZHIYdef main(): celsius = eval(input(&amp;amp;quot;What is the Celsius temperature?: &amp;amp;quot;)) fahrenheit = 9/5 * celsius + 32 print(&amp;amp;quot;The temperature is,&amp;amp;quot;fahre
2018-09-29 22:58:14 186
原创 OK6410移植UBOOT
u-boot-2013.04-rc1 在ok6410的移植1.解压tar -jxvf u-boot-2013.04-rc1.tar.bz22.删除不必要的文件/arch/下除arm /arch/arm/cpu/下除arm1176和uboot.lds/arch/arm/include/asm/arch-* 除 arch-64xx/board/下除samsung /bo...
2018-09-06 12:27:55 1711 4
原创 10.SLAM和导航
1. 为机器人配置TF1.1 变换配置许多ROS软件包都要使用TF软件功能包,以机器人识别的变换树的形式发布。抽象层面上,变换其实就是一种“偏移”(包括平移和旋转),代表了不同坐标系之间的变换和旋转。更具体点来说,设想一个简单的机器人,只有一个基本的移动机体和挂在机体上方的扫描仪。基于此,我们定义了两个坐标系:一个对应于机体中心点的坐标系,一个对应于扫描仪中心的坐标系。分别取名为“base_link
2017-04-24 17:38:23 2230
原创 9.ros_control
一个包含控制接口(controller interface)、控制器管理(controller manager)、传输(transmission)、硬件接口(hardware interface)和控制工具箱(control_toolbox)的软件包集。1.概述ros_control包重写了 pr2机器人包,使得控制器在所有机器人上通用(除了PR2) ros_control包作为来自你机器人的编
2017-04-24 15:03:58 814
原创 8.learningAction(行为库)3
在一些情况下,阻塞直到一个目标完成不会提供足够的灵活。相反的,基于事件运行或许需要更多场景。在以下例程中,提供如何使用回调来避免调用waitForResult()来阻塞用于目标完成。/*fibonacci_callback_client.cpp*/#include <ros/ros.h>#include <actionlib/client/simple_action_client.h>#inc
2017-04-24 14:33:08 274
原创 7.learningAction(行为库)2
1.使用目标回调方法(Goal Callback Method)编写一个简单的行为服务器开始编写行为前,先创建行为消息文件Averaging.action#goal definitionint32 samples---#result definitionfloat32 meanfloat32 std_dev---#feedbackint32 samplefloat32 dataf
2017-04-24 14:22:58 450
原创 6.learningAction(行为库)
1.创建行为消息开始编写行为之前,要先创建行为消息,即定义目标goal、结果result和反馈feedback。格式如下:#goal definitionint32 order---#result definitionint32[] sequence---#feedbackint32[] sequence为了使make进程中生成消息文件,需要在CMakeList.txt中添加以下几项:
2017-04-24 13:57:21 578
原创 learning-urdf-03
1.create modelsudo apt-get install liburdfdom-tools//安装urdf语法检查工具urdf_check urdf.file //检查urdf语法my_robot.urdf<robot name="test_robot"> <link name="link1"/> <link name="link2"/> <link name="li
2017-04-22 23:55:39 179
原创 learning-urdf-02
1.使用xacro简化urdf代码xacro相当于C语言中的#define用于替换一些常量,使得代码易读易改。 典型用法: rosrun xacro xacro model.xacro > model.urdf 也可以在启动文件中自动生成urdf<param name="robot_description" command="$(find xacro)/xacro '$(find pr2_des
2017-04-22 23:27:19 341
原创 learning-urdf-01
1.首先创建一个简单的模型创建01-myfirst.urdf文件<?xml version="1.0"?><robot name="myfirst"><link name="base_link"><visual><geometry><cylinder length="0.6" radius="0.2"/></geometry></visual></link></robot>查看这个
2017-04-22 23:09:11 219
原创 5.learningTF(2)
TF基本数据类型typetfQuaternion Quaternion Vector tf::Vector3 Pointtf::PointPose tf::PoseTransform tf::Transformtf::Stamped 模板//tf::Stamped 对上述数据类型做模板化(除了tf::Transform),并附带元素frame_id_和stamp_ 。temp
2017-04-19 15:19:38 677
原创 4.learningTF
安装一个小实例rosdep install turtle_tf rviz rosmake turtle_tf rviz roslaunch turtle_tf turtle_tf_demo.launch //打开一个新终端rosrun tf view_frames /*可以看到参考系之间的联系。三个节点分别是三个参考系,而/world是其他两个乌龟参考系的父参考系。还包含一些调试需要
2017-04-13 21:48:45 251
原创 3.搭建仿真环境
安装arbotix:sudo apt-get install-indigo-arbotixmkdir -p ~/catkin/srccd ~/catkin/srccatkin_init_workspacecd ..catkin_makecd srcgit clone https://github.com/pirobot/rbx1.git 运行roscore//打开一个新终端sou
2017-04-13 16:18:13 415
原创 2.在Ubuntu14.04中使用Eclipse开发ROS
1.安装Java8、Eclipse Neonsudo add-apt-repository ppa:webupd8team/javasudo apt-get updatesudo apt-get install oracle-java8-installer//sudo apt-get install oracle-java8-set-default//Eclips下载地址:http://ww
2017-04-13 14:43:23 352
原创 正则表达式
1.入门正则表达式(regular expression,简称regex)是一种工具,用于匹配和处理文本的字符串。 正则表达式并不是一种完备的程序设计语言,甚至算不上是一种能够直接安装并运行的程序。本文针对 [grep -P]1.1匹配单个字符匹配纯文本text : hello,world!!regex : hello output : hello匹配任意字符text
2017-04-10 00:23:47 252
原创 1.在Ubuntu中安装ROS Indigo
1.安装添加软件源sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'##国内mirror(下载速度快一点)sudo sh -c '. /etc/lsb-release && echo "deb http:
2017-04-09 17:38:23 346
原创 内核开发基础
1.构建linux系统 嵌入式系统一般包括硬件和软件两部分,其中硬件以一个高性能的处理器,通常是32为处理器为基础;软件是以一个多任务操作系统为基础的综合平台。 内核产品开发流程: 1.以开发商提供的EVM(评估)板为基础添加、修改、删除硬件,开发所需要的硬件。 2.Bootloader移植。将Bootloader移植到开发平台,使之能在平台上运行。 3.内核移植。
2017-04-09 01:56:55 2811
原创 Makefile整理
1. 基本规则target : 依赖 命令make会由上往下的找target,也就是说,第一个target是最终目标。找到第一个target后,make寻找target文件,如果target不存在,则寻找target的依赖,一般最终目标的依赖都是“.o”的中间文件。如果有“.o”的文件不存在,make会继续往下寻找以该“.o”作为target的行,依次往下寻找。 Makefile会自动的
2017-04-08 21:20:15 843
原创 Linux环境编程
1.进程1.1进程标志 #include <unistd>; pid_t getpid(void);//获得进程ID pid_t getppid(void);//获得父进程ID #include <unistd>; #include <sys/types.h>; uid_t getuid(void);//获得用户ID uid_t geteuid(v
2017-04-08 12:39:31 245
原创 Linux系统编程6.线程操作
编写的程序大多数可以看成是单线程的.就是程序是按照一定的顺序来执行.如果我们使用线程的话,程序就会在我们创建线成的地方分叉,变成两个”程序”在执行.粗略的看来好象和子进程差不多的,其实不然.子进程是通过拷贝父进程的地址空间来执行的.而线程是通过共享程序代码来执行的,讲的通俗一点就是线程的相同的代码会被执行几次.使用线程的好处是可以节省资源,由于线程是通过共享代码的,所以没有进程调度那么复杂。1.
2017-04-05 23:28:41 257
原创 Linux系统编程5.消息管理
Linux 下的进程通信(IPC) POSIX 无名信号量 System V 信号量 System V 消息队列 System V 共享内存1. POSIX无名信号量 PV操作是原子操作.也就是操作是不可以中断的,在一定的时间内,只能够有一个进程的代码在 CPU 上面执行.在系统当中,有时候为了顺利的使用和保护共享资源,提出了信号的概念. 假设使用一台打印机,如果在同
2017-04-05 14:40:28 422
原创 Linux系统编程4.信号处理
1. 信号产生Linux 下的信号可以类比于 DOS 下的 INT 或者是 Windows 下的事件。 在有一个信号发生的时候,相应的信号就会发送给相应的进程。Linux 下的信号有以下几个. 使用 kill -l命令 可以得到以下的输出结果:1) SIGHUP 2) SIGINT //中断CTRL+C3) SIGQUIT 4) SIGILL5) SIGTRAP 6) SIGABR
2017-04-05 14:18:12 350
原创 Linux系统编程3.时间概念
1. 时间表示使用date命令输出系统当前时间。#include <time.h>time_t time(time_t * tloc);char* ctime(const time_t *clock);/* time 函数返回从 1970 年 1 月 1 日 0 点以来的秒数.存储在 time_t 结构之中.不过这个函数的返回值对于我们来说没有什么实际意义.这个时候我们使用第二个函数
2017-04-03 18:43:08 207
原创 链表
#include "stdio.h"#include "stdlib.h"struct __chain{ struct __chain* next_ptr; struct __chain* pro_ptr; int chain_number; struct { unsigned char data_a; unsigne
2017-04-03 18:04:34 139
ds18b20搜索rom命令
2018-08-03
jdk-8u111-windows-i586.exe
2018-07-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人