- 博客(369)
- 资源 (26)
- 收藏
- 关注
原创 OpenOCD仿真uboot(二):imx6仿真方法
一、前言在arm嵌入式开发中,uboot作为bootloader是必须移植的。在基本了解u-boot同时也编译生成了u-boot后,如果是简单的应用,可以直接下载到sd或emmc中并在开发板上运行,能启动内核即可。如果对u-boot添加了一些较为复杂的代码,遇到问题时需要调试,如果只是单纯通过串口打印信息来调试非常不便,因此需要对程序进行在线调试。另外对于想深入了解uboot源码运行流程及实现的...
2020-01-09 10:01:45
1668
原创 OpenOCD仿真uboot(一):OpenOCD简介
OpenOCD官网从官网可以下载到OpenOCD的官方文档。OpenOCD全名叫做Open On-Chip Debugger ,即开源芯片在线调试器 ,旨在为嵌入式目标设备提供调试、系统内编程和边界扫描测试。一般来说,各个芯片都有其下载及仿真接口,大部分芯片MCU及SOC都支持常用的接口,比如JTAG或SWD等接口。通过这些接口仿真器可以访问芯片内部flash及ram或相关边界寄存器。如果某...
2020-01-09 09:49:50
1685
原创 BBB学习(二十一):开始把BBB用起来吧
通过前面所有关于BBB文章的介绍,你可以把BBB用起来啦你可以把BBB通过USB连接到你的电脑上,在虚拟机上的eclipse可以直接远程调试BBB程序。你可以设计自己的cape,并编写对应的dts。你已经具备了用BBB开发自己项目的基础,还等什么,快点用BBB做自己的项目吧。附:顺便给大家介绍一个好的BBB IO口的C++库,叫blacklib。地址:https://github.com...
2018-12-06 17:33:32
1243
1
原创 BBB学习(二十):cape介绍(三)bb.org-overlays使用简介
文章目录一、前言二、bb.org-overlays工程三、编辑dts文件四、编译并部署dtbo文件一、前言在前面cape介绍(一)文章中介意介绍了dts的基本语法结构,及简单分析了一个dts文件,其中主要是通过查表法配置相关引脚:查表:dallas_w1_pins: pinmux_dallas_w1_pins { pinctrl-single,pins = < 0x150 0...
2018-12-06 17:31:19
892
原创 BBB学习(十九):cape介绍(二)cape管理简介
文章目录一 前言二 介绍及操作2.1 cape的概念2.2 查看当前已加载dtbo2.3 手动加载dtbo2.4 开机自动加载默认dtbo2.5 根据实际cape加载dtbo2.5.1 查看cape上eeprom地址2.5.2 向eeprom写入信息一 前言前节简单介绍了devicetree的语法,以及通过查表法来配置device tree相关配置引脚,因此可以参考相关device tree来...
2018-12-06 17:28:41
1861
1
原创 BBB学习(十八):cape介绍(一)DeviceTree
文章目录一、前言二、 Device Tree介绍2.1 什么是device tree2.2 device tree文件2.3 device tree语法结构2.3.1 结点名称@单元地址2.3.2 结点属性3. BBB device tree实例3.1 BBB dts文件分析一、前言前节中,已经将整个eclipse在线调试BBB程序做了详细介绍,其实从上节开始,已经可以进行一定的应用程序编译及...
2018-12-06 17:27:05
1378
1
原创 BBB学习(十七):eclipse远程调试BBB程序
一、前言前节中主要介绍了编译虚拟机上主机gdb、编译可以BBB上运行的gdbserver、eclipse连接BBB的shell及文件系统,同时通过eclipse将gdbsesrver移植到BBB中,此时基本的调试的条件已经具备,可以通过在虚拟机主机中的eclipse与BBB进行联调,对程序的调试非常方便。二、eclipse新建工程在虚拟机主机中,打开eclipse新建C++工程:...
2018-08-04 15:05:15
1249
原创 BBB学习(十六):Ubuntu环境配置(5)-移植gdbserver到BBB
一、前言前文中,通过eclipse的remote systems可以连接到本地及BBB的文件系统,因此可以实现本地与BBB之间的文件交换,该交换可以用复制粘贴的形式完成,非常简单方便,本节以移植前文编译完成的gdbserver为例来说明该功能。二、移植gdbserver1. 本地文件系统中查找gdbserver通过前节可知,gdb的下载路径为/home/用户名/Downlo...
2018-08-04 10:38:00
631
原创 BBB学习(十五):Ubuntu环境配置(4)-eclipse连接BBB
一、前言在前节中已经具体讲了eclipse的安装及GDB及gdbserver的编译,本节之后将具体讲怎么用eclipse与BBB在线仿真调试程序。首先就是采用一种简单的方式将前节中编译好的gdbserver移植到BBB目标板中。二、eclipse终端连接BBBeclipse本身有和xshell及putty一样的工具,在winsdow->show view->Termin...
2018-07-11 12:01:15
635
原创 BBB学习(十 四 ):Ubuntu环境配置(3)-GDB及GDBserver的编译
一、前言通过前节安装eclipse及交叉编译器,使ubuntu上具备了基本的编程环境,但在实际编程中经常要在线debug程序,此时需要在BBB上安装GDBserver,同时在ubuntu下也要有针对BBB的GDB,此时虚拟机中的eclipse可以根据BBB上的GDBserver来建立在线调试环境。二、安装expat下载expat,下载的文件为expat-2.2.5.tar.bz2...
2018-07-10 09:37:21
2797
原创 BBB学习(十三):Ubuntu环境配置(2)eclipse安装
一、前言前节介绍了几个基本的工具,与在windows时使用类似,本节开始准备在BBB上进行程序开发时所用到的基本工具进行安装配置。二、安装eclipse在线安装JDK,在线安装的好处是输入命令即可以安装成功,省去了设置环境变量等复杂过程sudo apt-get install openjdk-8-jdk输入java -version可以查看java版本:下载ecli...
2018-05-17 16:22:49
673
原创 BBB学习(十二):Ubuntu环境配置(1)
一、前言安装好utuntu后,一些在Windows上对BBB的软件也可能要在Ubuntu用到,因此本节先介绍一些基本软件及安装及使用。二、BBB连接到虚拟机BBB连接到电脑时,VMware可以识别到硬件设备插入,此时连接到VMware上即可:三、ssh连接BBB在ubuntu中安装putty: sudo apt-get install putty安装完...
2018-05-17 16:14:25
912
原创 BBB学习(十一):VMware新建Ubuntu系统
一一、前言前文中所有对BBB的操作均是在windows系统下完成了,做为对BBB的入门是可以的,但一般开发程序时,均是在基于linux系统下进行,因此此后本文将介绍BBB在Ubuntu下的开发流程,首先要有虚拟机及ubuntu。二、工具虚拟机: VMware Workstation Player免费版ubuntu: 安装镜像(版本16.04,64位)三、安装安装VM...
2018-05-16 21:19:53
789
2
原创 BBB学习(十):操作BBB I2C接口
一、前言前文中介绍了普通IO口的使用以及引脚功能互查表的用法,主要想通过简单的IO操作熟悉BBB的使用流程,在BBB的接口中,还在一类功能复用的引脚,如I2C、spi等,本节通过介绍I2C的使用方法,希望能够加深对BBB引脚功能使用的理解。二 I2C-tool使用1. i2c-tool基本命令 i2cdetect -l //罗列出系统所有i2c接口...
2018-05-16 21:09:09
6514
原创 BBB学习(九):BBB引脚功能互查表的用法
一、前言前节介绍了BBB普通IO口的操作,同时也完成了程序对IO口输入状态的检测。实际上,BBB众多端口都是可以配置的,比如有的端口可以是普通IO口,同时它也可以是I2C接口。因此我们需要知道当前IO口是什么配置,同时如果需要配置我们要怎么配制才行,这就要用到BBB引脚功能互查表了。例如:https://elinux.org/Beagleboard:Cape_Expansion_Heade
2018-01-30 21:53:58
2765
原创 BBB学习(八):操作BBB普通IO口
一、前言在linux系统中,一切设备都是以文件形式存在,因此其有一个中心思想是“一切都是文件”(当然除了网络设备是用套接字方式之外)。在接下来的文章中会操作BBB相关硬件接口(gpio\i2c\spi等),此时对这个思想的理解会更深刻。每一个硬件接口在/dev或/sys/class下都有对应的文件,通过对该硬件接口的open\write\read实现对其的操作。本节将对BBB普通IO口进行
2018-01-30 21:35:24
10590
原创 BBB学习(七):Windows电脑通信调试(3):桌面
如果安装了debian系统安装包后,在BBB运行时有有类似于电脑桌面的,有的同学也习惯在有图形界面的电脑桌面对linux系统进行操作,因此需要介绍下如果可以看到BBB图形界面并进行操作,一般来讲,我们有以下几个方法可以看到桌面:1、通过VNC登陆BBB远程桌面VNC (Virtual Network Console)是一个可以进行远程控制的软件。如果BBB上安装远程桌面的server可
2018-01-30 21:33:26
1247
原创 BBB学习(六):Windows电脑通信调试(2):BBB连接网络
Debian和Ubuntu系统方便之处在于其有丰富的网络资源,只要连接上网络就可以通过apt-get install 命令安装相应软件。免去了单独下载相关软件编译安装的过程。但是其有一个前提条件是要连接得上网络,因此这里我们介绍下BBB连接网络的几种方法:一、网线这是最简单的方式,拿一根网线插到路由器上,就可以使BBB连接上网,不需要复杂的配置流程。二、通过USB与主机共
2018-01-30 21:28:46
2311
1
原创 BBB学习(五):Windows电脑通信调试(1):debug口
一、系统启动将前文制作的SD卡插入到BBB中,BBB上电之前,请按住S2按键(从SD卡启动),直到系统启动。如下图:二、连接终端一般在使用一个linux的系统,我们经常会用到终端Terminal,通过输入相应的命令来进行相关操作,从系统操作到编写程序都可以通过这个终端来进行,十分方便。而BBB也提供了这样的接口,有两种方式可以连接到终端:1、通过Micr
2017-12-14 18:58:45
2361
原创 BBB学习(四):SD卡安装系统镜像(2):系统镜像简析
一、问题如果做过嵌入式linux系统开发的童鞋可以知道,通常我们在开发嵌入式Linux时,如果要在SD卡上安装时要经过:SD卡格式化------>SD卡分区------->编译MLO、U-boot、Linux内核、根文件系统等等----->复制到SD卡------->插入SD卡并从SD卡启动。但在上一篇文章中我们可以知道,不需要这些流程,直接将官网系统.img文件用disk
2017-12-12 19:52:52
1550
原创 BBB学习(三):SD卡安装系统镜像(1):安装流程
BBB上电通过按键可以决定从SD卡启动,如果有系统就从SD卡启动,如果没有就从eMMC启动。因为BBB上已经有了4G的eMMc,里面出厂存有Angstrom linux,该系统是专门针对嵌入式的linux系统,因此为对一般用户而言,可以不需要SD卡就直接上电,BBB就可以正常启动和使用了。对于BBB支持的系统,常用的还有debian linux以及Android等等。对于我本人而言
2017-12-11 10:43:20
1965
原创 BBB学习(二):BBB介绍
一、BBB简介BBB全称为 BeagleBone Black,意思是BBB是BeagleBone系列版本中的黑色版本,是一款比较火的开源硬件,是一种卡片大小的嵌入式开发板,不论是玩底层开发还是linux开发都是极好的选择。最重要的,他的价格不贵,配置很高。和树莓派类似,BBB是一种卡片式电脑,与树莓派不同的是,BBB的硬件也是开源的,树莓派的芯片是BCM2837,博通的这款芯片是专
2017-12-07 17:13:11
5399
原创 BeagleBoneBlack学习(一):BBB相关文档及链接
1、软硬件文档原理图\pcb图\SRM:https://github.com/CircuitCo/BeagleBone-Black/archive/master.zipBBB引脚功能速查表:http://download.youkuaiyun.com/detail/b5w2p0/9768078AM335*-5000页芯片手册\datasheet:http://www.ti.com/product/...
2017-09-28 21:22:08
1983
原创 九度1522(OJ)有问题
只能通过第一个案例,不知道为什么。#include#include#include#include using namespace std; class mystack{ public: stack data; stack datamin; void mypush(int tmp){ if(data.empty()){
2015-08-05 08:54:22
607
原创 九度1391
//没有成功,暂时还没有找到问题所在/************************************************************** Problem: 1391 User: 星之河 Language: C++ Result: Presentation Error*************************************
2015-08-03 17:16:41
619
原创 九度OJ1521
#include#include#include//其实整个过程中比较简单但其中输出是个问题,最后不能有空格,可以设置全局变量,也可以设置反回值。typedef struct binarytree{ int m_nValue; binarytree *m_pLeft; binarytree *m_pRight;}BinaryTree; int num; v
2015-07-24 16:22:54
638
原创 九度1820
测试案例挺坑的。#include#includetypedef struct binarytree{ int m_nValue; binarytree *m_pLeft; binarytree *m_pRight;}BinaryTree;void CreateTree(BinaryTree *data[1002], int num);bool SearchBfromA(Bi
2015-07-21 14:02:57
652
转载 【STM库应用】stm32 之 TIM (详解二 脉冲宽度、周期测量)
昨天已经把这个研究出来了,但是由于该专利申请书,一直没有时间上传,今天补上! 今天主要是用TIM3进行PWM的输入模式,进行对矩形波的脉冲信号宽度以及其周期进行测量,先来看一幅图。 图1 TIM内部逻辑图 我们先来看看datasheet上是怎么说的: 该模式是输入捕获模式的一个特例,除下列区别外,操作与输入捕获模式相同: ● 两个ICx信号被映射至同一个TIx输入。 ● 这2个ICx
2015-07-13 17:01:10
14879
2
原创 九度1514
没有通过,不知道哪里有问题,VS2010// 9dutest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<stdio.h>#include<stdlib.h>#include<iostream>double power(double data, int num){ int j; double tmp = data;
2015-07-10 15:07:32
718
原创 九度1005
//此为1005题在VS2010上的编译,已经通过,提交到九度上要做相应的修改// 9dutest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include//#include>//关于程序的些许想法//法一对学生成绩进行排序,从高到低录取,学校配额减一//法二,按学校录取,对各个学校的第一志愿寻找进行排序,去除已经录取的学生以及各个学
2015-06-05 16:48:38
877
转载 平衡二叉树
平衡二叉树又称AVL树。它或者是颗空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。若将二叉树节点的平衡因子BF定义为该节点的左子树的深度减去它的右子树的深度,则平衡二叉树上所有节点的平衡因子只可能为-1,0,1.只要二叉树上有一个节点的平衡因子的绝对值大于1,那么这颗平衡二叉树就失去了平衡。假设我们已经有棵平衡二叉树,现在让我
2015-04-28 11:26:57
635
转载 完全二叉树与满二叉树与霍夫曼树
去笔试了很多次,每次都有有关于二叉树的题目,而且其中最多的是关于完全二叉树,然而完全二叉树在哥心中的形态一直很模糊,究其原因是我把完全二叉树和满二叉树搞混了。其实满二叉树是完全二叉树的特例,因为满二叉树已经满了,而完全并不代表满。所以形态你也应该想象出来了吧,满指的是出了叶子节点外每个节点都有两个孩子,而完全的含义则是最后一层没有满,并没有满。下面贴定义:满二叉树(Fu
2015-04-28 11:20:37
2505
转载 轻松搞定面试中的二叉树题目
版权所有,转载请注明出处,谢谢!http://blog.youkuaiyun.com/walkinginthewind/article/details/7518888树是一种比较重要的数据结构,尤其是二叉树。二叉树是一种特殊的树,在二叉树中每个节点最多有两个子节点,一般称为左子节点和右子节点(或左孩子和右孩子),并且二叉树的子树有左右之分,其次序不能任意颠倒。二叉树是递归定义的,因此,与二叉树
2015-04-27 21:51:16
676
转载 C/C++ const类型用法总结
const类型定义:指明变量或对象的值是不能被更新,引入目的是为了取代预编译指令 **************常量必须被初始化*************************cons的作用 (1)可以定义const常量 例如: const int Max=100; int Array[Max];
2015-04-25 15:54:09
654
转载 struct和typedef struct彻底明白了
分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明) 这里的Stu实际上就是
2015-04-25 15:29:49
616
转载 “浅拷贝”与“深拷贝”
C++中对象的复制就如同“克隆”,用一个已有的对象快速地复制出多个完全相同的对象。一般而言,以下三种情况都会使用到对象的复制:(1)建立一个新对象,并用另一个同类的已有对象对新对象进行初始化,例如:[cpp] view plaincopyclass Rect { private: int width; int height; }; R
2015-04-22 19:43:40
791
转载 代码坏味道与启发--《代码整洁之道》总结
注释C1.不恰当的注释让不恰当的注释保存到源代码控制系统。C2.废弃的注释过时、无关或不正确的注释就是废弃的注释不应该保留必须马上删除。C3.冗余的注释注释应该谈及代码自身没提到的东西,否则就是冗余的。C4.糟糕的注释值得编写的注释必须正确写出最好的注释,如果不是就不要写。C5.注释掉的代码注释掉的代码必须删除。环境E1.需要多步才能实现的构建构
2015-04-18 16:19:01
646
转载 笔记:代码整洁之道
命名: 1、有意义,名副其实:降低代码的模糊度,明确说明代码的用途; 2、避免误导:accountList的类型最好就是List; 3、避免使用多个不同之处较小的名称; 4、避免使用字母l和O,因为它们像数字1和0; 5、做有意义的区分,只有意义不同时才使用不同的名字;
2015-04-18 16:11:32
561
转载 PHP中MySQL、MySQLi和PDO的用法和区别
MySQL 是 PHP 操作 MySQL 数据库最原始的 Extension。MySQLi 的 i 代表 Improvement ,提供了相对进阶的功能,就 Extension 而言,本身也增加了安全性。而 PDO(PHP Data Object)则是提供了一个 Abstraction Layer 来操作数据库,光从理论上看不出来有什么差别,所以就直接看代码吧。 首先,先来看一段用
2015-04-16 11:18:39
693
转载 STM32输入捕获简介
输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器,除了TIM6和TIM7,其他定时器都有输入捕获功能。STM32的输入捕获,简单的说就是通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存(TIMx_CCRx)里面,完成一次捕获。同时还可以配置捕获时是否触发中断/DMA 等.
2015-03-26 21:47:03
2273
BBB引脚功能速查表
2017-03-02
艾海舟 数字图像处理源代码
2013-07-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人