自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 嵌入式开发环境搭建之ubuntu软件安装

#!/bin/sh#更新软件源sudo apt-get update -y#安装openglsudo apt-get install build-essential -y   sudo apt-get install libgl1-mesa-dev -y   sudo apt-get install libglu1-mesa-dev -ysudo apt-get install f...

2019-01-26 12:46:58 566

转载 linux内核调试

Unable to handle kernel paging request at virtual address 48000000 // 内核使用48000000来访问时发生了错误pgd = c3b4c000[48000000] *pgd=00000000Internal error: Oops: 805 [#1]Modules linked in: first_drv rt5370st...

2019-01-14 18:03:51 506

原创 将多个图片进行文字识别并将其合并成一个pdf文件

前提条件:1,安装ghostscripthttps://ghostscript.com/download/gsdnld.html2,安装wkhtmltopdfhttps://wkhtmltopdf.org/downloads.html3,pip安装PythonMagick下载地址: https://www.lfd.uci.edu/~gohlke/pythonlibs/将其拷贝到终...

2018-12-19 16:12:34 1525

原创 多个图片转化为一个pdf文件

前提准备条件:pip install PyMuPDFimport globimport fitzimport osdef pic2pdf(): doc = fitz.open( ) for img in sorted(glob.glob("pic2pdf/*")): assert isinstance(img, object) ...

2018-12-19 16:03:55 1167

原创 块设备驱动请求队列

 块设备驱动中请求队列中的各个组成部分。

2018-11-14 19:54:02 438

原创 (i2c ,spi,lcd,nandflash总线) core platform总线之间的关系

 (具体的控制器驱动(platform),以及内核封装函数(core)之间关系,设备驱动(driver))

2018-11-09 19:10:53 929

转载 终端、虚拟终端、shell、控制台、tty的区别

最近开始接触Linux,终端、虚拟终端、shell、控制台、tty等概念让我很混乱,有必要认识清楚。今天看到有人问终端和控制台的区别,而且这个问题比较有普遍性,因此想抽出一点时间来解释一下这两个术语的区别。终端,英文叫做terminal ,通常简称为term ,比如我们在X下的xterm.控制台,英文叫做console.要明白这两者的关系,还得从以前的多人使用的计算机开始。大...

2018-11-07 16:33:06 2539 1

转载 TTY终端的输入过程

TTY终端的输入过程=================1) 当用户按压键盘时, 键盘中断处理程序将经过转换的键盘功能码用tty_insert_flip_char()放入到当前打开终端的翻转缓冲区之中, 然后将缓冲区输出任务函数(flush_to_ldisc)添加到控制台任务队列(con_task_queue)并激活控制台软中断执行该任务函数. flush_to_ldisc()翻转读写缓冲区...

2018-11-07 16:29:20 2697

转载 udev机制四之udev源码

原文地址:mdev详解 作者:枫露清愁一、概述mdev是busybox提供的一个工具,用在嵌入式系统中,相当于简化版的udev,作用是在系统启动和热插拔或动态加载驱动程序时,自动创建设备节点。文件系统中的/dev目录下的设备节点都是由mdev创建的。在加载驱动过程中,根据驱动程序,在/dev下自动创建设备节点。以下内容摘自busybox-1.23.1的mdev.txt文件:Mdev ...

2018-11-06 11:16:44 1778

转载 udev机制三之实践

mdev是busybox自带的一个简化版的udev作用是在系统启动和热插拔 或动态加载驱动程序时,自动产生驱动程序所需的节点文件,在文件系统中的/dev目录下的设备节点都是由mdev创建的mdev扫描/sys/class和/sys/block中所有的类设备目录,如果在目录中含有名为"dev"的文件,且文件中包含的是设备号,则mdev就利用这些信息为这个设备在/dev下创建设备节点用法:...

2018-11-06 10:47:18 291

原创 udev机制一之udev原理

问题背景:用户插入U盘后需要自动打开U盘目录,但是发现U盘每次挂载点都不一样,测试两个U盘的挂载点分别是/media/sda1和/media/sda4,所以就需要了解一下linux的udev机制了  这应该是对udev和mdev的一个理解,我们下次可以再深入一些.dev 和mdev 是两个使用uevent 机制处理热插拔问题的用户空间程序,两者的实现机理不同。udev 是基于netlink...

2018-11-06 10:33:17 5814 1

转载 udev机制二之 mdev的使用以及mdev.conf的规则配置--busybox

mdev是busybox下的udev的精简版,适合在嵌入式系统下管理设备但mdev会把所有的设备文件都动态地创建在/dev/目录下,如果程序使用dev目录子目录下的设备,就必须修改程序,比较麻烦,当然也可以在mdev运行之后,手工创建子目录,然后再用 ln -s 做设备文件的软链接这里有人作出了更好的脚本处理机制:http://lists.busybox.net/pipermail/b...

2018-11-06 10:33:02 507

转载 platform的本质

  在学习驱动的过程中,学习过Platform、I2C、SPI、USB等总线架构,对于Platform总线的理解是在书藉(宋宝华的《Linux设备驱动详解》)上所述的“一个现实的Linux设备和驱动通常需要挂接在一种总线上,对于本身依附于PCI、USB、I2C、SPI等的设备而言,这自然不是问题。但是在嵌入式系统里面,在SOC系统中集成的独立控制器、挂接在SOC内存空间的外设等却不依附于此类总线。...

2018-11-03 17:25:16 312

转载 UBOOT的编译过程三之番外

uboot的makefile里面有两个all:第一个all:没有依赖,也没有命令。后面接的是两条includesinclude $(obj)include/autoconf.mk.depsinclude $(obj)include/autoconf.mk另外一个 all: $(ALL-y) $(SUBDIR_EXAMPLES)这个all才是我们真正需要执行的要理解这里的all ...

2018-11-03 13:20:43 163

原创 UBOOT的编译过程三

继续上代码OBJS = $(CPUDIR)/start.oifeq ($(CPU),i386)OBJS += $(CPUDIR)/start16.oOBJS += $(CPUDIR)/resetvec.oendififeq ($(CPU),ppc4xx)OBJS += $(CPUDIR)/resetvec.oendififeq ($(CPU),mpc85xx)OBJS +...

2018-11-03 13:12:58 433

原创 UBOOT的编译过程二之番外

解读autoconf.mk 与 autoconf.mk.dep 产生$(obj)include/autoconf.mk.dep: $(obj)include/config.h include/common.h @$(XECHO) Generating $@ ; \ set -e ; \ : Generate the dependancies ; \ $(CC) -x c -DDO_D...

2018-11-03 11:52:48 298

原创 UBOOT的编译过程二

#make all插讲:Makefile:在符合GNU Makefiel惯例的Makefile中,包含了一些基本的预先定义的操作:make:根据Makefile编译源代码,连接,生成目标文件,可执行文件。make clean:清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件。make install:将编译成功的可执行文件安装到系统目录中,一般...

2018-11-02 19:36:02 246

原创 UBOOT的编译过程一

#make tiny4412_config一切从顶层目录中的makefile 中开始寻找答案:%_config:: unconfig @$(MKCONFIG) -A $(@:_config=)其中%是通配符代表所有可能的字符当make 之后先执行unconfig:unconfig: @rm -f $(obj)include/config.h $(obj...

2018-11-02 19:23:01 7023

原创 基本的数据处理方法

在kalman滤波上再次对数据进行处理进一步使数据的杂点滤除,使用了概率算法。static float HaFilter(float Raw){#define MAXRAW 100    static short InitFlag=1;    static float RangeHits[MAXRAW]={0};    static float RangeVal[MAXRAW]={0}...

2018-11-02 11:12:19 351

原创 #pragma DATA_SECTION 中的区别

data_section有两种写法,写法如下 :一:c      #pragma DATA_SECTION(oddemo_rangeAzimuthHeatMap, ".l3data");       #pragma DATA_ALIGN(oddemo_rangeAzimuthHeatMap, 8);       float oddemo_rangeAzimuthHeatMap[ODDE...

2018-09-20 10:47:11 5131

原创 如何在mcu上使用printf使串口输出。

#ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf set to 'Yes') calls __io_putchar() */ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)...

2018-07-13 17:31:26 3675

原创 stm的自动生成代码环境搭建

今天没事就把以前用过的32环境整理一下发出来。1,通过keil官网下载相应的固件库文件http://www.keil.com/dd2/Pack/ 这是keil编程需要用到的库,根据芯片属性来下载相应的库。但我已经在pack文件中把相应的固件库已经下载下来了。 一般搭配cubemx来进行辅助编程。http://www.st.com/content/st_com/en/products/develop...

2018-07-13 11:02:33 593

原创 undefined reference to `image_print_contents_noindent'

mkimage.o: In function `main':/home/lucky/u-boot-mini2440/mini2440-dev-mini2440-stable-530af20/tools/mkimage.c:232: undefined reference to `image_print_contents_noindent'/home/lucky/u-boot-mini2440/...

2018-05-30 11:00:48 1450 2

原创 在Windows虚拟机中无法互ping问题处理

今天遇到一个很奇怪的问题,windows与ubuntu互ping是没有问题,今天却ping不通,所以今天把解决方法写下:我们先要了解一点知识点,就是vnet0,vnet1,vnet8这是三个不一样的虚拟网卡,第一个是用于桥接,第二个用于主机自己用,第三个用于net连接,也许有人还有很理解,一般桥接方式用于路由器连接,net连接是用于带有网线的连接,对于vnet1比较特别主要用于分配,关于网络配置由...

2018-05-29 17:51:41 841

原创 软件的整体性

      很多初学者在刚开始只知道不断写程序,而没有过多的去思考软件程序的架构,又或者它们都是在别人现有的架构上进行代码编写。我觉得还是学会一点代码层级思想挺特别重要:      对于嵌入式编程来说是更加重要。尤其是最近在换平台移植代码时体会更深:      大体上我将代码分为五个部分:一,硬件驱动层;二,功能模块层;三,应用接口层;四,业务逻辑层;五,应用层;硬件驱动层:       主要是对...

2018-05-25 18:42:42 425

原创 c语言编程规范

c语言编程规范:标识符只能由字母(a~z,A~Z)、数字(0~9)、下划线(_)组成,并且标识符的第一个字符必须是字母或下划线,不能以数字开头。变量的命名规范有很多种。但我们今天主要是讲解在Windows下开发软件,以及在Linux环境下,在Windows下开发软件许多人采用匈牙利命名法,而在Linux环境下,并不建议使用这种方法:Windows下常用命名规范:      

2018-01-02 11:26:25 243

原创 单片机ISP、IAP和ICP几种烧录方式的区别

单片机ISP、IAP和ICP几种烧录方式的区别玩单片机的都应该听说过这几个词。一直搞不太清楚他们之间的区别。今天查了资料后总结整理如下。ISP:In System Programing,在系统编程IAP:In applicating Programing,在应用编程ICP:In Circuit Programing,在电路编程ISP是指可以在板级上进行编程,也就是不用拆芯片下来

2017-12-18 18:26:01 904

翻译 VisualSVN Server的配置和使用方法【服务器端】

一、VisualSVN Server的配置和使用方法【服务器端】安装好VisualSVN Server后【安装过程看这里】,运行VisualSVN Server Manger,下面是启动界面: 好的,下面我来添加一个代码库【Repository】,如下图:按上图所示,创建新的代码库,在下图所示的文本框中输入代码库名称:  注意:上图中的CheckBox如果选

2017-12-05 11:13:57 1384

翻译 TotoiseSVN的基本使用方法

TotoiseSVN的基本使用方法TotoiseSVN的基本使用方法在 项目管理实践教程一、工欲善其事,必先利其器【Basic Tools】中,我已经讲解了怎样安装TortoiseSVN。在上面的讲解中已经讲了怎么使用VisualSVN Server了,今天我要讲的是,TortoiseSVN的简单使用方法。一、签入源代码到SVN服务器假如我们使用Visual Studi

2017-12-05 10:53:14 268

原创 C语言中指针与数组注意地方

今天主要讲解一个我做了这么久开发也会出现的一个问题,还是一个同事提醒了我。所以分享给大家。大家先看一下下面这个图片,有没有发现问题呢? 一开始我以为两个SPI_Data_Out是没有区别的。都是指针,一个是常量,一个是变量而已。没有太在意。如果有人单看SPI_Data_Out[0]这个有问题的话我觉得你C语言跟我一样差。相对于这两个指针而言这个数组操作没有问题。但问题出在哪呢?

2017-11-20 19:25:38 302

原创 SD卡的SPI模式的调试

最近已经调好了SD卡与自己的芯片的融合,总结遇到的问题以及解决方法。先是融合问题。这个很简单。以下文件在网上找一下一大堆。这是带有文件系统的必须有这些文件。红色必须要有,蓝色可选。主要是修改diskio.c文件来适应自己的开发板。            对于ffconf.h文件是选择性修改,不修改也不会影响你的程序,这个文件主要是针对文件系统的裁剪。之后就是对自

2017-11-09 11:48:03 2945 3

原创 source insight 4 安装及使用中的问题

对于破译网上很多,主要的使用中会出现的问题:出现:.There was an error creating project.。。。。。。出现问题大体原因:1.破译之后没有重启。                                    2.破译过程中没有断网。                                    3.工程文件与源文件不在一个目录下。

2017-10-20 17:40:16 3214 1

空空如也

空空如也

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

TA关注的人

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